Sommario Esercitazione 04 Angelo Di Iorio! S/Key! Descrizione esercitazione! Alcuni sistemi S/Key-aware " Windows " Linux!"#!$#!%&'$(%)*+,')#$-!"#!$#!%&'$(%)*+,')#$- ).+/&'(+%!0 ).+/&'(+%!0 *+$1,",2.! *+$1,",2.! 2 S/Key: intro! S/Key è un sistema one-time-password inizialmente sviluppato in ambiente Unix! S/Key è un marchio della Telcordia Technologies, nuovo nome della Bell Communication Research (Bellcore)! Esistono implementazioni per Linux (via PAM), FreeBSD, OpenBSD or Windows! Il modulo S/Key viene usato per abilitare questo tipo di autenticazione su servizi FTP, NNTP, SSH, etc.! Inizializzazione del sistema " S = prepare(passphrase, seed) S/Key: funzionamento di base " Il sistema memorizza il valore f^n(s)! i-esima autenticazione (i > 0) " Il sistema presenta la challenge <seed, i> " Il client calcola il response R come segue! S = prepare(passphrase, seed)! R = f^(n i)(s) " Il sistema verifica il response! Se f(r) fa match con il valore memorizzato, allora l autenticazione ha avuto successo ed R rimpiazza il valore attualmente memorizzato! Altrimenti, l autenticazione non ha avuto successo
Esercitazione Descrizione generale Esercitazione Requisiti del servizio! Lo studente installa sulla propria macchina un servizio con autenticazione S/Key! Riceve una coppia <username,password>! Configura il server per permettere l accesso all utente <username> via S/Key! Supera la fase di autenticazione S/Key e accede al servizio! Qualunque tipo: " Login " server ftp " server ssh! Supporto per autenticazione S/Key! Presenza di log (serviranno per il report finale)! Client testuale, e.g., Esercitazione Requisiti del client " Comando ssh per server ssh " Comando ftp per server ftp Esercitazione Requisiti per username e password! http://labsicurezza.nws.cs.unibo.it/cgibin/esercitazione04/index.php! Compilare la form " Nome, cognome, matricola (10 cifre) " Username del dominio cs.unibo.it! In risposta si riceve all indirizzo di cs.unibo.it una mail di conferma con " I dati inseriti " Uno username e una password generati casualmente " [Laboratorio Sicurezza 2008/09: Esercitazione 04]: Mail di conferma per Cognome Nome Matricola! Mail inviata in copia anche al tutor
Esercitazione Cosa inserire nel report! Una copia della mail ricevuta! Log del server che dimostrano la riuscita autenticazione " Relativi allo username ottenuto nella mail di conferma " Comprensivi della challenge fornita dal server! Se non presente nei log, la challenge del server! Il response Esercitazione Esempio in Windows! Scaricare un server FTP S/Key enabled e configurarlo " Secure FTP Server! http://www.cuteftp.com/! Free trial version! Console di amministrazione grafica " Server-U (free trial)! Client ftp " ftp a linea di comando " Nota, abilitare il command line interpreter (cmd)! Win S/Key calculator: " Winkey: http://security.fi.infn.it/tools/opie/winkey32.exe! Web S/Key calculator: http://www.cs.umd.edu/~harry/jotp/ Esercitazione Esempio in linux! Configurazione del servizio SSH " OPIE! PAM (1/5)! Pluggable Authentication Modules for Linux! Framework per rendere le applicazioni indipendenti dai meccanismi di autenticazione! Politiche di autenticazione per i vari servizi settate via file di configurazione PAM! Autenticazione eseguita da moduli caricati dinamicamente! L API PAM si divide in 4 differenti facilities " Account Management: disponibilità di un account " Authentication: l effettiva procedura di autenticazione e la gestione dei permessi " Session Management, apertura e chiusura di una sessione " Password Management, procedure per cambiare password
(2/5) (3/5) Applicazione PAM-aware PAM API File di config. Kerberos Opie Unix auth.! Directory di configurazione " /etc/pam.d/ " Ogni file contiene le regole di configurazione di un servizio! Regole di configurazione " Per ogni servizio ci possono essere più regole " Ogni regola indica! il modulo PAM da utilizzare per una data facility! Politica di gestione del modulo " L ordine delle regole è importante:! Per ogni facility i relativi moduli sono eseguiti in ordine (4/5) (5/5)! Direttive per la configurazione per uno stesso servizio e caricamento dei moduli: #%PAM-1.0 auth sufficient pam_myauthmod.so auth required pam_unix.so account required pam_unix.so password required pam_unix.so session required pam_unix.so! Alcuni servizi PAM-aware " sshd, server ssh " proftpd, server ftp " wu-ftpd, server ftp
Esercitazione Esempio in linux OPIE (1/2)! One-Time-Password in Everything! Schema di autenticazione derivato da S/Key! Per renderlo disponibile in PAM (debian) " opie-server: mette a disposizione le utility per la gestione lato server delle OTP! opiepasswd! opieinfo " opie-client: utility per la generazione di OTP da usare per l autenticazione! opiekey " libpam-opie: pacchetto per l utilizzo di OPIE via PAM Esercitazione Esempio in linux OPIE (2/2)! Lato server " opiepasswd inizializza l autenticazione OTP per un utente! Passphrase! Username! Sequence number (default 499) " opieinfo fornisce informazioni sul prossimo login OPIE! Sequence number! Seed! Lato client " opiekey calcola il response associato ad una challenge! Passphrase! Sequence number! seed Esercitazione Esempio in linux Configurazione SSH Riferimenti! Nel file /etc/pam.d/ssh " Commentare le eventuali regole per la facility auth " Aggiungere una regola del tipo:! auth required pam_opie.so! Il modulo specificato permette l autenticazione OPIE! Nel file di configurazione di sshd (/etc/ssh/sshd_config) " ChallengeResponseAuthentication yes " UsePAM yes! http://www.ietf.org/rfc/rfc1760.txt, The S/KEY One-Time Password System! http://citeseer.ist.psu.edu/cache/papers/cs/5967/ftp:zszzszftp.mcc.ac.ukzszpub zszsecurityzszpaperszszpasswordzszskey.pdf/haller94skey.pdf, The S/Key On-Time-Password System, Haller, N., Proceedings of the ISOC Symposium on Network and Distributed System Security, February 1994, San Diego, CA! http://www.cs.umd.edu/~harry/jotp/, the (web) Java Calculator! http://www.orange-carb.org/skeycalc/, S/Key calculator for MAC OS! http://www.kernel.org/pub/linux/libs/pam/, useful for documentation material on Linux-PAM