Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR)...

55
Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Sicurezza degli host: Unix e Microsoft Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Transcript of Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR)...

Page 1: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Sicurezza degli host: Unix e MicrosoftSicurezza degli host: Unix e Microsoft

Davide Vergni (IAC – CNR)

Fulvio Bartoloni (Collaboratore IAC – CNR)

Page 2: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Sicurezza degli host: Unix e MicrosoftSicurezza degli host: Unix e Microsoft11 Sicurezza host: livelli di sicurezza, Orange book, RFCSicurezza host: livelli di sicurezza, Orange book, RFC

22 Sicurezza host MicrosoftSicurezza host Microsoft

IntroduzioneIntroduzione

AutenticazioneAutenticazione

Sicurezza localeSicurezza locale

Sicurezza in InternetSicurezza in Internet

Sicurezza ai virusSicurezza ai virus

Problemi di sicurezzaProblemi di sicurezza

Configurazioni consigliate per la sicurezzaConfigurazioni consigliate per la sicurezza

33 Sicurezza host UnixSicurezza host Unix

IntroduzioneIntroduzione

AutenticazioneAutenticazione

Sicurezza localeSicurezza locale

Sicurezza in InternetSicurezza in Internet

Sicurezza ai virusSicurezza ai virus

Problemi di sicurezzaProblemi di sicurezza

Configurazioni consigliate per la sicurezzaConfigurazioni consigliate per la sicurezza

44 Il progetto Security Enhaced LinuxIl progetto Security Enhaced Linux

55 Glossario terminiGlossario termini

66 Bibliografia-SitografiaBibliografia-Sitografia

Page 3: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

IntroduzioneIntroduzione

Fattori per migliorare la protezione delle macchine

No al falso senso di sicurezza

Conoscenza dei problemi di sicurezza

Tenere le macchine aggiornate

Disattivare ciò che non serve

Passa solo ciò che è esplicitamente permesso

Formulazione di Politiche di Sicurezza

Hardening dei Sistemi

Page 4: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Standard di sicurezzaStandard di sicurezza

D: nessuna protezioneD: nessuna protezione C: protezione C: protezione discrezionalediscrezionale B: protezione B: protezione obbligatoriaobbligatoria A: protezione certificataA: protezione certificata

Il primo standard che stabilisce i diversi livelli di sicurezza utilizzati per proteggere l’hw, il sw e le informazioni memorizzate in un sistema è rappresentato dal Trusted Computer System Evaluation Criteria (TCSEC) redatto dal Dipartimento della Difesa degli Stati Uniti: il famoso Orange Book.BI criteri di valutazione TCSEC dividono in quattro categorie il tipo di protezione assicurato da ogni livello:

Page 5: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Definizione delle Politiche di SicurezzaDefinizione delle Politiche di Sicurezza

Un aspetto fondamentale della realizzazione di un Piano per la Sicurezza è la definizione delle Politiche di Sicurezza che la struttura intende adottare.È importante citare le RFC (Request For Comment: richiesta di osservazioni) serie di documenti iniziata nel 1969 che descrive la famiglia di protocolli Internet e relativi esperimenti. Tutti gli standard Internet vengono diffusi sotto forma di RFC. Per esempio, un buon riferimento sulle politiche di sicurezza si trova in RFC 1244 (“Site Security Handbook”).Le Politiche di Sicurezza devono essere approvate ed emanate dai vertici della struttura e applicate a TUTTI i dipendenti.Il personale deve percepire le politiche di sicurezza come una componente del lavoro quotidiano finalizzata alla protezione delle informazioni e delle apparecchiature.

Page 6: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Cosa può accadere? Cosa può accadere?

L’informazione sui nostri sistemi può essere compromessaL’informazione sui nostri sistemi può essere compromessa

• Gen. 2000, un hacker penetra nei sistemi della CD Universe, sottrae 300,000 numeri di carta di credito e informazioni sui clienti; altri hackers ottengono accesso ai dati della Egghead.com.

