Sécurisation d'un VPS sous Debian 10
Mise à jour
Il est important de mettre à jour régulièrement Debian.
apt update && apt upgrade -y
Accès SSH
On gère ensuite la connexion SSH.
On génère une clé SSH.
ssh-keygen
On rentre un passphrase.
On copie ensuite le contenu de la clé privée dans notre outil de connexion SSH (PuTTY par exemple).
cat ~/.ssh/id_rsa.pub
On peut également le faire à l'aide de PuTTYgen.
On copie le contenu de la clé dans le fichier /home/$USER/.ssh/authorized_keys.
On rentre une passphrase, on clique sur "Save Private Key".
On modifie ensuite le fichier de configuration sshd.
nano /etc/ssh/sshd_config
On modifie également le port SSH.
Fail2ban
On installe fail2ban pour éviter les attaques via SSH.
apt install fail2ban
Pare-feu
On installe iptables.
apt install iptables
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 2022 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT
iptables -A INPUT -j DROP
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -p tcp --dport 2022 -m state --state NEW -j ACCEPT
ip6tables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
ip6tables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
ip6tables -A INPUT -p ICMPV6 --icmpv6-type 8 -j ACCEPT
ip6tables -A INPUT -j DROP
apt install iptables-persistent
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
Pour ajouter une règle à la ligne 7 :
iptables -I INPUT 7 -p tcp -m tcp --dport 3000 -j ACCEPT