L’idée de départ était de modifier le port d’écoute du ssh (Secure SHell) « port 22 » pour mettre, par exemple, 6721 et interdire la connexion en « root », soit:
vi /etc/ssh/sshd_config
Et modifier les 2 linges suivantes « Port 22 » et « PermitRootLogin yes » comme suit:
Port 6721 PermitRootLogin no
Vous pouvez vérifier avec la commande suivante:
grep Port /etc/ssh/sshd_config #Port 22 Port 6721
Un ami, Emile C., pour ne pas le nommé m’a dit:
puisque tu te connectes toujours du même pc local et du même pc distant, pourquoi ne ferais-tu pas un double ssh avec restriction sur ip?
C’est donc parti pour un double ssh.
– On va créer un lien symbolique appelé « sshd_exterieur »
– Créer un fichier de configuration appelé « sshd_config_exterieur »
– Modifier ce fichier de configuration.
ln -s /usr/sbin/sshd /usr/sbin/sshd_exterieur cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_exterieur vi /etc/ssh/sshd_config_exterieur
Mettre le port à 6722 et « UsePAM no »
Voyons les différences entre les deux fichiers:
sdiff -s sshd_config sshd_config_exterieur Port 6721 | Port 6722 UsePAM yes | UsePAM no
– pour un démarrage lors du boot! Dans /etc/rc.local ajouter ceci :
/usr/sbin/sshd_exterieur -f /etc/ssh/sshd_config_exterieur 2>&1
Modifiez votre iptables pour accepter les deux connexions.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6721 --source 192.168.1.21 -j ACCEPT #adaptez avec votre ip locale -A INPUT -p tcp -m state --state NEW -m tcp --dport 6722 --source 88.224.XXX.XX -j ACCEPT #adaptez avec votre ip distante
– Ajouter un service sshd_exterieur surveillé par logwatch tous les jours :
/usr/share/logwatch/default.conf/services/sshd_exterieur.conf /usr/share/logwatch/scripts/services/sshd_exterieur
– Rebootez votre serveur et vérifier avec la commande suivante:
ps -ef | grep sshd | grep -v grep
Pensez aussi à modifier votre routeur! 🙂
Merci Emile C.!
