Michele Baldessari <michele@pupazzo.org> michele@jabber.pupazzo.org E4B4 4826 0E0C BF0D 3935 ED35 A1F6 EE94 240B 4C3D



Documenti analoghi
Kerberos - autenticazione centralizzata

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT

Elementi di Sicurezza e Privatezza Lezione 18 Autenticazione: Single Sign On

Deploy di infrastrutture di rete business tramite ambienti completamente virtualizzati

System & Network Integrator. Rap 3 : suite di Identity & Access Management

Sicurezza nei Sistemi Distribuiti

Sicurezza nei Sistemi Distribuiti

Indice. Indice V. Introduzione... XI

Sicurezza in Internet

Uso di una procedura di autenticazione unificata per client Linux e Microsoft Windows su server Microsoft Windows.

Certificati digitali con CAcert Un'autorità di certificazione no-profit

Fileserver con SAMBA e Windows

LA TEMATICA. Questa situazione si traduce facilmente:

Sommario. Modellazione di Kerberos mediante DASM. Kerberos (1) Descrizione Kerberos. Descrizione Kerberos Modellazione Analisi di Correttezza

Sicurezza in Internet. Criteri di sicurezza. Firewall

Introduzione Kerberos. Orazio Battaglia

Sistemi avanzati di gestione dei Sistemi Informativi

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Antonio Mattioli Seminario 5/12/2006. Windows Single Sign-on

! S/Key! Descrizione esercitazione! Alcuni sistemi S/Key-aware. " Windows " Linux. ! Inizializzazione del sistema. " S = prepare(passphrase, seed)

Esercitazione 04. Sommario. Un po di background: One-time password. Un po di background. Angelo Di Iorio

AMBIENTE DI TEST LIKEWISE

La sicurezza nelle reti di calcolatori

Elementi di Sicurezza e Privatezza Lezione 18 Autenticazione: Single Sign On

Protocolli di autenticazione ione per la connessione alle reti sociali. Le tecnologie del Web 2.0

Single Sign On sul web

NEXT-GEN USG: Filtri Web

NETASQ V9: PKI & Controllo accessi. Presentation Marco Genovese Presales engineer marco.genovese@netasq.com

Uso e configurazione di SSH. Paolo Amendola GARR-CERT paolo.amendola@ba.infn.it

Sistemi di autenticazione. Sistemi di autenticazione

CUBE firewall. Lic. Computers Center. aprile 2003 Villafranca di Verona, Italia

INFN Security Workshop Firenze Settembre IMHO e IMP: una interfaccia Web sicura per la posta elettronica. Raffaele.Cicchese@pr.infn.

Una soluzione per i portali amministrativi (e-government)

Problematiche correlate alla sicurezza informatica nel commercio elettronico

Caratteristiche di una LAN

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso

VLAN+LDAP+...+XEN = Rete Dipartimentale

Replica di Active Directory. Orazio Battaglia

Making the Internet Secure TM

Cosa è Tower. Sistema di autenticazione per il controllo degli accessi a reti wireless. struttura scalabile. permette la nomadicità degli utenti

Creare connessioni cifrate con stunnel

Sicurezza nelle applicazioni multimediali: lezione 7, sicurezza dei protocolli. Sicurezza dei protocolli (https, pop3s, imaps, esmtp )

Overview su Online Certificate Status Protocol (OCSP)

Identity Access Management nel web 2.0

LDAP - sta brutta bestia!

Sicurezza a livello IP: IPsec e le reti private virtuali

Apriti Sesamo Plus Client per Windows

Approfondimento di Marco Mulas

Introduzione ad Active Directory. Orazio Battaglia

<Insert Picture Here> Il contributo dei sistemi di Identity nella mitigazione del rischio legato all esternalizzazione di servizi Stefano Vaglietti

Reti di Calcolatori. Il Livello delle Applicazioni

Firma digitale Definizione

Migrazione a kerberos 5 della autenticazione per la cella AFS enea.it

Docebo: la tua piattaforma E-Learning Google Ready.

Introduzione alle applicazioni di rete

Indice. Prefazione. Presentazione XIII. Autori

Corso Specialista Sistemi Ambiente Web. Test finale conoscenze acquisite Windows 2000 Server

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Amazon VPC (Virtual Private Cloud)

Sicurezza nelle Grid. Sommario. Page 1. Il Problema della Sicurezza nelle Grid. Grid Security Infrastructure Autorizzazione

Obiettivi. Al termine del webinar sarete in grado di:

La sicurezza nel Web

Servizio di Posta elettronica Certificata. Procedura di configurazione dei client di posta elettronica

