mardi 18 juin 2013

[TUTO] Sécurisez votre connection SSH

Une connexion SSH digne de ce nom!


On va voir étape par étape comment sécuriser votre connexion SSH. Le but est de sortir de l'ordinaire.
Fini le port 22, fini l’accès root.
Bah ouai! Par défaut, votre connexion SSH se fait avec le user root sur le port 22! Les pirates raffolent de ces cas là surtout lorsque le serveur héberge des sites à forte fréquentation.
En effet il leur suffit de créer un petit script qui va boucler en essayant divers mot de passe.
Vous connaissez les conséquences si la connexion devait aboutir (pertes de données, divulgations de données sensibles, instabilité du système, implantation d'un virus sous n'importe quelle forme).

22 V'là les emmerdes!

 

Le numéro de port doit être compris entre 0 et 65535. Dans cet exemple on va utiliser le......
..........................................
Roulement de tambours..........
..........................................
60149!!
Première étape : éditer le fichier de configuration SSH (en root bien-sur)
vim /etc/ssh/sshd_config

On va chercher la ligne faisant référence au numéro de port qui est normalement commentée car par défaut et on modifie :
Port 60149


Hopla, voilà une bonne chose de faite car le pirate va maintenant penser que la connexion pourrait aboutir sur le port 22 alors qu'elle se fait maintenant sur le 60149. Mais rien n'est encore joué...

ROOT barrée


Toujours dans notre fichier sshd_config on va chercher la ligne :
#PermitRootLogin no
...qu'il va falloir dé-commenter en supprimant le "#" en début de ligne.

Maintenant il va falloir utiliser un autre user pour se connecter. Je vous laisse libre choix, vous devez créer un utilisateur Linux avec un nom étrange! Je suis sur que vous allez vous montrer créatif à ce sujet ^^.
Prenons spongeBob pour nos tests.

On ajoute l'utilisateur :
adduser spongeBob
On lui attribut un mot de passe :
passwd spongeBob

Maintenant il nous reste à dire à SSH de n'autoriser les connexions qu'à partir de spongeBob
On ré-ouvre notre fichier de configuration SSH comme ci-dessus et on ajoute la ligne:
AllowUsers spongeBob

Application des changements


Après avoir tout vérifié, et re re re re re vérifié on redémarre SSH.
!attention : notez vos nouveaux identifiants quelques part, si vous les oubliez, la connexion sera définitivement fermée et il ne vous restera plus qu'a réinstaller votre serveur.

On redémarre le service :
/etc/rc.d/init.d/sshd restart


Par précaution on va dire au par-feu d'autoriser le nouveau port :
iptables -t filter -A INPUT -p tcp --dport 60149-j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 60149-j ACCEPT

 

Test de routine


Maintenant que tout est fait, il ne vous reste plus qu'à fermer votre connexion SSH et à relancer une connexion avec les nouveaux identifiants sur le port 60149.
Pour ceux qui ont foiré l'exercice en beauté et qui n'ont plus accès ni en root ni en spongeBob sur le port 22 ou 60149 => Nous déclinons toutes responsabilités en cas de poursuite :)