Rendere Sicura Active Directory Agenda Introduzione alla sicurezza di Active Directory Analisi dei rischi Attacchi contro Active Directory Recuperare sistemi compromessi Buone pratiche Documento di riferimento! Best Practice Guide for Securing Active Directory Installations http://www.microsoft.com/windowsserver20 03/techinfo/overview/adsecurity.mspx Introduzione La sicurezza concerne la protezione dei beni Impatti della sicurezza compromessa Perdita o compromissione di informazioni Interruzione dei processi di business Perdita di guadagno Perdita di reputazione del marchio Danni ad investitori e clienti Potenziale esposizione di informazioni sensibili Principio base di un’adeguata protezione Un bene deve essere protetto ad un livello consistente con il suo valore Introduzione In questa sessione parleremo solo di AD Sistemi sicuri significa però server, client e rete sicuri Dati Applicazioni Host Rete interna Perimetro Sicurezza fisica Policy, Procedure e Consapevolezza ACL, criptatura Applicazioni blindate, antivirus OS blindato, gestione degli update, autenticazione, HIDS Reti segmentate, IPSec, NIDS Firewall, reti di quarantena (VPN) Guardie, chiavi, sistemi di controllo degli accessi Formazione ed educazione Ruolo di AD nell’infrastruttura Info sugli Account Privilegi Profili Policy Altre Directoy Info sui Client Profilo Mgmt Info di rete Policy Active Gestibilità, Directory Sicurezza, Interoperabilità Altri NOS Sicurezza Policy Info sui server di posta Info sulle Mailbox GAL Info sulle Appl Configurazioni Single Sign-On Info specifiche delle App Policy Info sui Server Profili Mgmt Info di rete Servizi Stampanti Share Policy Info su device di rete Configurazione Policy QoS Policy di sicurezza Info sui Firewall Configurazione Policy di sicurezza Internet Policy di VPN Se AD è compromessa Aggiramento delle misure di controllo dei sistemi Modifica delle policy di sicurezza e delle misure di sicurezza esistenti Password, Kerberos, Remote Access, Logon Scripts e altre policy Login come/impersonizzazione di qualsiasi persona nell’organizzazione Accesso, controllo dell’accesso a , distruzione e/o divulgazione di ogni informazione in qualche modo protetta da Active Directory Quattro regole per la sicurezza di AD 1. Enterprise Admins (EA) possono accedere ad ogni servizio e dato nella foresta 2. Domain Admins (DA) possono accedere ogni servizio e dato nel proprio dominio 3. Domain Admins possono anche facilmente accedere a servizi e dati in altri domini della stessa foresta 4. I domain controller non possono essere isolati l’uno dall’altro 5. Il dominio non è un confine di sicurezza; lo è la foresta. Il dominio è solo un confine amministrativo e di replica Analisi dei rischi – Modello STRIDE Spoofing – Pretendere di essere qualcun altro Tampering – Effettuare modifiche non autorizzate ai dati Repudiation – Effettuare azioni non autorizzate ed eliminare ogni evidenza delle stesse e dell’identità dell’esecutore Information Disclosure – Accessi non autorizzati ai dati Denial of service – Causare perdita di servizi agli utenti legittimi Elevation of Privilege – Utilizzare metodi non autorizzati per elevare i propri privilegi Analisi dei rischi Anonymous user DC a Root domain Authenticated user Network service Delegated Admin System Administrator Physical access DC b.a Analisi dei rischi Tutti i sistemi hanno amministratori Possono modificare le impostazioni di sistema (installazione di QFE, SP,...) Possono fare intenzionalmente, o meno, cose “cattive” Si deve avere un elevato livello di fiducia Obbiettivo degli attaccanti: Diventare amministratori di sistema o Avere accesso fisico ai DC per Modificare le impostazione del DC Installare o modificare applicazioni (filtri delle password, ...) Esportare e modificare “offline” il database degli account Attaccare il processo LSA Attacchi contro AD Impossibile trattarli tutti in una sessione Vedremo solo alcuni di questi (NT)LM Hash KerbCrack sIDHistory Exploit Attacchi DoS Modifiche “offline” del database degli account (NT)LM Hash Due metodi differenti per effettuare l’hash delle password utente LM è stato sviluppato da IBM LM hash non è un vero metodo di hash Mette tutti i caratteri in maiuscolo Contiene due parti di 7 caratteri ciascuna Riempimento con NULL fino al 14° carattere È un criptatura DES di ciascuna metà di 7 caratteri Concatenamento dei due risultati in un testo cifrato di 128 bit (NT)LM Hash Mitigazione Password con più di 14 caratteri Problemi con versioni vecchie di OS LM Hash diventa aad3b435b51404eeaad3b435b51404ee Usare caratteri speciali nelle password (es. gli spazi) Disabilitare LM authentication (gli utenti devono cambiare password) Per i client vecchi installare DsClient. Demo NoLmHash KerbCrack Tutti conoscono i problemi di LM/NTLM Lo sniffing di Kerberos è meno noto Molti amministratori pensano che Kerberos sia inattaccabile Attacco è stato spiegato la prima volta da Frank O’Dwyer nel 2002 Il problema risiede nei pacchetti Kerberos pre-autenticati Spedizione del timestamp criptato con una chiave derivata dalla password dell’utente KerbCrack Brute force attack sui pacchetti pre-autenticati la struttura è nota e definita in RFC 1510 Formato timestamp (parte criptata con chiave derivata dalla password utente): YYYYMMDDHHMMSSZ Facile da determinare Tool in due parti noto come KerbCrack KerbSniff – per sniffare i pacchetti Kerberos KerbCrack – per decriptare i pacchetti catturati L’attacco è mitigato da password complesse Demo KerbCrack Attacco sIDHistory Origine Classico esempio di elevazione dei privilegi Descritto in MS02-001 - Q289243 Deriva il nome dall’attributo sIDHistory dei security principal in AD Originariamente pensato per le migrazioni da NT4 a 2000 Il problema... Attacco sIDHistory Il problema Dopo il logon ad un domino il token utente contiene Il SID dell’account I SID dei gruppi cui appartiene Se il dominio è in Windows 2000 ‘native mode’ (o functional level superiore), l’attributo sIDHistory è aggiunto al token È possibile costruire un attributo sIDHistory che contenga il SID di Enterprise Admin Non ci sono API che consentano l’inserimento di SID in sIDHistory Attacco possibile solo con una modifica offline del database di AD Demo sIDHistory exploit Attacco sIDHistory Mitigazione Mitigazione: Per trust tra foreste ed esterni è possibile abilitare il SID Filtering Nessun tipo di mitigazione per domini nella stessa foresta Dove necessario usare foreste separate Svuotare la sIDHistory dopo la migrazione (Q295758 fornisce uno script per effettuare l’operazione) Attacchi Denial of Service (DoS) Lo scopo di questi attacchi è interrompere un servizio di rete Ogni servizio è suscettibile di attacchi DoS Ci sono diversi possibili attacchi DoS contro AD Flood del Database di AD Flood di query LDAP Dimensione del token eccessiva Attacchi DNS Account lockout Attacchi DoS Attacchi al Database Pericolo: Utenti con i diritti di aggiungere oggetti ad Active Directory possono sovraccaricare il database Mitigazione: Delegare i diritti con molta attenzione Usare Active Directory Object quota in Windows Server 2003 per limitare la possibilità di creazione di oggetti Attacchi DoS Dimensione del token eccessiva Pericolo: Utenti delegati alla creazione/modifica di gruppi in AD I token possono contenere fino a 1023 SID Aggiunta di più di 1023 gruppi agli account L’utente non può più fare logon Può essere eseguito contro l’account Administrator Mitigazione: Delegare i diritti con attenzione Rimuovere il permesso di modificare I membri del gruppo Administrator Recupero Avviare il sistema in safe mode con rete e ripristinare AD da un backup Demo Dimensione eccessiva del token Attacchi DoS Altri attacchi Flood di query LDAP Un utente può saturare il server di query LDAP Usare le policy sulle query LDAP per mitigare il problema (Q315071) Non usare query anonime Attacchi DNS Modifiche offline al database Stessa tecnica usabile per l’attacco sIDHistory Possono essere eseguite con i tool di tbiro (www.tbiro.com) Account lockout Se attivo, un utente può effettuare tentativi falliti di logon per escludere altri (o tutti) gli account Ripristino In caso di sistemi compromessi Effettuare il reset di tutte le password del dominio Trovare e rimuovere i sistemi compromessi Cancella gli oggetti server dal container Configuration (CN=Configuration,DC=dominio) Cancellare gli account dei server nel dominio Verificare tutte le applicazione installate Su tutti i DC e le workstation di amministrazione Verificare tutti i DC alla ricerca di virus Verificare tutte le applicazioni che dipendono da AD Trovare e rimuovere gli account compromessi Verificare la presenza di modifiche ai gruppi importanti Verificare GPO, script di logon,... Verificare i backup Ripristino Ripristino della foresta Esempio ipotetico: L’amministrazione di sistema ha eseguito una modifica allo schema che determina un errore dei sistemi Procedura di ripristino: Ripristinare un DC in ogni dominio Reinstallare tutti gli altri DC Chiamare il PSS Buone Pratiche Username/password Proteggere gli account amministrativi Controllare l’account “Administrator” per monitorare gli attacchi Delega e processo AdminSDHolder Rimuovere “LM hash” (Q147706, Q299656) Usare SID filtering per i trust esterni http://www.microsoft.com/technet/security/bulletin/MS 02-001.mspx Buone pratiche Domain controller Rimuovere i servizi non necessari I computer account dei domain controller dovrebbero rimanere nella OU “Domain Controllers” Creare il proprio template di sicurezza Usare il template in una GPO diversa da quella di default per I DC Avere più di un DC per dominio Non delegare i diritti sui DC Porre speciale attenzione ai DC nei siti remoti Installare i nuovi DC da zero Rendere sicuro l’accesso fisico ai DC Buone pratiche Active Directory Dal punto di vista della sicurezza less is more !! Documentare le modifiche Usare le quote per gli utenti delegati (W2K3) Il gruppo Schema Admin dovrebbe essere vuoto Usare le GPO per le impostazioni di sicurezza Attenzione alle deleghe sulle GPO Usare Block Inheritance e No override con attenzione Controllare l’appartenenza ai gruppi con le GPO (Restricted Groups) o con script di startup (workstation) Buone pratiche DNS e DHCP DNS Usa le zone integrate in AD se possibile Update dinamici sicuri ACL su RR Repliche avanzate Partizioni applicative in Windows Server 2003 DHCP DHCP non dovrebbe essere su DC (se possibile) Q255134 Risorse Best Practice Guide for Securing Active Directory Installations http://www.microsoft.com/windowsserver2003/techinfo/overview/adsec urity.mspx Windows Securtiy Resource Kit The Twenty Most Critical Internet Security Vulnerabilities http://www.sans.org/top20/index.php?printer=Y Ten Windows Password Myths http://www.securityfocus.com/infocus/1554 Risorse di Microsoft Learning sulla sicurezza Free Online Skills Assessments Introduction to Microsoft Security Guidance Hands-On Instructor-Led Training Course 2823 Managing the Deployment of Service Packs and Security Updates Protecting the Perimeter of Networks Free Self-Paced E-Learning Clinics Clinic 2801 Clinic 2802 Microsoft Security Guidance Training I (1 day) Microsoft Security Guidance Training II (1 day) Implementing and Administering Security in a Windows Server 2003 Network (5 days) Hands On Labs 2811 Applying Microsoft Security Guidance (1 day) Course 2830 Designing Security for Microsoft Networks (3 days) Course 2824 Implementing Internet Security and Acceleration Server 2004 (4 days) Microsoft Certified Professional Specializations Self-Paced Microsoft Press Reference Books Assessing Network Security Microsoft Windows Security Resource Kit ISBN: 0-7356-1868-2 ISBN: 0-7356-2033-4 Microsoft Windows Server 2003 PKI and Certificate Security ISBN: 0-7356-2021-0 © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.