Package Linux - Proxy Squid

Mobile Security Suite

Centralizzazione, log e monitoraggio

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Servizio Sistemi Informativi SPERIMENTAZIONE DI RETI PRIVATE VIRTUALI CON L'UTILIZZO DI SOFTWARE OPEN SOURCE

Approfondimenti. Contenuti

Introduzione a Windows XP Professional Installazione di Windows XP Professional Configurazione e gestione di account utente

Accesso remoto sicuro alla rete aziendale La tecnologia PortWise

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Sommario. Introduzione alla Sicurezza Web

La privacy e il Web 2.0: una soluzione sicura per Google Documents e Mozilla Firefox

Linux hands-on & hands-off Workshop

LegalCert Remote Sign

Configurazione di sicurezza di XAMPP

Chi fa cosa? L'autenticazione e l'autorizzazione nelle infrastrutture di sicurezza complessa

Protezione delle informazioni in SMart esolutions

lem logic enterprise manager

Panoramica sulla tecnologia

Le Reti Informatiche

Intarsio IAM Identity & Access Management

Archiviare messaggi di posta elettronica senza avere un proprio mail server

OwnCloud: la piattaforma Cloud Open Source per l'archiviazione dei dati

Sommario. 1. Cos è SecureDrive Caratteristiche Privacy dei dati: SecureVault... 4

Introduzione alla crittografia con OpenPGP

Kerberos V5. Argomenti. Concetti base. Autenticazione Tradizionale. Cos e KERBEROS Perché KERBEROS Funzionamento Installazione Configurazione

WebFax- manuale utente

Informatica per la comunicazione" - lezione 13 -

Configurazione client di posta elettronica per il nuovo servizio

CREATE A VPN OVER SSH WITH PPP. Hal

Dal protocollo IP ai livelli superiori

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Firewall e Abilitazioni porte (Port Forwarding)

Identity Access Management: la soluzione loginfvg

Groups vs Organizational Units. A cura di Roberto Morleo

StarShell. Autenticazione. StarShell

Sicurezza delle reti wireless. Alberto Gianoli

Transcript:

Michele Baldessari <michele@pupazzo.org> michele@jabber.pupazzo.org E4B4 4826 0E0C BF0D 3935 ED35 A1F6 EE94 240B 4C3D

Introduzione Single Sign On Kerberos Installazione / Configurazione Integrazione con altri S.O. Futuri sviluppi 20070619 SSO e 2

Introduzione Identity Management AAA Crittografia 20070619 SSO e 3

Identity Management Fondamentalmente indica un insieme di tecnologie volte alla gestione efficiente delle identità in un sistema complesso Ha lo scopo di risolvere le difficoltà di gestire un sistema IT complesso con molteplici attori e servizi (dipendenti, clienti, fornitori, partner, consulenti, ispettori) 20070619 SSO e 4

Identity Management (2) Si occupa inoltre di: Access Management User Management Provisioning Authentication User Data Store (Directory) Federated IM IAM Identity & Access Management 20070619 SSO e 5

AAA Autenticazione Verifica dell'identità delle parti (persone fisiche o macchine) User + Password Chiave o certificato Chiave o certificato su smart card / token Biometria 20070619 SSO e 6

AAA (2) Autorizzazione Assegnazione dei diritti/permessi all'entità autenticata a seconda delle policy previste DAC / MAC Permessi ACL 20070619 SSO e 7

AAA (3) Auditing La possibilità di ottenere un Audit Trail, una traccia delle azioni (rilevanti) di un utente o di un programma Unix Syslog Windows Event Log Auditing infrastructure 20070619 SSO e 8

Crittografia Simmetrica La stessa chiave segreta per criptare e decriptare Gestione complessa delle chiavi [n entità -> n * (n 1) / 2 chiavi, O(n^2)] Protocolli: SSL, TLS, Kerberos, IPSEC,... Algoritmi: AES, ARC4, DES, 3DES,... 20070619 SSO e 9

Crittografia Asimmetrica Coppie di chiavi legate matematicamente tra loro, una pubblica e una privata Gestione lineare delle chiavi [n entità -> ~n (coppie di) chiavi, O(n)] Protocolli: SSL, TLS, PGP, S/MIME, IKE, SSH,... Algoritmi: RSA, DSA, EL GAMAL, DSS 20070619 SSO e 10

Single Sign On Definizione Motivazione Protocolli (Kerberos,Web-SSO,SESAME,...) Software proprietario Software libero 20070619 SSO e 11

