Documentation

Ou plutot aide mémoire.

C'est une sorte de bloc-note public, ou je décris avec plus ou moins de rigueur les procédures que j'ai mises en place et qui sont suffisamment longues ou complexes pour je veuille les détailler quelque part.

Documentation > Installation minimale d'un serveur SSH

SSH permet d'avoir accès à une console sur une machine distante, pour effectuer des opérations d'administration (ou dans certains cas plus rares, graver un CD à maman chérie alors qu'on est en déplacement ...[1]).
Nous allons voir ici comment mettre rapidement en place SSH sur un serveur avant de l'abandonner lâchement dans un datacenter, ou pire, dans un placard !

Installation du serveur

Rien de plus simple :

# apt-get install openssh-server

On peut déjà se connecter au serveur, mais c'est n'est pas très sécurisé pour l'instant.
On va donc corriger tout ça en configurant SSH, et en installant fail2ban.

Configuration de SSH

Le fichier de configuration de SSH se trouve dans /etc/ssh/sshd_config, un petit coup de :

# nano /etc/ssh/sshd_config

Et on va éditer les lignes suivantes

Port 2222
PermitRootLogin no
AllowUsers nom_d_utilisateur

Maintenant que le port par défaut à été changé[2], et que l'on ne peut plus se connecter en root, mais uniquement avec les utilisateurs déclarés dans le fichier de configuration, c'est un peu mieux mais ça pourrait l'être encore plus !

Installation de Fail2Ban et configuration

On installe fail2ban :

# apt-get install fail2ban

Puis on édite le fichiers /etc/fail2ban/jail.conf :

# nano /etc/fail2ban/jail.conf

Il faut activer la surveillance de fail2ban, qui va scruter les logs pour bannir les IPs suspectes :

[ssh]

enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

Ainsi, il suffit qu'une même IP tente de se connecter 6 fois avec un mauvais mot de passe pour qu'elle soit bannie pendant 10 minutes (600 secondes dans le fichier de configuration, les paramètres par défaut)
Pour des paramètres plus avancés je vous laisse consulter le man.

Conclusion

Il s'agit de la manière la plus rapide et la plus simple pour mettre en place un serveur SSH un minimum protégé contre les attaques de bots et de bruteforce.
Il est possible de renforcer encore la sécurité avec l'utilisation de certificats pour la connexion, mais ça, c'est une autre histoire !


[1] Véridique ...
[2] Vous pouvez bien sûr mettre un autre port que le 2222 mais le but du jeu est que vous vous en souveniez hein !