• Luglio 2001, un hacker riesce ad sottrarre i dati sui guadagni della JDS earnings prima che vengano rilasciati.

• Gen. 2002, un hacker penetra nei sistemi della Online Resources (software finanziario); usa questi sistemi per accedere ad una banca di NY che viene ricattata

Page 7: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Cosa può accadere? Cosa può accadere?

La comunicazione può essere compromessaLa comunicazione può essere compromessa

• Nel XVI secolo, Maria Stuarda fu decapitata dopo che i suoi messaggi segreti furono decifrati (dimostrando che complottava contro Elisabetta I).

• Nella seconda guerra mondiale, molti U-boat tedeschi furono distrutti dopo che gli Inglesi riuscirono a decifrare i messaggi che utilizzavano la macchina Enigma.

• Oggi, il sistema Carnivore analizza milioni di messaggi di email al giorno.

Page 8: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Cosa può accadere? Cosa può accadere?

I nostri sistemi possono essere compromessiI nostri sistemi possono essere compromessi

• Febbraio 2000, ICQ userid, PIN hijacked per un riscatto

• Agosto 2001, Code Red infetta 359.000 server in 14 ore– Scandisce la rete alla ricerca di server IIS vulnerabili; rallenta i

server; lascia backdoor per gli hacker

• Molti altri virus prendono il controllo del sistema operativo, inviano messaggi. I sistemi compromessi possono essere utilizzati per attaccare altri siti sensibili

Page 9: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Cosa può accadere? Cosa può accadere?

I nostri dati possono essere alterati.I nostri dati possono essere alterati.

• Settembre 1999, i siti del NASDAQ e dell’AMEX vengono violati; gli hacker aprono dei propri account di email.

• Ottobre 1999, un Worm svuota interi archivi al Pentagono.• Ottobre 2000, hacker Pro-Israeliani e pro-Palestinesi (e-Jihad) violano

decine di siti; i visitatori del sito di Hamas sono dirottati su un sito porno.

• Aprile 2001, il sito della British Telecom è violato due volte in tre giorni – gli hacker protestano contro la sospensione del servizio ADSL

• Luglio 2001, un gruppo di hacker viola 679 siti in un minuto

Page 10: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Cosa può accadere? Cosa può accadere?

Il nostro servizio può essere interrottoIl nostro servizio può essere interrotto..

• Settembre 1996: Panix, un ISP di NY , subisce un attacco di tipo Denial of Service (DoS) basato su SYN flooding

• Maggio 1999, il virus Melissa virus manda in crash molti servers di e-mail– si diffonde replicandosi verso i primi 50 contatti di Outlook

• Febbraio 2000: attacco Mafiaboy di tipo Distributed Denial of Service (DDoS): Yahoo, CNN, eBay, Amazon non disponibili per più di 3 ore.

• Attacchi vari a siti istituzionali (Ministero della Giustizia).

Page 11: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Altre informazioni sugli attacchiAltre informazioni sugli attacchi

• Numero degli attacchi– gli USA sono i primi nel mondo per il numero assoluto – Israele è in testa per il numero di attacchi per abitante

• circa il 45% degli attacchi sono critici.

• Gran parte delle maggiori società sono attaccate continuamente (specialmente le società finanziarie).

• Molti attacchi sono semplici scansioni alla ricerca di nodi vulnerabili– Molti utenti sono sempre connessi (ad esempio tramite ADSL) da sistemi

altamente insicuri– i dispositivi wireless iniziano ad essere interessati da virus

Page 12: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

AutenticazioneAutenticazione

Verifica dell’identità dell’utente attraverso:Possesso di un oggetto (es., smart card)Conoscenza di un segreto (password)Caratteristica personale fisiologica(impronta digitale, venature retina)Problema della mutua autenticazioneAutenticazione Autorizzazione

Politica delle tre AAA

Authentication: identità degli utenti che richiedono un servizio

Authorization: specifica dettagliata delle operazioni consentite

Accounting: tracciamento delle azioni compiute durante il collegamento

Page 13: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Politica di autenticazionePolitica di autenticazione

