martedì 28 aprile 2015

SSH Pam Fun

Come già raccontavo nel post "Raspberry pi: two factor authentication", l'utilizzo dei Pluggable Authentication Module consente di affinare la fase di autenticazione.
Ben presto mi sono accorto che il dover inserire sempre un doppio codice (password e codice d'accesso), sebbene renda la connessione ssh più resistente al brute force, si può dire superfluo (e anche un po' fastidioso) quando si accede da postazione "sicura" (es: macchina locale).

Pam_access.so

Questo modulo consente di regolare l'accesso basandosi su login, indirizzo ip di provenienza, dominio ecc. Di norma le regole vengono prese dal file /etc/security/access.conf ma è possibile indicare un percorso differente tramite il parametro accessfile.
Nel file si definiscono, quindi, le regole per l'accesso. Se per ipotesi volessimo l'accesso consentito solo alla rete locale, la regola sarebbe:

debe@raspberrypi /etc/pam.d $ cat /etc/security/access-local.conf
# only allow from local IP range
+ : ALL : 192.168.1.0/24
+ : ALL : LOCAL
- : ALL : ALL
A questo punto se configurassi pam_access.so in /etc/pam.d/ssh come required mi troverei con ssh accessibile solo da rete locale. Ma quello che voglio io è bypassare il modulo di google nel caso pam_access.so abbia successo (cioè ci sia un match con le regole).
Ecco quindi la riga completa:
auth    [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf
auth       required     pam_google_authenticator.so
Fra parentesi quadre si vede che in caso di successo, si indica al sistema di "saltare" il successivo passo (quello del Google authenticator). In tutti gli altri casi, il modulo e' ignorato.

Nessun commento:

Posta un commento