Configurare SSH con l’autenticazione a due fattori
L’amministrazione dei server Linux è da sempre affidata al servizio ssh che per questo è in cima alle classifiche dei tentativi di attacco brute force.
Un buon sistema per ridurre questi attacchi consiste nel cambiare la porta su cui gira o mettere sistemi di controllo come il fail2ban.
Ma se avete la necessità di lasciarlo aperto, un sistema interessante è affiancarlo alla 2FA, ovvero alla Two Factor Authenticaion, molto in voga ormai su qualsiasi servizio di autenticazione.
Vediamo come attivarlo su una semplice installazione Ubuntu. Per prima cosa installiamo i pacchetti necessari
# apt install libpam-google-authenticator
# nano /etc/pam.d/sshd
auth required pam_google_authenticator.so
# nano /etc/ssh/sshd_config
ChallengeResponseAuthentication yes # CHANGE THIS TO YES
# systemctl restart sshd.service
A questo punto possiamo provare a connetterci via ssh dal nostro client al nostro server e lanciare il Google Authenticator sul nostro dispositivo personale:
Acquisendolo sul nostro dispositivo avremo:
Your new secret key is: 24NKLVCTJHHMP4AYJGJ3GWITOU
Your verification code is 221396
Your emergency scratch codes are:
49132730
30206770
52399401
51900526
01237112
# ssh root@192.168.1.20
Password:
Verification code:
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-74-generic x86_64)
Da un client Windows come Winscp invece avremo:
Il sistema è semplice da attivare e aggiunge un ulteriore layer di sicurezza alla semplice password.