L’autenticazione deve essere:

Robusta: Deve essere molto difficile ingannare

Rapida: Non deve far perdere tempo all’utente autorizzato

Economica: Non può incidere sul costo del servizio

Semplice

o Aggiungere o eliminare utenti deve essere facile

o L’utente deve apprendere la procedura in poco tempo

o Devono esserci pochi segreti condivisi

Page 14: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Il modo più semplice per autenticare un utente è utilizzare il binomio Username/Password

PasswordPassword

ProblemiProblemi

Se queste informazioni passano in chiaro sulla rete possono essere intercettate. Questo sistema di autenticazione può subire un reply-attack, cioè un attacco con una ripetizione di pacchetti

Page 15: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

MicrosoftMicrosoft

La domanda tipica: <<ma esiste una sicurezza su Windows?>>

L’affermazione tipica:<<che ci vuole a parlare di sicurezza su

sistemi Microsoft: tanto non esiste!>>La risposta da dare è

<<esiste, basta non improvvisarsi sistemisti Windows,

esattamente come non ci si può improvvisare

sistemisti Unix>>

Page 16: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

La strategiaLa strategia

Rafforzare ogni windows server che può essere esposto ad un potenziale attacco proveniente da Internet.

Realizzare un host "sicuro"Realizzare un host "sicuro"

accurata pianificazione ed amministrazione "umana"

software sicuro

Realizzare e mantenere servizi sicuri con sistemi operativi Microsoft impone una serie di operazioni ed accorgimenti molto più complessi di quello che può realizzare un’istallazione “tipica”, in più la sicurezza di un sito e' costituita da due "ingredienti fondamentali":

Page 17: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Perche’ molti usano OS Microsoft?Perche’ molti usano OS Microsoft?

• E' semplice istallarlo e non necessita di conoscere "profondamente" il sistema operativo.

• Molte delle componenti che vengono istallate e inizializzate automaticamente in Windows NT, Windows 2000, WindowsXP sono simili se non uguali alle applicazioni che l'utente comune puo' trovare su W95/W98/WME/WXPHE.

• Queste caratteristiche sono molto comode, per es. per la gestione della condivisione dei file e per la condivisione di stampanti in reti interne

• Mentre per un server internet esterno rappresentano un limite grave proprio perche’ ci si può improvvisare system manager pensando che sia tutto molto “semplice”

Page 18: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

BastioneBastione

• Un server microsoft esterno che fornisce un insieme minimo di servizi ben configurati garentendo un buon livello di sicurezza è definito: BastioneBastione

Un bastione e' quindi una macchina (NT o W2000) che ha un ruolo critico nell'ambito della rete perche' esposto ad attacchi provenienti dall'esterno tipicamente via internet.

Parliamo quindi di server quali Web Server, FTP server, DNS, Firewall e/o gateway. Ma anche, più semplicemente, di comuni PC utente.

Page 19: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Fortificare un bastioneFortificare un bastione

Quando si vuole fortificare un bastione bisogna porsi due domande:

Quali sono i servizi che potenzialmente Quali sono i servizi che potenzialmente possono portare ad un attacco?possono portare ad un attacco?

In che modo il bastione protegge se In che modo il bastione protegge se stesso dagli attacchi ? stesso dagli attacchi ?

Page 20: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Istallazione “sicura” di NT serverIstallazione “sicura” di NT server

Ingredienti iniziali:• un disco completamente “pulito”“pulito”• una macchina disconnessa dalla rete durante

l'istallazione (o almeno che l'istallazione avvenga in una zona della rete sicura!)

• non istallare altri sistemi operativi sulla Macchina• usare solo formattazione NTFS (permette attributi di

utenza e protezione per i file)

Page 21: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Custom InstallCustom Install

Selezionare “Custom InstallCustom Install” e selezionare solo le seguenti componenti

• Microsoft Data Access Components 1.5

– Data Sources

– MDAC: ADO, OBDC, and OLE DB

– Remote Data Service 1.5

