Esercitazione 04
Transcript
Esercitazione 04
Sommario Sommario Esercitazione 04 ! S/Key ! Descrizione esercitazione ! Alcuni sistemi S/Key-aware Angelo Di Iorio " Windows " Linux !"#!$#!%&'$(%)*+,')#$!"#!$#!%&'$(%)*+,')#$-).+/&'(+%!0 ).+/&'(+%!0*+$1,",2.! *+$1,",2.! © Babaoglu 2001-2007 S/Key: intro intro S/Key: Sicurezza S/Key: funzionamento funzionamento di di base base S/Key: ! Inizializzazione del sistema ! 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. " S = prepare(passphrase, seed) " 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 © Babaoglu 2001-2007 Sicurezza 2 © Babaoglu 2001-2007 Sicurezza Esercitazione –– Descrizione Descrizione generale generale Esercitazione ! 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 © Babaoglu 2001-2007 Sicurezza Esercitazione –– Requisiti Requisiti del del client client Esercitazione Esercitazione –– Requisiti Requisiti del del servizio servizio Esercitazione ! Qualunque tipo: " " " " Login server ftp server ssh … ! Supporto per autenticazione S/Key ! Presenza di log (serviranno per il report finale) © Babaoglu 2001-2007 Sicurezza Esercitazione –– Requisiti Requisiti per per username username ee Esercitazione password 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 ! Client testuale, e.g., " Comando ssh per server ssh " Comando ftp per server ftp " … ! 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 © Babaoglu 2001-2007 Sicurezza © Babaoglu 2001-2007 Sicurezza Esercitazione –– Cosa Cosa inserire inserire nel nel report report Esercitazione Esercitazione –– Esempio Esempio in in Windows Windows Esercitazione ! Scaricare un server FTP S/Key enabled e configurarlo " Secure FTP Server ! 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 ! 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/ © Babaoglu 2001-2007 Sicurezza Esercitazione –– Esempio Esempio in in linux linux Esercitazione © Babaoglu 2001-2007 Sicurezza Esercitazione –– Esempio Esempio in in linux linux –– PAM PAM Esercitazione (1/5) (1/5) ! Pluggable Authentication Modules for Linux ! Framework per rendere le applicazioni indipendenti dai meccanismi di autenticazione ! Configurazione del servizio SSH ! Politiche di autenticazione per i vari servizi settate via file di configurazione PAM ! Autenticazione eseguita da moduli caricati dinamicamente " OPIE ! L’API PAM si divide in 4 differenti facilities ! PAM " 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 © Babaoglu 2001-2007 Sicurezza © Babaoglu 2001-2007 Sicurezza Esercitazione –– Esempio Esempio in in linux linux –– PAM PAM Esercitazione (2/5) (2/5) Kerberos Applicazione PAM-aware ! Regole di configurazione Opie © Babaoglu 2001-2007 ! Directory di configurazione " /etc/pam.d/ " Ogni file contiene le regole di configurazione di un servizio PAM API File di config. Esercitazione –– Esempio Esempio in in linux linux –– PAM PAM Esercitazione (3/5) (3/5) " 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 Unix auth. Sicurezza © Babaoglu 2001-2007 Esercitazione –– Esempio Esempio in in linux linux –– PAM PAM Esercitazione (4/5) (4/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 © Babaoglu 2001-2007 Sicurezza Sicurezza Esercitazione –– Esempio Esempio in in linux linux –– PAM PAM Esercitazione (5/5) (5/5) ! Alcuni servizi PAM-aware " " " " sshd, server ssh proftpd, server ftp wu-ftpd, server ftp … © Babaoglu 2001-2007 Sicurezza Esercitazione –– Esempio Esempio in in linux linux –– OPIE OPIE Esercitazione (1/2) (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 Esempio in in linux linux –– OPIE OPIE Esercitazione (2/2) (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 © Babaoglu 2001-2007 Sicurezza © Babaoglu 2001-2007 Sicurezza Esercitazione –– Esempio Esempio in in linux linux –– Esercitazione Configurazione SSH SSH Configurazione Riferimenti Riferimenti ! http://www.ietf.org/rfc/rfc1760.txt, The S/KEY One-Time Password System ! 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 © Babaoglu 2001-2007 Sicurezza ! 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 © Babaoglu 2001-2007 Sicurezza