Autenticazione Utente Kerberos 5

Slides:



Advertisements
Presentazioni simili
VIA GIULIO RATTI, CREMONA – Tel. 0372/27524
Advertisements

EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Sicurezza in EGEE Vincenzo Ciaschini Roma.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
| | Microsoft Certificate Lifecycle Manager.
Sicurezza II Prof. Dario Catalano Autentica Mediata.
Sicurezza e Policy in Active Directory
Sicurezza e Policy in Active Directory. Sommario Amministrazione della sicurezza in una rete Windows 2003 Amministrazione della sicurezza in una rete.
Amministrazione di una rete con Active Directory
Amministrazione di una rete con Active Directory.
Amministrazione di una rete con Active Directory
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
Ordine dei Dottori Commercialisti e degli Esperti Contabili di Ivrea, Pinerolo, Torino1 effettuate le operazioni di generazione dell'Ambiente di sicurezza.
corso: RETI DI CALCOLATORI E SICUREZZA
TCP_Wrapper Le richieste per un determinato servizio (ad. es. telnet, ftp, rsh, etc.) vengono soddisfatte soltanto se lindirizzo IP del richiedente rientra.
Autenticazione. Definizione L'autenticazione è il processo attraverso il quale è verificata l'identità di un computer o di una rete: è il sistema che.
Kerberos v5 Presentazione dello studente Flavio Caroli per il corso di Griglie Computazionali prof. Tiziana Ferrari - a.a. 2005/06 -
Test sul Cisco VPN Concentrator
Un servizio di autenticazione per sistemi di rete aperti
Protocollo di autenticazione KERBEROS
Gli utenti esterni, (delegati, datori di lavoro, agenzie per il lavoro, enti, ecc), individuati con il ruolo di master è consentito gestire, la propria.
Ottobre 2007 Predisposizione e presentazione della domanda di nullaosta.
La sicurezza può essere fornita in ciascuno degli strati: applicazione, trasporto, rete. Quando la sicurezza è fornita per uno specifico protocollo dello.
SEZIONE STUDENTE HOMEPAGE STUDENTE Lo studente ha la sola facoltà di registrarsi e fare il test. Inizierà il suo lavoro cliccando su REGISTRATI (figura.
1 Installazione da rete Introduzione Configurazione del server NFS Cosa serve sul client Configurazione kickstart.
PresenzeWeb: breve guida
Guida IIS 6 A cura di Nicola Del Re.
Centro di Assistenza Multicanale (C.A.M.) di Cagliari
Fabrizio Grossi Verifica delle attività. L'operato degli amministratori di sistema deve essere oggetto, con cadenza almeno annuale, di un'attività
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Un problema importante
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Backup and Migrate, Captcha ReCaptcha e Spamicide Docente: Simone Zambenedetti. Moduli per la Sicurezza.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
Amministrazione della rete: web server Apache
Realizzato dagli stagisti media educator Per creare un utente andate su Amministrazione del sito -> Utenti -> Profili -> Nuovo utente. L'username.
Analisi e sperimentazione di una Certification Authority
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
MySQL Database Management System
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Certificati e VPN.
Registrazione degli ospiti INFN e gestione del database via web M.Corosu, A.Brunengo INFN Sezione di Genova Linguaggio di programmazione: perl Web server:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Servizi Internet Claudia Raibulet
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
GUIDA ALL’UTILIZZO DEL
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
Manuale Utente – i-Sisen Questionario dei Consumi
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
12 dicembre Analisi di sicurezza dell’applicazione SISS Security Assessment dell’applicativo e Reversing del client.
Le basi di dati.
SISTEMA GESTIONE TOMBINI
PPT- Postecert PEC – 05/2009 Postecert Posta Elettronica Certificata.
+ Geolocalizzazione Nicolò Sordoni. + Servizi di localizzazione In Windows Phone, la posizione dell’utente può essere rilevata in 3 differenti modi: GPS:
LA GESTIONE TELEMATICA DEI CERTIFICATI DI ORIGINE presentazione WebCO IBSsas.
 Network Address Traslation: tecnica che permette di trasformare gli indirizzi IP privati in indirizzi IP pubblici  Gli indirizzi devono essere univoci.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
FESR Trinacria Grid Virtual Laboratory La sicurezza dei dati in ambiente Trigrid Giordano Scuderi.
IV Corso di formazione INFN per amministratori di siti GRID Tutorial di amministrazione DGAS Giuseppe Patania.
04/06/2016Francesco Serafini INDICO Corso Nazionale Novembre 2007.
Aggiornamento AFS R.Gomezel Commissione Calcolo e Reti Presidenza 5/10/2010-7/10/2010.
INFN-AAI Autenticazione e Autorizzazione Dael Maselli Tutorial INFN-AAI Plus Marzo 2012.
Transcript della presentazione:

Autenticazione Utente Kerberos 5 X Autenticazione Utente Kerberos 5 Tesina di Sicurezza su Reti Studenti: Domenico Di Giorgio 556/000405 Cris Malinconico 556/000145 Armando Pagliara 556/000195 Marco Rossi 556/000875 Anno Accademico 2003/2004 www.kerberos5.cjb.net

Tesina di Sicurezza Su Reti X Tesina di Sicurezza Su Reti Progettazione di un’applicazione Client/Server per la gestione di un Data-Base Remoto con autenticazione tramite Kerberos 5 T R A C I www.kerberos5.cjb.net

X Cos’è Kerberos Kerberos è un sistema di autenticazione sviluppato al M.I.T. tra il 1980 e il 1983 in concomitanza col progetto ATHENA e in collaborazione con IBM e la Digital Equipment Corporation. Il sistema di autenticazione è stato paragonato al famoso Cerbero (Kerberos) poiché si basa su tre procedure: autenticazione autorizzazione cifratura Kerberos è stato progettato per eliminare la necessità di dimostrare il possesso di informazioni segrete (come la password) per divulgare la propria identità. Basato sul modello di distribuzione delle chiavi sviluppato da Needham e Schroeder, usa la crittografia a chiave simmetrica (con una chiave per cifrare e decifrare) per le comunicazioni tra client e server. www.kerberos5.cjb.net

Come funziona Kerberos X Come funziona Kerberos Kerberos è un protocollo per autenticare utenti e servizi. Esso consta di tre figure fondamentali: Principals KDC Ticket Consideriamo principals gli utenti che Kerberos deve autenticare KDC è il Key Distribution Center il quale pubblica le prove dell’identità attraverso i tickets. I tickets contenitori di chiavi di sessione con una breve durata di vita. L'identità è controllata scambiando messaggi (request-response) in cui si usa una chiave di sessione di vita breve, ciò permette di non inviare sulla rete alcuna password . Vengono generate casualmente chiavi di sessione utilizzate per criptare/decriptare i messaggi. www.kerberos5.cjb.net

Caratteristiche dei Tickets X Caratteristiche dei Tickets Valido per un periodo di tempo limitato (e.g. 25h) Può essere rinnovato se valido e nel periodo di tempo permesso per il rinnovamento (e.g. 14d) Può essere inizialmente nullo Può essere inoltrabile agli altri hosts (TGT) può essere usato per ottenere ulteriori ticket Può essere distrutto se non se ne ha bisogno È immagazzinato in un archivio, di solito /tmp/… Tipi di ticket: Tickets iniziali Tickets Pre-Autenticati Ticket Invalidi Ticket Postdatati Ticket rinnovabili Proxy Ticket Forwarded Ticket www.kerberos5.cjb.net

Installazione di Kerberos X Installazione di Kerberos kerberos_1.3.3.tar kerberos_1.3.3 linux:> ./configure linux:> make linux:> make install  linux:> make check doc src www.kerberos5.cjb.net

Configurazione di Kerberos X Configurazione di Kerberos krb5.conf e kdc.conf sono i due file di configurazione che devono essere modificati per un corretto funzionamento di KerberosV Per la configurazione di Kerberos vedremo anche: Creazione Data-Base Access Control List Administrator Principals Keytab Kerberos Server krb5.conf [logging] [appdefaults] [realms] [domain_realm] [libdefaults] kdc.conf [kdcdefaults] [realms] Struttura dei file www.kerberos5.cjb.net

X krb5.conf [libdefaults] Contiene le librerie di default utilizzate da Kerberos 5. [realms] Contiene informazioni relative ad ogni realm, ossia le macchine su cui si trovano i server Kerberos. [domain_realm] Questo tag è utilizzato dai programmi per determinare il realm di appartenenza di un host. [logging] Contiene i path dei file di log [appdefaults] Contiene i valori di default che possono essere utilizzati dagli applicativi di Kerberos 5 krb5.conf [logging] [appdefaults] [realms] [domain_realm] [libdefaults] www.kerberos5.cjb.net

X kdc.conf [kdcdefaults] Contiene informazioni relative alle porte su cui può girare il KDC. [realms] Contiene una sottosezione per ogni realm definito nel krb5.conf ed ogni sottosezione contiene informazioni specifiche per ogni realm, incluse quelle che stabiliscono dove trovare i sever Kerberos (per quel realm). kdc.conf [kdcdefaults] [realms] www.kerberos5.cjb.net

Creazione database di Kerberos X Creazione database di Kerberos linux:> /usr/local/sbin/kdb5_util create -r MY.REALM -s Initializing database '/usr/local/var/krb5kdc/principal' for realm 'MY.REALM'. master key name 'K/M@MY.REALM' You will be prompted for the database Master Password. It is important that you NOT FORGET this password. Enter KDC database master key: <= digita la master password Re-enter KDC database master key to verify: <= ridigita la password Il comando da eseguire per poter creare il database di Kerberos per il realm definito nei file di configurazione. www.kerberos5.cjb.net

X Access Control List L'Access Control List è un file con estensione .acl e contiene la lista dei principal che sono amministratori del database di Kerberos. Il nome del file .acl deve essere lo stesso del nome specificato nel file kdc.conf (di default kadm5.acl). Kerberos principal permission optional target principal */admin@MY.REALM * * Pricipali permessi: a permette l'aggiunta di nuovi principal d permette la cancellazione di principal esistenti m permette la modifica di principal esistenti c permette il cambio di password di un principal i permette le interrogazioni sul database l permette la visualizzazione del principal * Carattere jolly www.kerberos5.cjb.net

Administrator Principals X Administrator Principals L'aggiunta di un principal amministratore del database prevede l'utilizzo del seguente comando: linux:> /usr/local/sbin/kadmin.local kadmin.local: addprinc admin/admin@MY.REALM WARNING: no policy specified for "admin/admin@MY.REALM"; defaulting to no policy. Enter password for principal admin/admin@MY.REALM: <= digita la master password Re-enter password for principal admin/admin@MY.REALM: <= ridigita la password Principal "admin/admin@MY.REALM" created. kadmin.local: www.kerberos5.cjb.net

Keytab www.kerberos5.cjb.net X Il keytab kadmind rappresenta la chiave che i vecchi demoni di amministrazione come kadmind4 e v5passwdd useranno per decifrare i ticket di kerberos provenienti dai client o dagli amministratori e determinare se essi hanno accesso oppure no al database. È necessario creare il keytab kadmind aventi come principal kadmin/admin e kadmin/changepw. linux:> /usr/local/sbin/kadmin.local kadmin.local: ktadd –k /usr/loca/var/krb5kdc/kadm5.keytab kadmin/admin kadmin/changepw Entry for principal kadmin/admin with kvno 5, encryption    type Triple DES cbc mode wih HMAC/sha1 added to keytab    WRFILE: /usr/loca/var/krb5kdc/kadm5.keytab. Entry for principal kadmin/admin with kvno 5, encryption    type DES cbc mode wih CRC-32 added to keytab    WRFILE: /usr/loca/var/krb5kdc/kadm5.keytab. Entry for principal kadmin/changepw with kvno 5, encryption    type Triple DES cbc mode wih HMAC/sha1 added to keytab    WRFILE: /usr/loca/var/krb5kdc/kadm5.keytab. Entry for principal kadmin/changepw with kvno 5, encryption    type DES cbc mode wih CRC-32 added to keytab    WRFILE: /usr/loca/var/krb5kdc/kadm5.keytab. Kadmin.local: quit linux:> www.kerberos5.cjb.net

StartUp Kerberos-Server X StartUp Kerberos-Server È possibile avviare i demoni di kerberos sulla macchina in cui è stato installato il KDC. I due comandi da eseguire sono i seguenti: linux:> /usr/local/sbin/krb5kdc linux:> /usr/local/sbin/kadmind Se tutto è andato a buon fine eseguendo il comando tail sui due file di log avremo il seguente risultato linux:> tail /var/log/krb5kdc.log Jul 27 12 :35 :47 beeblerox krb5kdc[3187] (info) : commencing operation linux:> tail /var/log/kadmin.log Jul 27 12 :35 :47 beeblerox kadmind[3189] (info) : starting www.kerberos5.cjb.net

Applicazione Client/Server (1) X Applicazione Client/Server (1) L’accesso ai servizi offerti dal Server è controllato tramite autenticazione con Kerberos5. L’Application Server offre le funzionalità di gestione di un Data-Base remoto inerente ad una anagrafe. L’intera applicazione si basa sui socket di Berkley per la gestione della comunicazione tra client e server. www.kerberos5.cjb.net

Applicazione Client/Server (2) X Applicazione Client/Server (2) Protocollo di comunicazione Client/Server Kdc Kerberos User return(ticket) krb5_get_in_tkt_with_password() Client Server fillIn(username,password) send(ticket) return(authorization) choice(request) service(request) service(result) visualizzation(result) www.kerberos5.cjb.net

Server (1) Notifica del corretto avvio del server. X Server (1) Notifica del corretto avvio del server. (In precedenza sono stati avviati i demoni krb5kdc e kadmind) www.kerberos5.cjb.net

Client (1) Richiesta username e password all’utente; X Client (1) Richiesta username e password all’utente; www.kerberos5.cjb.net

X Client (2) Dopo aver inserito username e password viene fatta la richiesta del ticket Ottenuto il ticket ci si connette all’host server e si effettua una mutua autenticazione Se tutto ok vengono messi a disposizione una serie di funzioni per la gestione di un database remoto www.kerberos5.cjb.net

X Server (2) Il server è attivo e si accorge della presenza di mimmo@MY.REALM in quanto è stata fatta una mutua autenticazione www.kerberos5.cjb.net

Client (3) www.kerberos5.cjb.net X Il Client richiede una funzionalità all’Application Server il quale gli risponde con un risultato. Il Client visualizza il risultato ed è pronto ad effettuare un’altra operazione. Il client decide di uscire. www.kerberos5.cjb.net

X Server (3) Il server notifica l’ingresso e l’uscita dei vari principal dal servizio. Memorizza nel file di log tutte le operazioni effettuate dal Client. www.kerberos5.cjb.net

X Server (4) File di log in cui vengono memorizzate le operazioni dei Client www.kerberos5.cjb.net

X Considerazioni L’applicazione offre dei servizi remoti per cui è necessario che tutte le macchine che partecipano allo scambio di messaggi siano on line e pronte a ricevere delle richieste; ricordiamo che devono essere verificate alcune condizioni: I demoni di kerberos (kadmind e krb5kdc ) devono essere avviati prima di tutti gli altri applicativi (Client e Application-Server); I Client che vogliono richiedere dei servizi all’Application-Server devono essere registrati come principal sul KDC; L’Application-Server deve essere avviato prima dei Client; La password è inserita in modalità “cieca” per assicurare un ulteriore livello di sicurezza lato Client; La chiave di ciascun record presente nel database è l’unico elemento di accesso all’utilizzo delle funzioni fornite dall’Application-Server www.kerberos5.cjb.net

Developers www.kerberos5.cjb.net Domenico Di Giorgio Cris Malinconico X Developers Domenico Di Giorgio Cris Malinconico Armando Pagliara Marco Rossi www.kerberos5.cjb.net

Kerberos il mostro della rete X Kerberos il mostro della rete www.kerberos5.cjb.net

Kerberos: STEPS Richiesta ticket X Kerberos: STEPS Richiesta ticket Il client richiede un ticket per il TGS (ticket granting service) Il server restituisce un ticket con la nuova chiave di sessione cifrato con la chiave utente L’ulteriore comunicazione sarà cifrata con la chiave di sessione. Autenticazione Utente Il client inserisce la password, la converte in una chiave e manda una richiesta per il TGT (Ticket granting Ticket) Richiesta Service Tickets con il TGT www.kerberos5.cjb.net

X Applicazione Client/Server autenticazione con Kerberos 5 - database remoto (GDBM) La nostra applicazione Client/Server sarà strutturata nel seguente modo: un server gestisce un database contenente i dati anagrafici di un insieme arbitrario di persone (i record gestiti saranno composti dai seguenti campi: nome, cognome, luogo e data di nascita, residenza, indirizzo e cittadinanza). Il protocollo di comunicazione è gestito sommariamente nel seguente modo: Il server riceve via TCP/IP le richieste di: 1) inserimento 2) modifica 3) ricerca 4) cancellazione dei record del database. Il client riceve, tramite una semplicissima interfaccia testuale, le richieste dall'utente, e le trasmette via rete al server. Tutta l'applicazione deve poter essere utilizzata soltanto dagli utenti abilitati. L'applicazione utilizza Kerberos 5 per l'autenticazione degli utenti e fa uso della libreria GDBM per l''implementazione del database. www.kerberos5.cjb.net