– RDS Core Files

• Microsoft Management Console

• NT Option Pack Common Files (o equivalente)

• Transaction Server

– Transaction Server Core Components

Page 22: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Altri accorgimenti inizialiAltri accorgimenti iniziali

• Non istallare IIS server !!• Istallare comunque l'ultima service pack ossia la versione 6a per

Windows NT(che contiene inoltre tutti gli "hotfixes" alla versione 6), la service pack2 per Windows2000 infine per XP autorizzare sempre il download degli aggiornamenti automatici

• Istallare solo il tcp/ip e nessun altro protocollo di rete addizionale• Utilizzando il pannello di controllo rimuovere tutti i servizi non utilizzati

tranne l’RPC che rappresenta la configurazione per il port mapper di NT (RpcSs) .

In ogni caso dare sempre un “occhiata” a:http://microsoft.com/technet/security/bulletin/ (Tutte le notizie!!)

http://www.puntoinformatico.it/news/ (Solo le più gravi!!)

Page 23: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Le due schermate!Le due schermate!

Page 24: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Rimuovere i servizi di rete inutiliRimuovere i servizi di rete inutili

• Da notare che tra i servizi rimossi c‘è il servizio Workstation e questo comporterà ad ogni accensione del server un alert di sistema

• Un altra "scocciatura" è che lo user manager dei domain in NT (usrmgr.exe) non lavora in assenza del servizio workstation; rimpiazzatelo con lo user manager (musrmgr.exe) di NT workstation.

Page 25: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Eliminare il NetBiosEliminare il NetBios

Disabilitare l'interfaccia Netbios:Netbios e’ il maggior colpevole di quasi

tutti gli attacchi a sistemi NT• è infatti facile fare scan di “range” ip alla

