
Porta la sicurezza per oscurità al livello successivo (questa è una brutta idea, per favore non usarla davvero)
Alcune persone cambiano la porta SSH sui loro server per renderla leggermente più difficile da trovare per bot o altri malintenzionati, e sebbene questa sia generalmente vista come un'azione di sicurezza tramite oscuramento, funziona molto bene per eliminare molti dei login automatici che si vedono sempre in /var/log/auth.log.
Tuttavia, cosa succederebbe se potessimo portare questo concetto a un livello ridicolo? Cosa succederebbe se potessimo usare i codici TOTP, normalmente usati come secondo fattore per accedere ai siti web, per sapere effettivamente su quale porta è in ascolto il demone sshd?
A questo scopo, presento totp-ssh-flux, un modo per garantire che la porta sshd cambi ogni 30 secondi, causando ai tuoi avversari un piccolo momento di frustrazione.
Demo:

Quello che vedi qui è il mio telefono (che utilizza un client TOTP generico) che genera codici, che posso quindi usare come porta per connettermi via SSH a un server.
Il software dietro è piuttosto semplice. Viene eseguito in un ciclo che fa quanto segue:
La cosa interessante è che, poiché ciò viene fatto in PREROUTING, anche se il codice scade, le connessioni stabilite rimangono attive.
Al momento della scrittura il progetto è composto da un unico file. Dovrai installare golang e poi eseguire go get e go build.
Esegui il programma come root (è necessario, mi dispiace, perché modifica iptables).
Al primo avvio, il programma genererà un token per l'host in /etc/ssh-flux-key (puoi usare l'opzione -keypath per cambiarlo) e potrai inserirlo nel tuo telefono o in altri client.
Puoi verificare che funzioni eseguendo watch iptables -vL -t nat e osservando le regole iptables che vengono inserite e rimosse.
Vuoi vedere altre follie come questa? Seguimi su Twitter @benjojo12