Definizione SINGOLA autenticazione dell'utente Successivo accesso a servizi di rete in modo trasparente Una unica base di autenticazione (i.e. Servizio di Directory) non è di per sè SSO, è la base su cui costruire un'infrastruttura di SSO (è condizione praticamente necessaria) 20070619 SSO e 12

Motivazione Semplificare la vita all'utente Singola fonte di autenticazione Password policy unica Diminuzione costi di Help Desk Gestione centralizzata 20070619 SSO e 13

Protocolli Svariati protocolli di autenticazione che implementano una forma di SSO: Kerberos SESAME CAS OpenID BBAUTH A-Select 20070619 SSO e 14

Software Proprietario Impossibile adattare applicazioni esistenti per il SSO (se già non lo supportano) Sono due la possibili strade: quelle con agenti che replicano la informazioni di autenticazione sui vari sistemi e quelle che spesso vengono chiamate Enterprise Single Sign On e che lavorano a livello client 20070619 SSO e 15

Software Proprietario (2) Lato Client La nomenclatura più adatta sarebbe forse Client-side Hacks Sono programmi che intercettano le login a password degli applicativi legacy Memorizzano queste info al primo login Inviano in automatico ai login successivi Intercettano i cambi password 20070619 SSO e 16

Software Proprietario (3) L'altro approccio verso il SSO nel mondo proprietario è quello di un datastore centrale e una serie di agent sugli altri sistemi (con meccanismi push/pull) Un workflow che definisce le regole di sincronizzazione delle password e/o della gestione degli utenti e gruppi Sistema complesso e fragile 20070619 SSO e 17

Possibilità di modificare le applicazioni esistenti per il SSO Client-side Hacks non più necessari L'infrastruttura IT può diventare uniforme per quel che riguarda l'autenticazione Ancora molta strada da fare 20070619 SSO e 18

Kerberos Introduzione Protocollo Implementazioni esistenti (MIT, Heimdal, Active Directory) Pro / Contro 20070619 SSO e 19

Introduzione Nasce al MIT dal progetto Athena ('80) Prima versione pubblica v4 (1989) Protocollo di Single-Sign-On più utilizzato Implementato su *NIX, Windows >= 2000, Mac OS X 20070619 SSO e 20

Introduzione (2) Scritto appositamente per reti ostili Single Sign On per qualsiasi tipo di servizio (modificato appositamente) Autenticazione reciproca e distribuita Utilizza crittografia simmetrica Needham-Schroeder 20070619 SSO e 21

Introduzione (3) Realm dominio di autenticazione Kerberos (tipicamente è il dominio DNS in maiuscolo: LUGBZ.ORG) Principal Ogni entry presente nel database kerberos a cui è associata una chiave segreta part{/part}@realm michele@lugbz.org, michele/admin@lugbz.org LDAP/srvldap.lugbz.org@LUGBZ.ORG 20070619 SSO e 22

Introduzione (4) KDC Key Distribution center Database di tutti i principal Authentication Server Ticket Granting Server 20070619 SSO e 23

Key Distribution Center (KDC) Authentication Server (AS) Ticket Granting Server (TGS) Utente Networked Service 20070619 SSO e 24

Key Distribution Center (KDC) 1. Sono Alice, mi serve un TGT Authentication Server (AS) Ticket Granting Server (TGS) Utente Networked Service 20070619 SSO e 25

Key Distribution Center (KDC) 1. Sono Alice, mi serve un TGT 2. Ecco il TGT, se riesci a decriptarlo Authentication Server (AS) Ticket Granting Server (TGS) Utente Networked Service 20070619 SSO e 26

Key Distribution Center (KDC) 1. Sono Alice, mi serve un TGT Authentication Server (AS) Ticket Granting Server (TGS) 3. TGT, voglio un Service Ticket 2. Ecco il TGT, se riesci a decriptarlo Utente Networked Service 20070619 SSO e 27

Key Distribution Center (KDC) 1. Sono Alice, mi serve un TGT Authentication Server (AS) Ticket Granting Server (TGS) 3. TGT, voglio un Service Ticket 2. Ecco il TGT, se riesci a decriptarlo 4. Ecco il Service Ticket Utente Networked Service 20070619 SSO e 28

Key Distribution Center (KDC) 1. Sono Alice, mi serve un TGT Authentication Server (AS) Ticket Granting Server (TGS) 3. TGT, voglio un Service Ticket 2. Ecco il TGT, se riesci a decriptarlo 4. Ecco il Service Ticket 5. Autenticami, ho il Service Ticket Utente Networked Service 20070619 SSO e 29

Key Distribution Center (KDC) 1. Sono Alice, mi serve un TGT Authentication Server (AS) Ticket Granting Server (TGS) 3. TGT, voglio un Service Ticket 2. Ecco il TGT, se riesci a decriptarlo 4. Ecco il Service Ticket 5. Autenticami, ho il Service Ticket 6. Ciao Alice, parliamo Utente Networked Service 20070619 SSO e 30

Key Distribution Center (KDC) 1. Sono Alice, mi serve un TGT Authentication Server (AS) Ticket Granting Server (TGS) 3. TGT, voglio un Service Ticket 2. Ecco il TGT, se riesci a decriptarlo 4. Ecco il Service Ticket 5. Autenticami, ho il Service Ticket 6. Ciao Alice, parliamo Utente Networked Service 20070619 SSO e 31

Client Authentication Server Client principal Client timestamp krbgt principal name Requested lifetime 1. AS Request 2. AS Reply Cleartext Encrypted w/user's Key Encrypted w/tgs' key AS Session Key krbtgt principal name Ticket lifetime AS Session Key Client Principal Ticket lifetime KDC timestamp Client IP address Ticket Granting Ticket (TGT) Session key condivisa tra client e TGS Client memorizza nella Credential Cache la Session Key e il TGT 20070619 SSO e 32

Client Ticket Granting Server Service principal TGT Authenticator Requested lifetime 3. TGS Request Cleartext 4. TGS Reply Encrypted w/as Session Key Encrypted w/service's key Encrypted w/tgs' key TGS Session Key Service principal name Ticket lifetime TGS Session Key Client Principal Ticket lifetime KDC timestamp Client IP address Service Ticket 20070619 SSO e 33

Client Service specific data Authenticator TGS Session Key Client Principal Ticket lifetime KDC timestamp Client IP address 5. Authenticate Service Kerberized Service 6. Trust relationship established Cleartext Encrypted w/tgs Session Key Encrypted w/service's key 20070619 SSO e 34

Implementazioni esistenti MIT Kerberos Reference implementation Supportato su molte piattaforme API più utilizzate http://web.mit.edu/kerberos/ 20070619 SSO e 35

Implementazioni esistenti (2) Heimdal Nato a causa delle restrizioni sulle esportazioni di crittografia vigenti negli USA anni fa) Kerberos di default sui *BSD Base Kerberos in Samba 4 www.h5l.se 20070619 SSO e 36

