<< Revenir à l'accueil

Sécuriser un Serveur

Posté le 18/03/2021

Voici quelques manipulations à faire pour sécuriser un serveur Debian/Ubuntu après l'installation du système:

Mettre à jour le serveur

apt update && apt-upgrade

Ajouter un nouvel utilisateur

adduser username

Modifier le mot de passe root

passwd

Désactiver le login en tant que root

Editez le fichier:

/etc/ssh/sshd_config

Remplacez la ligne "PermitRootLogin yes" par "PermitRootLogin no"

systemctl restart ssh

IPTABLES

Vérifier que vous êtes bien en INPUT ACCEPT :

iptables -L

Si vous n’avez pas la ligne suivante : "Chain INPUT (policy ACCEPT)" alors utilisez cette commande :

iptables -t filter -P INPUT ACCEPT

Purger les règles existantes :

iptables -F

Garder les connexions actuelles (pour éviter de perdre sa connexion ssh actuelle lors de la prochaine commande)

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Autoriser le loopback :

iptables -A INPUT -i lo -j ACCEPT

On indique que par défaut on refuse n’importe quelle connexion en entrée :

iptables -P INPUT DROP

On autorise les connexions ssh (sur le port 22) :

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

On autorise les connexions web (ports 80 et 443), si nécessaire:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Ces règles ne sont active que jusqu'au redémarrage du serveur. Pour les rendre permanente, voici comment procéder:

apt install -y iptables-persistent
service iptables-persistent start
iptables-save > /etc/iptables/rules.v4
service iptables-persistent restart

(il faudra rejouer les deux dernieres lignes à chaque modification de la configuration iptables)

FAIL2BAN

Installez Fail2ban:

apt install fail2ban

Editez le fichier de conf:

/etc/fail2ban/jail.conf

Vous y trouverez une section réservée au ssh, éditez la comme ceci:

[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3