RFc -Restori Fabrizio Consulenze- S.da Buffolara, 67 -43126 Parma- Tel. +39 335 240228 Fax +39 0521 940035 P.IVA 01788460341
I processi di Autenticazione, Autorizzazione e Accounting sono fondamentali e vitali per la sicurezza aziendale. Con queste attività, normalmente note come AAA, si tutela l’accesso ai dati aziendali, l’accesso fisico ai locali e l’uso di risorse in genere.
L’azione di login di un utente è solo una piccola parte di un processo più ampio e complesso.
La molteplicità delle risorse utilizzate nelle attività aziendale complicano la vita all’IT manager, troppo spesso unico responsabile della sicurezza di accesso alle risorse.
Si pensi semplicemente a quante username e password deve ricordare un utente: per l’accesso al file system, per accedere al sistema ERP, per la posta, per il portale web aziendale, senza dimenticare tutti servizi offerti da terze parti ed indispensabili come l’home banking, le applicazioni di fornitori, aziende partner, enti e amministrazioni. Molte di queste applicazioni, per fornire prestazioni ragionevoli, per accessi remoti, sono web oriented.
L’integrazione di reti pubbliche e private, chiamiamola globalizzazione informatica, da un lato facilita il lavoro e lo scambio di informazioni, ma aggravia il problema della sicurezza.
A tutto questo occorre aggiungere specifiche necessità come l’autenticazione forte o a più fattori. Password complesse con cambi periodici, autenticazioni che coinvolgono il possesso, un token, una smartcard, un cellulare e altro, o caratteristiche fisiche dell’utente, biometriche, come le impronte digitali. I tre fattori sono noti come il segreto, il possesso e l’essere: quello che so, quello che possiedo e quello che sono).
Uno sguardo più attento può aiutare a districarsi in questo caos e scegliere strategie e strumenti che riducono la complessità aumentando la sicurezza.
L’autenticazione ha lo scopo di riconoscere l’utente. Normalmente si fa ricorso ad una username, in genere pubblica, e di una password, il segreto.
Per garantire la sicurezza la password deve rispondere a politiche di complessità di cambio periodico e ovviamente di segretezza. Purtroppo il proliferare di password e la scarsa formazione dell’utente porta a scrivere il segreto su post-it incollati sotto la tastiera, se non sopra il video, o la condivisione della password con colleghi, facendo crollare i livelli di sicurezza.
Per ridurre questi inconvenienti ci sono diverse soluzioni.
Tecnicamente si devono valutare le risorse di autenticazione, spesso Active Directory, eDirectory o database relazionali come SQL Server o mySQL e migliorare la conoscenza delle risorse a cui accedere.
Un meccanismo semplice di autenticazione, e spesso trascurato è LDAP. Banalizzando, una meccanismo di autenticazione fa ricorso ad un directory per memorizzare i dati dell’utente, il directory è un database a struttura gerarchica, non relazionale, normalmente ottimizzato per essere letto. Di contro in database relazionale è formato da tabelle a campi fissi ed è ottimizzato per operazioni di lettura e scrittura in ugual misura, ma anch’esso può essere una sorgente di autenticazione.
LDAP è un metodo di accesso a tali database, meglio se directory. Active Directory e eDirectory sono accessibili, oltre che con librerie ad hoc, anche con LDAP, in modo semplice e sicuro.
Molti applicativi permettono una autenticazione via LDAP, e quindi possono essere agganciati a directory esistenti. Nella valutazione di un applicativo, la possibilità di autenticazione con meccanismi standard, come LDAP, è importante e deve rientrare nel merito di scelta della procedura.
Allo stesso modo le applicazioni sviluppate internamente all’azienda, è bene facciano ricorso a metodi LDAP, più che a funzioni proprietarie per accedere a AD, eDirecory o DB relazionali. Si aumenta la standardizzazione e l’integrazione fra sistemi.
Bisogna sottolineare che una unica fonte di autenticazione, non riduce il numero di autenticazioni, che è legato al numero di applicazioni a cui si deve accedere, ma consente di avere una unica identità, quindi una sola username ed una sola password.
L’autorizzazione, seppur integrata con l’autenticazione, è un processo molto differente. Una volta riconosciuto l’utente, bisogna accertarsi che questo possa accedere alle sole risorse che gli competono. Le informazioni necessarie per questo processo sono strettamente legate all’applicativo e alle prestazioni dello stesso: ogni volta che si desidera accedere ad un dato occorre verificare l’autorizzazione dell’utente.
Ad esempio un file system (fs), ha meccanismi di autorizzazione che sono propri, si pensi ad NTFS di Microsoft o a EXT3 di Linux. In alcuni casi, FAT, l’autorizzazione al fs non è prevista e l’accesso è libero a chiunque. Analogo discorso per accedere alla posta o ad un portale web.
Per ridurre la complessità della definizione dei permessi è bene, ove possibile, non dare permessi all’utente, ma consentirne l’eredità in base all’appartenenza a gruppi definiti con criteri funzionali. Il gruppo avrà in questo caso i permessi per accedere alla risorsa. Si presume che il numero di gruppi sia inferiore al numero di utenti, e comunque consentono di abbinare il permesso ad una funzione e non ad un utente. Si può parlare anche di profili e di appartenenza ad un profilo, ma il concetto è analogo.
I gruppi hanno l’ulteriore vantaggio di poter essere integrati e gestiti attraverso directory , quindi con i meccanismi descritti nella autenticazione.
L’accounting consente di tracciare l’utilizzo delle risorse. Chi ha fatto cosa. Importante anche per legge per conoscere, ad esempio gli accessi dell’amministratore di sistema (L. 133/200 del 27 Novembre 2008). I requisiti di legge sono i minimi richiesti, ma molto utile è anche correlare dati per scoprire se un account ha fatto accessi in orari o da luoghi ‘strani’ o la verifica di azioni sospette come un accesso da una rete pubblica mentre l’utente risulta, dalla timbratura cartellini, ancora presente in azienda.
La complessità da superare è dovuta alla disomogeneità dei dati raccolti. Ogni applicazione genera log, spesso in formato testo, con tracciati record proprietari, difficilmente leggibili e voluminosi.
Per utilizzare agevolmente i dati di accounting non c’è che da far ricorso a procedure in grado di armonizzare i dati in formati univoci e in grado di correlare fonti differenti.
Ulteriore azione, richiesta per legge, è la non ripudiabilità dei dati, ovvero una forma di memorizzazione, in genere attraverso una firma elettronica, per garantire la veridicità dei dati ovvero che i dati non sono stati manomessi.
Il server Radius (Remote Authentication Dial-In User Service) è un servizio dedicato ai meccanismi di autenticazione, autorizzazione ed accounting.
Di fatto implementa un protocollo standard che permette l’autenticazione di numerose applicazioni e dispositivi di rete: modems, DSL, access points, VPNs, network ports, web servers.
Radius si occupa solo dei meccanismi AAA [7], non dispone di un proprio database per memorizzare le credenziali, ma può appoggiarsi a servizi esterni come LDAP, SQL, Active Directory, eDirectory o un semplice file di testo.
Negli impieghi più elementari, un elenco di nome-utente e password può essere sufficiente, ma numerose altre informazioni possono essere gestite. Ad esempio un ISP (Internet Service Provider) può usare RADUS, non solo per autenticare gli accessi alla propria rete, ma anche per definirne i parametri di funzionamento come, ad esempio, un limite di banda: in questo caso viene usata la capacità di autorizzazione del protocollo AAA.
I meccanismi di autorizzazione usati da RADIUS possono essere diversi, uno dei più frequenti è la gestione del protocollo 802.1x per l’accesso fisico alle porte (media) di una infrastruttura di rete IEEE 802 (in sostanza eternet) siano queste cablate o wireless.
Per accedere ad una rete occorre connettersi ad una porta, il classico cavo di rete oppure ad un filo ‘virtuale’ come un collegamento radio via access point.
Per garantire la sicurezza, nel caso di una rete cablata, può essere sufficiente il controllo dell’accesso ai locali dove sono presenti le prese di rete ma, nel caso del wireless, la rete si estende un modo difficilmente controllabile anche all’esterno dell’area di pertinenza.
Per il wireless i meccanismi di accesso possono essere sostanzialmente due: l’uso di una password condivisa e conosciuta (pre shared Key) o attraverso servizi di autenticazione come il RADIUS. Per usi personali / domestici una password è sufficiente, ma in situazioni più complesse, con diversi punti di accesso, sistemidi autenticazione centralizzati sono indispensabili per garantire un buon grado di sicurezza.
Uno di questi meccanismi è definito dallo standard 802.1x che non propone metodi precisi ma piuttosto una struttura di supporto architetturale che lo rende versatile. Di fatto 802.1x è diventato lo standard per l’autenticazione alle reti attraverso l’utilizzo di protocolli esistenti come EAP (Extensible Authentication Protocol).
[8]Attivando l'autenticazione, quando un nodo (WN) si connette ad una rete protetta, questo non è in grado di fare alcuna operazione, come accedere ad un DHCPo ai vari servizi. Per connettersi, il nodo invia una richiesta di autenticazione (1). La richiesta è intercettata dallo switch o dall’access point, al quale il nodo è connesso. La richiesta non può essere inoltrata direttamente al server di autenticazione (il RADIUS). Fa da tramite l’autenticatore (2): ancora lo switch o l’access point. Se l’autenticazione va a buon fine la porta alla quale il dispositivo è collegato, viene abilitata al traffico di rete (3). 802.1x, EAP ed altri protocolli definiscono nei dettagli questo meccanismo.
L’identità del nodo e del server di autenticazione è importante per la sicurezza, fra i diversi metodi implementati da EAP (EAP-MD5, Lightweight EAP, EAP-TLS, EAP-TTLS, Protected EAP -PEAP-, EAP-MSCHAPv2), diversi fanno uso di certificati X.509 per garantire l’identità del server e del nodo che accede alla rete, evitando attacchi del tipo men in middle, dove un dispositivo estraneo alla rete viene interposto ed usato per intercettare dati.
La soluzione 802.1x, con l’uso di RADIUS, si presta bene ad applicazioni di mobilità e l’autenticazione sui vari access point.
Operare scelte che riducono le fonti di autorizzazione e, di conseguenza, il numero di utenti da gestire è molto utile, come utile è formare l'utente e renderlo conscio dei processi di identificazione, che non sono necessariamente uno strumento di controllo, ma una esigenza di sicurezza.
La complessità tecnologica, il numero dei sistemi, le leggi e tanto altro rendono comunque complesso la gestione dei vari meccanismi necessari ad implementare e gestire l'identità.
In auto vengono alcuni strumenti e applicazioni che alleggeriscono la gestione delle identità e l’accesso ai sistemi migliorando anche il livello di sicurezza.
Alcuni di questi strumenti come il Single Sign-On forniscono un beneficio all’utenza, mentre altri all’amministratore dei sistemi e al management aziendale.
Di seguito vengono descritti sommariamente alcuni meccanismi, ritenuti interessanti, senza la pretesa di coprire l'intera casistica.
Con Single Sign-On si fa riferimento ad una procedura che si interpone fra i meccanismi di autenticazione delle applicazioni e l’utenza.
L’utente fa il primo, e tendenzialmente unico, accesso al sistema con una propria username e password con la complessità e i modi definiti dalle politiche aziendali. I successivi accessi ad ulteriori procedure: posta, ERP, sistemi legacy, ecc, sono gestiti in modo automatico e trasparente all’utente, dal SSO.
Per riuscire nell’intento, la procedura di SSO deve conoscere le credenziali dell’utente del sistema da accedere. Il SSO ‘impara’ le credenziali al primo accesso dell’utente. Le credenziali sono poi memorizzate in modo sicuro (criptate e quant’altro) in un database, spesso un directory. I successivi accessi alla risorsa vengono fatti automaticamente dal SSO che utilizza le credenziali memorizzate.
Il DB delle credenziali è normalmente centralizzato e lo scambi di informazioni fra DB e workstation è via rete. Per consentire il login anche a workstation sconnessa (ad esempio con un notebook), è possibile avere una copia sicura, delle proprie credenziali, anche in locale sulla workstation.
Per completare l’automazione la procedura di SSO può scatenare delle script agli eventi di login, per gestire automaticamente varie funzioni come ad esempio il cambio periodico della password. Con meccanismi simili è possibile aumentare la sicurezza di sistemi legacy che, ad esempio, non supportano politiche di complessità della password.
Secure Login di Novell è certamente una dei più interessanti sistemi di SSO. [13]
Procedure di SSO sono disponibili anche per ambienti WEB.
I meccanismi classici di SSO richiedono una procedura client installata sulla workstation, nel caso di portali e siti web in genere, l’uso di un client non è consigliabile. Il grosso vantaggio dei siti e delle procedure web e la possibilità di accedervi, anche in remoto senza particolari prerequisiti, se non un browser, quindi da u nportatile, ma anche da un internet-caffè, da una postazione in un albergo o da casa. In queste occasioni, spesso, non è possibile installare un client ed è comunque poco pratico.
La soluzione è di adottare un intermediario, sicuro e gestito dalla azienda, praticamente un reverse proxy, specializzato per la gestione degli accessi. L’intermediario cattura le credenziali dell’utente al primo login, e le riutilizza per gli accessi successivi.
L'intermediario può anche fornire procedure e controlli non disponibili sul sito originale.
Anche in questo caso le credenziali vengono memorizzati in un ambiente sicuro.
Il meccanismo consente di chiedere autenticazione anche per pagine o interi siti che non la prevedono.
Il meccanismo descritto ha il grosso vantaggio che non richiede modifiche ai siti gestiti, spesso amministrati da entità diverse se non fisicamente inaccessibili.
Access Manager di Novell è una ottima soluzione di web SSO. Qui per maggiori dettegli [16]
[18]Le moderne tecnologie informatiche vedono l’integrazione di diversi sistemi. Ogni sistema ha un proprio meccanismo di autenticazione: dalle utenze di rete, agli accessi a database, al sistema gestionale, alla posta elettronica e molti altri.
Questa situazione presenta difficoltà nella gestione delle utenze con gravosi e costosi compiti per amministrare il ciclo di vita dell’identità.
Un utente è definito con una username e password, differenti su vari sistemi. La modifica di attributi (il numero di telefono, il nome o l’e-mail) deve essere fatta su ogni data base di autenticazione, moltiplicando gli oneri e le possibilità di errore. Allo stesso modo, la cancellazione di un utente presenta il rischio di ‘dimenticare’ qualche accesso attivo. Queste situazioni comportano spesso preoccupanti lacune di sicurezza.
Identity manager permette l'amministrazione centralizzata delle utenze e la gestione dell’intero ciclo di vita della identità: dalla creazione, alle successive modifiche, alla cancellazione.
Le operazioni di Identity Manager evolvono sui sistemi aziendali in base a regole aziendali, ad esempio, la creazione di una utenza può abilitare accessi standard, mentre gli accessi a risorse più importanti possono essere regolati attraverso workflow autorizzativi gestibili anche dai vari responsabili aziendali (come l'ufficio personale e non sempre e semplicemente il responsabile CED) attraverso una comoda interfaccia web.
Gli attributi delle utenze, username, nome, cognome, e-mail, ecc., sono propagati e sincronizzati in base a precise regole aziendali. Sistemi lagacy che non prevedono politiche di complessità o di periodicità delle password, possono essere gestiti e adeguati alle normative di legge.
Le operazioni eseguite vengono registrate e sono disponibili dettagliati report per dimostrare l’effettiva aderenza alle politiche aziendali e la piena conoscenza di chi ha accesso a cosa.
Il deprovisioning (cancellazione dell’utenza) è altrettanto semplice e immediata eliminando ogni rischio di sicurezza.
Per maggiori informazioni contattare rfc@rfc [19].it o consultare i seguenti link:
http://www.novell.com/it-it/products/identitymanager/ [20]
http://www.novell.com/products/identitymanager/features/identitymanager-... [21]
http://www.novell.com/products/identitymanager/technical-information/ [22]
http://www.novell.com/products/identitymanager/demo.html [23]
http://www.novell.com/it-it/products/identitymanager/drivers/ [24]
http://www.novell.com/docrep/2009/11/magic_quadrant_user_provisioning_en... [25]
http://www.novell.com/docrep/2009/09/Camera_dei_Deputati_IT_it.pdf [26]
Due interessanti prodotti di novell per la gestione dei log sono Sentinel e Sentinel Log Manager.
Sentinel è uno strumento in grado di raccogliere dati, tipicamente log, da diverse fonti, anche remote, normalizzare i dati raccolti, per consentirne un confronto, correlare i dati e gli eventi che rappresentano, produrre dei report e memorizzare i dati in forma non ripudiabile. Un modo veramente efficiente per controllare le politiche di sicurezza aziendale, un vero strumento per la security information and event management (SIEM).
Sentinel log manager, è una versione ridotta di Sentinel, dove la correlazione dei dati non è disponibile. Il prodotto, più semplice, è particolarmente adatti per far fronte agli obblighi di legge in materia di amministratori dei sistemi [27].
Maggiori dettagli sono disponibili ai link:
Esistono diverse implementazioni per un server RADIUS, fra le più usate il RADUIS di Cisco, è FreeRADUIS, una applicazione open source [32].
FreeRADIUS è quindi liberamente scaricabile dal sito http://freeradius.org/ [33] o disponibile nelle varie distribuzioni.
In rete si trovano anche la descrizione delle più comuni configurazioni.
Links
[1] https://www.rfc.it/comment/reply/207#comment-form
[2] https://www.rfc.it/category/categoria/applicativi
[3] https://www.rfc.it/category/categoria/sicurezza
[4] https://www.rfc.it/comment/reply/208#comment-form
[5] https://www.rfc.it/comment/reply/209#comment-form
[6] https://www.rfc.it/comment/reply/210#comment-form
[7] https://www.rfc.it/content/aaa-autenticazione-autorizzazione-e-accounting
[8] https://www.rfc.it/sites/default/files/u1/8021X-Overview1.jpg
[9] https://www.rfc.it/comment/reply/223#comment-form
[10] https://www.rfc.it/category/categoria/networking-0
[11] https://www.rfc.it/comment/reply/211#comment-form
[12] https://www.rfc.it/category/categoria/identit%C3%A0
[13] https://www.rfc.it/content/secure-login
[14] https://www.rfc.it/comment/reply/212#comment-form
[15] https://www.rfc.it/category/categoria/infrastruttura
[16] https://www.rfc.it/content/access-manager
[17] https://www.rfc.it/comment/reply/213#comment-form
[18] https://www.rfc.it/sites/default/files/Userfiles/u1/imanager1.JPG
[19] mailto:rfc@rfc.it?subject=Identity%20Manager
[20] http://www.novell.com/it-it/products/identitymanager/
[21] http://www.novell.com/products/identitymanager/features/identitymanager-version-comparison.html
[22] http://www.novell.com/products/identitymanager/technical-information/
[23] http://www.novell.com/products/identitymanager/demo.html
[24] http://www.novell.com/it-it/products/identitymanager/drivers/
[25] http://www.novell.com/docrep/2009/11/magic_quadrant_user_provisioning_en.pdf
[26] http://www.novell.com/docrep/2009/09/Camera_dei_Deputati_IT_it.pdf
[27] http://www.rfc.it/privacy
[28] http://www.novell.com/products/sentinel/?tab=1
[29] http://www.novell.com/products/sentinel-log-manager/
[30] https://www.rfc.it/comment/reply/218#comment-form
[31] https://www.rfc.it/category/categoria/prodotti
[32] https://www.rfc.it/oss
[33] http://freeradius.org/
[34] https://www.rfc.it/comment/reply/224#comment-form