Implementazioni esistenti (3) Active Directory E' un insieme di tecnologie (DNS, LDAP, RPC,...) tra cui anche Kerberos Presente da Windows 2000 in poi Non supporta versioni più vecchie del protocollo kerberos (kerberos 4) Ben integrata 20070619 SSO e 37

Pro Maggiore produttività Maggiore sicurezza (password non viaggiano mai sulla rete, policy consistenti) Amministrazione semplificata Costi di gestione minori 20070619 SSO e 38

Contro Una password compromessa dà accesso a tutti i sistemi (strong authentication!) Applicazioni devono essere kerberosready Funzionamento problematico in caso di NAT Distribuzione chiavi sui servizi Orologi devono essere sincronizzati Availability del/dei KDC cruciale 20070619 SSO e 39

Heimdal / Debian Configurazione rete (NTP e DNS) KDC Client Server SSH Server HTTP Altri servizi 20070619 SSO e 40

Configurazione rete (NTP e DNS) kdc# apt-get install openntp bind9 KDC Client kdc.lugbz.org Server krb-server.lugbz.org 20070619 SSO e 41

KDC # apt-get install heimdal-kdc heimdal-clients /etc/krb5.conf: [libdefaults] default_realm = LUGBZ.ORG [realms] LUGBZ.ORG = { kdc = kdc.lugbz.org admin_server = kdc.lugbz.org } [domain_realm].lugbz.org = LUGBZ.ORG lugbz.org = LUGBZ.ORG 20070619 SSO e 42

KDC (2) Inizializzazione realm: # kadmin -l kadmin> init LUGBZ.ORG Realm max ticket life [unlimited]: Realm max renewable ticket life [unlimited]: Aggiunta utente admin: kadmin> add michele/admin Test autenticazione: kdc# kinit michele/admin kdc# klist Credentials cache: FILE:/tmp/krb5cc_0 Principal: michele/admin@lugbz.org Issued Expires Principal May 20 13:15:54 May 20 23:15:54 krbtgt/lugbz.org@lugbz.org Max ticket life [1 day]: Max renewable life [1 week]: Principal expiration time [never]: Password expiration time [never]: Attributes []: michele/admin@lugbz.org's Password: 20070619 SSO e 43