ricerca di pc con netbios (Legion http://rhino9.ml.org)

• e poi ancora più facile individuare le risorse condivise ed appropiarsene

Page 26: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Come si fa?Come si fa?

Uno scan con Legion in un range di ip per trovare pc con netbios attivo

si sceglie un ip_number nbtstat -A ip_number trovo il pc_name edit c:\winnt\lmhosts “ip_number pc_name #PRE” nbtstat -R net view \\pc_name ora conosco tutte le risorse condivise!!

Page 27: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Disabilitare i servizi superfluiDisabilitare i servizi superflui

Disabilitare tutti i servizi inutili eccetto i seguenti :• EventLog (Registro degli Eventi)• NT LM Security Support Provider (provider supporto

protezione NT LM) • Plug and Play • Protected Storage• Remote Procedure Call (RPC) Service (Servizio Chiamata

Procedura Remota)

Page 28: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Attivare il filtro TCP/IPAttivare il filtro TCP/IP

Configurare le porte abilitate "in entrata" per il TCP e l'UDP Nell'esempio proposto e' abilitata la porta 80 tcp ma disabilitata l'udp essendo individuato l'IP protocols 6 (TCP), ma non il 17 (UDP!)

Page 29: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Controllare i processi attiviControllare i processi attivi

I processi attivi a questo punto devono risultare: • smss.exe (il manager delle sessioni)• csrss.exe (il Client Server Subsystem)• winlogon.exe (il processo di logon!) • services.exe • pstores.exe (il protected storage )• lsass.exe (la Local Security Authority)• rpcss.exe (l’RPC mapper)• explorer.exe, loadwc.exe, nddeagnt.exe (Explorer ed

i suoi sottoprocessi!)

Page 30: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Criptare il database degli accountsCriptare il database degli accounts

• Per effettuare questa operazione (irreversibile!) bisogna lanciare la syskey.exe, il programma si trova nella directory %SystemRoot%\system32

• Tra le altre cose questa procedura garantisce protezione rispetto allo “L0pht Crack” o meglio: “LC3 - The Password Auditing and Recovery Application” (http://www.atstake.com/research/lc3/)

Page 31: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Microsoft Security Configuration EditorMicrosoft Security Configuration Editor

A questo punto vanno definite le politiche di sicurezza utilizzando il programma secedit.exe:•Questo tool è presente dalla service pack 4 e "permane" in Windows 2000 ed XP!•Il file bastion.inf realizzato dalla HP e raccomandato da Microsoft (e’ nel CD) viene dato in "pasto" al tool

Il comando da utilizzareIl comando da utilizzareC:> secedit /configure /cfg bastion.inf /db %TEMP%\secedit.sdb /verbose /log %TEMP%\scelog.txt

Page 32: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Permette di gestire con un unico file di configurazione:• Criteri account: protezione per criteri password, di blocco di

account e Kerberos

• Criteri locali: diritti utente e registrazione degli eventi di protezione

• Gruppi di restrizione: amministrazione dell'appartenenza a gruppi locali

• Registro di sistema: protezione per le chiavi di registro locali

• File System: protezione per il file system locale

• Servizi di sistema: protezione e modalità di avvio per i servizi locali

SeceditSecedit

Page 33: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

• Applica l'unicità della password memorizzando le ultime6 password

• Consenti archiviazione password con crittografia reversibile per tutti gli utenti del dominio

Disabilitato• Le password devono essere conformi ai requisiti di

complessità Attivato• Lunghezza minima password 10 Caratteri• Validità massima password 42 Giorni• Validità minima password 2 Giorni• Limite di blocchi dell'account 5 (tentativi)• Reimposta blocco account dopo 720 (minuti)

Un esempio di parametri settati dal file bastion.infUn esempio di parametri settati dal file bastion.inf

Page 34: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Altri cambiamentiAltri cambiamenti

Le regole rinominano anche l'account di administrator a root: cosa che andrebbe sempre e comunque fatta!! (XP lo fa in automatico!!) Una parte degli script si occupa di disinstallare i sottosistemi del sistema operativo relativi a DOS, Win16, OS/2 e Posix In ogni caso le variazioni si possono visualizzare e variare in: criteri di protezione locali sul sito: “http://www.shebeen.com/iis4_nt4sec.htm#Table%203” il file bastion.inf e’ spiegato “riga per riga”!

Page 35: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

ServiziServizi

Tutti i servizi a cui la macchina è predisposta possono essere abilitati o eliminati facendo riferimento a Servizi da Strumenti di Amministrazione. Da lì si possono vedere tutti i servizi attivati sulla macchina, quelli che partono in automatico, e quelli ad avviamento manuale.

Log FileLog File

Sempre da Strumenti di Amministrazione c’è il visualizzatore di eventi che contiene tutti gli output dei servizi del sistema. Guardare gli output insegna molto sul tipo di attività sommerse della nostra macchina.

Page 36: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Le principali fonti di informazioneLe principali fonti di informazione

• Mailing List NT BugTraq, i cui archivi sono disponibili al sito

Web www.ntbugtraq.com;

le mailing list, più specifiche, accessibili per iscrizione al sito www.ntsecurity.net;

www.netspace.org, nel quale vengono anche segnalati problemi riguardanti altri sistemi operativi.

Page 37: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Le principali fonti di informazioneLe principali fonti di informazione

Siti Web con programmi di test/attacco e aggiornamenti software www.microsoft.com, e in particolare le sezioni

sulla sicurezza (www.microsoft.com/security) e su Windows NT Server (www.microsoft.com/ntserver);

FBI CyberNotes, un bollettino quindicinale sui principali problemi di sicurezza di sistemi operativi e applicazioni;

Page 38: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Le principali fonti di informazioneLe principali fonti di informazione

Cybermedia Software, sul quale vengono offerti tra l'altro i codici sorgenti per implementare programmi di test e debug;

www.bugnet.com, con notizie, test di applicazioni, ecc.

www.insecure.org, un sito di notizie e programmi sorgente per hackers;

www.L0pht.com, un sito di notizie e programmi sorgente, con patch e tool di analisi.

Page 39: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Open Source: buono per la sicurezzaOpen Source: buono per la sicurezza

L’accesso al codice sorgente non è un ostacolo alla sicurezza

Reverse engineering

Black Box analysis

Chi sa interpretare un codice sorgente

Sa anche scrivere un exploit

Sa disassemblare un codice oggetto

Sa usare un emulatore hardware/software

Software Open Source

Più facile esaminare il codice

Più facile correggere il codice

Esempio: Open BSD

deriva da Unix Berkely Software Distribution

È orientato alla sicurezza

È frutto del lavoro di decine di anni-uomo

Non ha exploit remoti riconosciuti da oltre 4 anni

Page 40: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Open Source: buono per la sicurezzaOpen Source: buono per la sicurezza

Continui miglioramenti al prodotto

• Supporto (gratis) di valenti programmatori

– Sviluppatori conosciuti e raggiungibili

– Accesso a newsgroup

– Accesso a mailing-list

• Maggiore facilità a supporto di terze parti

– Security extensions (progetto OpenWall)

– Patch frequenti

– Tools e Addons

Page 41: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Conviene utilizzare SW Open SourceL’utente ha la piena disponibilità del codice e ne ha il controllo completo (buon sistemista)

Open Source: buono per la sicurezzaOpen Source: buono per la sicurezza

L’acquisto di un Sw non ne dà la proprietà

Bisogna acquistare buon HARDWARE

Il SOFTWARE si preleva alla fonte (Internet)

Il SW fa lavorare l’HW

L’HW fa il lavoro pesante

Page 42: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Ping of DeathPing of Death

• Ha provocato il crash di quasi tutti i S.O.

• È un attacco ICMP con ‘oversized packet’

• Ping usa pacchetti di 64 byte

• Ping con pacchetti > 65507 OVERFLOW !!

• RFC 792 - ICMP header 8 byte

• RFC 791 - max 65535 byte (IP header 20 byte)

LINUX la correzione è arrivata dopo

2 ore e 35 minuti

Page 43: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Linux HardeningLinux Hardening

Disabilitazione di tutti i servizi di rete (ps e netstat –nl)Disinstallazione di tutti i programmi non necessari (rpm –e)Syslog remotoDisk Partitioning (chroot – cache – var - chattr)Login limitato in SSH2 (public key)Login ristretto alla console e/o solo ttySxRamDisk (LinuxRouter, LinuxFloppy, Trinux)Firewall (netfilter, fwtk, t.rex, sinus)IDS (snort, shadow, lids, logcheck, tripwire)

Page 44: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Il nostro cervello come miglior difesaIl nostro cervello come miglior difesa

Il modo migliore per garantire la sicurezza di una macchina e` quello di padroneggiare pienamente tutto quello che avviene su di essa.

Questo implica alcune riflessioni:avere la coscienza di come vengono avviati e gestiti tutti i servizi dal sistema operativocontrollare che effettivamente ci siano tutti e solo i processi che servono e che sono consentitisaper interagire con il software utilizzato in modo da poterlo adattare ad hoc per ogni nostra esigenza

Page 45: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Processi e porteProcessi e porte

Gli aspetti piu` importanti nell'ambito della sicurezza di rete sono le porte che vengono utilizzate dal sistema per comunicare con l'esterno.

Appena terminata l'installazione bisogna controllare che i processi in esecuzione e le porte che questi eventualmente bindano siano

effettivamente quelle di cui necessitiamo, imponendo gia` delle policy di sicurezza di rete (firewall, wrapper, binding su interfacce multiple).

PROGRAMMI: ps, netstat, fuser, ipchains/iptables

Page 46: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Startup della macchinaStartup della macchina

È molto importante individuare le procedure di startup del sistema (normalmente identificare in una serie di rcfiles), e di modificare questi script in modo da far eseguire loro solamente quello che e` necessario per portare il sistema dalla condizione di boot (appena viene lanciato il demone init), alla configurazione ottimale che abbiamo raggiunto con le nostre personalizzazioni.

In questo modo avremo un boot ottimizzato sia dal punto di vista della velocità che da quello della sicurezza di rete.

Page 47: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

InitInit per iniziare per iniziare

Per capire il funzionamento del sistema analizziamo la procedura di avvio partendo dall'inizio.Il demone che si occupa di caricare gli script e` init, il quale viene lanciato dal kernel subito dopo il boot (a meno che non si specifichi diversamente); la divisione in runlevel ci permette di specificare diversi stati nel quale il nostro sistema si puo` trovare, e configurare un comportamento adeguato dei servizi.

Il contenuto del file /etc/inittab ci identifica per ogni runlevel come agire, fornendo servizi base come la gestione delle tty, e definendo gli script da eseguire ad ogni cambio di stato.

Page 48: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Eliminazione dei servizi di reteEliminazione dei servizi di rete

La prima cosa da fare una volta installata una qualunque distribuzione è quella di eliminare i servizi di rete che sono inutili nel contesto in cui stiamo configurando la macchina. I servizi di rete rappresentano quasi sempre un potenziale punto di accesso per l'attacco del sistema da parte di un cracker. Il comando per controllare il numero dei servizi di rete presenti su una macchina è netstat; con l'opzione -t si vedranno tutte le porte tcp che permettono un accesso al vostro sistema con l'opzione -u si vedranno invece i servizi udp attivi sulla macchina.

Page 49: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Eliminazione dei servizi di reteEliminazione dei servizi di rete

Per disattivare i servizi basta digitare il seguente comando: /etc/init.d/nome-servizio stop Dobbiamo inoltre eliminare il servizio al boot della macchina rimuovendo il link dello script relativo al runlevel di partenza; il runlevel di partenza si trova nel file di configurazione di init /etc/innitab. Nel caso di un server gestito da inetd abbiamo un file di configurazione unico, inetd.conf. In questo file ci sono dei campi per ogni servizio che deve essere gestito. Se all'inizio della riga troviamo il # vuol dire che il servizio è disabilitato. Se vogliamo disabilitare un server dobbiamo quindi porre un # all'inizio della riga del servizio.

Page 50: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Sotto linux è possibile creare una lista di accesso per gli host che possono usare un certo servizio e una lista di quelli che non possono accedervi. I file di configurazione sono due: /etc/hosts.allow e /etc/hosts.deny. Vediamo un esempio che ne chiarirà l'uso:

Questa semplice configurazione rappresentata dai file /etc/host.allow e /etc/host.deny segue una filosofia che è bene sempre seguire nel campo della

sicurezza e cioè: tutto ciò che non è espressamente concesso viene negato. Inoltre, nel file /etc/hosts.deny si può inserire la direttiva ALL:PARANOID, negando cosi il servizio alle macchine i cui indirizzi IP non vengono risolti.

/etc/hosts.allowftp: 192.168.200.2, 192.168.200.3 telnet: 192.168.200.3

/etc/hosts.deny ALL:ALL

Filtrare i servizi di reteFiltrare i servizi di rete

Page 51: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Sicurezza localeSicurezza locale

Spesso bisogna controllare anche le politiche di sicurezza locali, e non solo quando molti utenti hanno accesso alla macchina, ma anche per impedire ad esempio la scalata dei privilegi verso root da parte di un intruso esterno con privilegi inferiori.

I programmi che girando fanno acquisire il privilegio di root costituiscono un problema di sicurezza locale molto grave, bisogna quindi:localizzarli all'interno del sistemaanalizzare se sono realmente necessarieventualmente eliminare la flag s dai permessi

PROGRAMMI: find(1), chmod(1)

Page 52: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Limitare i privilegiLimitare i privilegi

Uno dei modi migliori per cercare di limitare i danni dovuti ad un'intrusione è quello di fornire ad ogni processo il minimo di permessi che gli servono per svolgere con successo il suo compito, impedendogli di poter fare altro.Far girare quindi demoni che non richiedono privilegi di root e` un'ottima pratica, o esternamente all'atto del lancio (attraverso il comando su(1)), oppure da codice attraverso chiamate come setuid(2), seteuid(2), setgid(2) e setegid(2).

Il dropping dei privilegi va associato ad una attenta gestione dei permessi dei file del nostro sistema.

Page 53: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

File di LogFile di Log

Conoscere lo stato a regime del sistema significa poter cogliere i segnali premonitori •Dimensione anomala dei file di log•Signature di attacchi

Riconoscere tempestivamente un problema consente di avere più chances di prevenire danni (non necessariamente dovuti a intrusioni)

Chi li genera? Cosa ci dicono?

Tutto può essere fonte di log: l’hardware tramite il kernel, i demoni (sshd, telnetd, inetd...), gli applicativi (mysql, cron, ...)

Page 54: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

File di LogFile di Log

/var/log/

È la directory dei file di log. Esempi importanti: BootMessagesMaillogSecure

Considerazioni:o Conoscere il sistema per non disperdersi nella mole delle informazioni.o Analizzare in modo incrociato le informazioni dei diversi file di logo In caso di più sistemi considerare l’opportunità di installare un log server per centralizzare i log

Page 55: Fulvio Bartoloni Davide Vergni Sicurezza degli host: Unix e Microsoft Davide Vergni (IAC – CNR) Fulvio Bartoloni (Collaboratore IAC – CNR)

Fulvio Bartoloni Davide Vergni

Bibliografia - SitografiaBibliografia - SitografiaBibliografiaAleph One – "Smashing the Stack for Fun and Profit", http://packetstorm.widexs.nl/docs/hack/smashstack.txt http://www.cert.org/tech_tips/usc20_full.html Wietse Venema – "Wietse’s tools and papers", ftp://ftp.porcupine.org/pub/security/index.htmlDarren Reed – "IP Filter", http://cheops.anu.edu.au/~avalon/ip-filter.htmlChristopher H. Hertel – "Implementing CIFS", Ubiqx, 2001, http://ubiqx.org/cifs/NetBIOS.htmlChristopher H. Hertel – "Understanding the Network Neighborhood ", Linux Magazine, 2001, http://www.linux-mag.com/2001-05/smb_08.html http://www.samba.orgMike Warfield – "Samba – Opening Windows everywhere", Linux Magazine, 1999, http://www.linux-mag.com/1999-05/samba_05.html"LanMan and NT Password Encryption in Samba 2.x ", Samba Documentation, http://de.samba.org/samba/ftp/docs/htmldocs/ENCRYPTION.htmlCisco Systems – "AppleTalk ", http://my.netfilter.se/cisco/icnd/data/itm/routed/apple/rdap.htmPaul Shields – "Building an office network: AppleTalk vs. TCP/IP", http://www.thebusinessmac.com/features/at_tcpip.shtml"AppleTalk routing", http://www.tns.utk.edu/tech/apple/aatroute1.htmlJeffrey Buchbinder – "Project Netatalk", http://sourceforge.net/netatalkDavid Hornsby – "Columbia AppleTalk Package", http://www.cs.mu.oz.au/appletalk/cap.html

RiferimentiSicurezza:http://csrc.nist.gov/isptg/html/ISPTG.htmlProtocolli Microsoft:http://www.microsoft.com/msj/defaulttop.asp?page=/msj/archive/cifs.htmhttp://www.amagri.it/Sicurezza_MS_Windows/Metodi_autenticazione/metodi_autenticazione.htmhttp://mlug.missouri.edu/presentations/20-january-1999.htmlProtocolli Apple:http://www.linuxworld.com/linuxworld/lw-1999-04/lw-04-uptime.html http://www.puredata.com/supports/download/softwaredoc/lanproto/appletk7.htmhttp://developer.apple.com/techpubs/macos8/NetworkCommSvcs/AppleShare/appleshare.htmlVarie:www.microsoft.com/technet/security/bulletin/ www.puntoinformatico.it/news/www.atstake.com/research/lc3/www.rhino9.ml.orgwww.shebeen.com/iis4_nt4sec.htm#Table%203www.bugnet.comwww.insecure.orgwww.L0pht.com