À ce jour, vous avez probablement changé votre port SSH par défaut. Pourtant, les pirates peuvent facilement analyser les plages de ports pour découvrir ce port - mais avec le détournement de port, vous pouvez tromper les scanners de port. Comment cela fonctionne est que votre client SSH tente de se connecter à une séquence de ports, qui refusent tous votre connexion, mais déverrouillent un port spécifié qui autorise votre connexion. Très sécurisé et simple à installer. Le détournement de port est l'un des meilleurs moyens de protéger votre serveur contre les tentatives de connexion SSH non autorisées.
Cet article vous apprendra comment configurer le détournement de port. Il a été écrit pour Debian 7 (Wheezy), mais peut également fonctionner sur d'autres versions de Debian et Ubuntu.
Étape 1: installation des packages requis
Je suppose que vous avez déjà installé un serveur SSH. Si ce n'est pas le cas, exécutez les commandes suivantes en tant que root:
apt-get update
apt-get install openssh-server
apt-get install knockd
Ensuite, installez iptables.
apt-get install iptables
Il n'y a pas beaucoup de packages à installer - c'est ce qui en fait la solution parfaite pour se protéger contre les tentatives de force brute tout en étant facile à configurer.
Étape 2: Configurer iptables pour utiliser cette fonctionnalité
Parce que votre port SSH se fermera après votre connexion, nous devons nous assurer que le serveur vous permet de rester connecté tout en bloquant les autres tentatives de connexion. Exécutez ces commandes sur votre serveur en tant que root.
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
apt-get install iptables-persistent
iptables-save
Cela permettra aux connexions existantes de rester, mais bloquera toute autre chose sur votre port SSH.
Maintenant, configurons knockd.
C'est là que la magie opère - vous pourrez choisir quels ports devront être supprimés au début. Ouvrez un éditeur de texte dans le fichier /etc/knockd.conf.
nano /etc/knockd.conf
Il y aura une section qui ressemble au bloc suivant.
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
Dans cette section, vous pourrez modifier la séquence des ports qui doivent être supprimés. Pour l'instant, nous resterons avec les ports 7000, 8000 et 9000. Changez le seq_timeout = 5pour seq_timeout = 10et pour la closeSSHsection, faites de même pour la seq_timeoutligne. Il y a aussi une ligne de séquence dans la closeSSHsection que vous devez également modifier.
Nous devons activer knockd, alors ouvrez à nouveau votre éditeur en tant que root.
nano /etc/default/knockd
Remplacez le 0 de la section START_KNOCKDpar 1, puis enregistrez et quittez.
Maintenant, commencez à frapper:
service knockd start
Génial! Tout est installé. Si vous vous déconnectez de votre serveur, vous devrez supprimer les ports 7000, 8000 et 9000 pour vous reconnecter.
Étape 3: Essayons
Si tout a été installé correctement, vous ne devriez pas pouvoir vous connecter à votre serveur SSH.
Vous pouvez tester le détournement de port avec un client Telnet.
Les utilisateurs de Windows peuvent lancer telnet à partir de l'invite de commande. Si telnet n'est pas installé, accédez à la section "Programmes" du Panneau de configuration, puis recherchez "Activer ou désactiver les fonctionnalités Windows". Dans le panneau des fonctionnalités, localisez «Client Telnet» et activez-le.
Dans votre terminal / invite de commande, tapez:
telnet youripaddress 7000
telnet youripaddress 8000
telnet youripaddress 9000
Faites tout cela en dix secondes, car c'est la limite imposée dans la configuration. Maintenant, essayez de vous connecter à votre serveur via SSH. Il sera accessible.
Pour fermer le serveur SSH, exécutez les commandes dans l'ordre inverse.
telnet youripaddress 9000
telnet youripaddress 8000
telnet youripaddress 7000
Conclusion
La meilleure partie de l'utilisation du détournement de port est que s'il est configuré à côté de l'authentification par clé privée, il n'y a pratiquement aucune chance que quelqu'un d'autre puisse entrer à moins que quelqu'un ne connaisse les ports et la clé privée.