
Portez la sécurité par l'obscurité au niveau supérieur (c'est une mauvaise idée, ne l'utilisez pas vraiment, s'il vous plaît).
Certaines personnes changent leur port SSH sur leurs serveurs pour qu'il soit légèrement plus difficile à trouver pour les bots ou autres nuisibles, et bien que cela soit généralement considéré comme une action de sécurité par l'obscurité, cela fonctionne très bien pour éliminer une grande partie des connexions automatisées que l'on voit toujours dans /var/log/auth.log.
Cependant, et si nous pouvions pousser cela à un niveau ridicule ? Et si nous pouvions utiliser des codes TOTP, normalement utilisés comme codes de second facteur pour se connecter à des sites web, pour réellement connaître le port sur lequel le serveur sshd écoute ?
Pour cela, je présente totp-ssh-flux, un moyen de garantir que votre port sshd change toutes les 30 secondes, causant peut-être à vos adversaires une petite période de frustration.
Démo :

Ce que vous voyez ici est mon téléphone (utilisant un client TOTP générique) générant des codes que je peux ensuite utiliser comme port pour me connecter en SSH à un serveur.
Le logiciel derrière tout cela est assez simple. Il s'exécute dans une boucle qui fait ce qui suit :
L'astuce est que, comme cela se fait dans PREROUTING, même si le code expire, les connexions établies restent connectées.
Au moment de la rédaction, le projet est juste un fichier unique. Vous devrez installer golang, puis go get et go build.
Exécutez le programme en tant que root (il le faut, désolé, il modifie iptables).
Lors de la première exécution, le programme générera un jeton pour l'hôte dans /etc/ssh-flux-key (vous pouvez utiliser l'option -keypath pour le changer) et vous pouvez saisir ce jeton dans votre téléphone ou d'autres clients.
Vous pouvez confirmer que cela fonctionne en exécutant watch iptables -vL -t nat et en attendant que les règles iptables soient insérées et supprimées.
Vous voulez voir plus de folies de ce genre ? Suivez-moi sur Twitter @benjojo12