KDC (3) Aggiunta di michele/admin come amministratore Kerberos (/etc/heimdal-kdc/kadmind.acl attivare kadmin in inetd) per poter amministrare anche da remoto: michele/admin@lugbz.org all # kinit michele/admin # kadmin kadmin> list * Aggiunta utente non amministrativo: kadmin> add michele 20070619 SSO e 44

Client # apt-get install heimdal-clients openssh-client libpam-krb5 Configurazione PAM: /etc/pam.d/common-auth: auth sufficient pam_krb5.so forwardable auth sufficient pam_unix.so nullok_secure use_first_pass /etc/pam.d/common-password: password sufficient pam_krb5.so use_authtok password sufficient pam_unix.so nullok... Va creato l'utente michele senza password (andrebbe usato LDAP per centralizzare anche le informazioni su utenti e gruppi) Per testarlo basta, loggarsi alla console e verificare di aver ottenuto il ticket con il comando klist 20070619 SSO e 45

Server (SSH) # apt-get install openssh-server heimdal-clients Creiamo e installiamo tramite kadmin remoto la chiave del principal per SSH # kinit michele/admin; kadmin krb-server.lugbz.org kadmin> add --random-key host/krb-server.lugbz.org kadmin> ext_keytab -k /etc/krb5.keytab host/krb-server.lugbz.org Aggiungere l'utente michele e configurare SSH in modo appropriato : KerberosAuthentication yes KerberosOrLocalPasswd yes KerberosTicketCleanup yes GSSAPIAuthentication yes GSSAPICleanupCredentials yes Dal client, ssh michele@krb-server.lugbz.org e ci si autentica passwordless : May 20 18:09:28 krb-server sshd[4640]: Authorized to michele, krb5 principal michele@lugbz.org (krb5_kuserok) 20070619 SSO e 46

Server (HTTP) # apt-get install libapache2-mod-auth-kerb apache2-mpm-prefork Creiamo il keytab con la chiave per Apache e lo esportiamo: kadmin> add -r HTTP/krb-server.lugbz.org krb-server.lugbz.org Max ticket life [1 day]: Max renewable life [1 week]: Principal expiration time [never]: Password expiration time [never]: Attributes []: kadmin> ext_keytab -k /etc/apache2/apache.keytab HTTP/krb-server.lugbz.org 20070619 SSO e 47

Server (HTTP/2) Creiamo il virtual host: <Directory /var/www/secret> Options Indexes SymlinksIfOwnerMatch krb-server.lugbz.org AuthType Kerberos AuthName "LUGBZ.ORG Login" Krb5Keytab /etc/apache2/apache.keytab KrbAuthRealms LUGBZ.ORG KrbSaveCredentials on require valid-user </Directory> Firefox richiede modifiche a network.negotiate-auth.trusted-uris se non si usa SSL 20070619 SSO e 48

Server (HTTP/3) Otteniamo i ticket: krb-server.lugbz.org E ci colleghiamo con firefox: 20070619 SSO e 49

Altri servizi OpenLDAP / FDS (LDAP) Dovecot (POP / IMAP) Postfix (SMTP) Postgresql Cyrus IMAP OpenSSH Apache HTTP Jabber NFSv4 20070619 SSO e 50

Altri servizi (2) Squid AFS ftp telnet Cups / IPP (sperimentale) SNMP (draft)... 20070619 SSO e 51

Integrazione con altri S.O. *NIX MIT Heimdal GNU Shishi 20070619 SSO e 52

Integrazione con altri S.O. (2) Mac OS X Librerie Kerberos MIT Login con autenticazione Kerberos 20070619 SSO e 53

Integrazione con altri S.O. (3) Microsoft Windows Windows 2000 in poi Senza supporto nativo AD, è limitato (solo utenti locali) Necessita di installazione tool aggiuntivi (ksetup.exe e klist.exe dal Resource Kit di Windows) 20070619 SSO e 54

Integrazione con altri S.O. (4) Creare un host principal (host/win-client1.lugbz.org) sul KDC net time /SETSNTP:kdc.lugbz.org ksetup /SetDomain LUGBZ.ORG ksetup /SetMachPassword <password> ksetup /AddKdc LUGBZ.ORG kdc.lugbz.org ksetup /AddKpasswd /AddKpasswd LUGBZ.ORG kdc.lugbz.org ksetup /mapuser * * 20070619 SSO e 55

Il futuro Samba 4 Heimdal 0.8 / MIT 1.7 PK-INIT Kerberize your app today 20070619 SSO e 56

Grazie dell'attenzione St IGNUcius be with you 20070619 SSO e 57