Sicurezza degli host: Unix e Microsoft

Slides:



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

ISA Server 2004 Configurazione di Accessi via VPN
La riduzione dei privilegi in Windows
Introduzione ad Active Directory
Configuring Network Access
Installazione di Apache 2, PHP5, MySQL 5
Webb.it 2002 Fabio Busatto Linux Startup: configurazione sicura post installazione
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Gestione dei laboratori Come rendere sicura la navigazione internet e l'uso della rete Lorenzo Nazario.
INTERNET FIREWALL Bastion host Laura Ricci.
1 I KEYLOGGERS COSA SONO CONTROMISURE UN ESEMPIO.
Sicurezza II Prof. Dario Catalano Autentica di Umani.
Organizzazione di una rete Windows 2003
Sicurezza e Policy in Active Directory. Sommario Amministrazione della sicurezza in una rete Windows 2003 Amministrazione della sicurezza in una rete.
Responsabile: Ing. Daniele Bocci CORSO INTEGRATO DI INFORMATICA Master in Management Infermieristico.
Laurea Triennale in Infermieristica
Giuseppe Fabio Fortugno.
NESSUS.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Remote file access sulla grid e metodi di interconnesione di rete M. Donatelli, A.Ghiselli e G.Mirabelli Infn-Grid network 24 maggio 2001.
Posta elettronica ( ) chiocciola" comunemente letta at Identificativo dellutente Identificativo del computer centrale sul quale risiede.
Struttura dei sistemi operativi (panoramica)
Il Client Windows98 Client nel dominio Windows 2000.
AICA Corso IT Administrator: modulo 5 AICA © EUCIP IT Administrator Modulo 5 - Sicurezza Informatica Esercitazione Alberto Bosio.
TCP_Wrapper Le richieste per un determinato servizio (ad. es. telnet, ftp, rsh, etc.) vengono soddisfatte soltanto se lindirizzo IP del richiedente rientra.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Il Firewall Sistemi di elaborazione dellinformazione : Sicurezza Anno Accademico 2001/2002 Martini Eros.
INTERNET FIREWALL BASTION HOST.
Gruppo Directory Services Rapporto dell'attivita' svolta - Marzo 2000.
Corso di Informatica per Giurisprudenza Lezione 7
Social network Internet. Eun sito web di reti sociali, ad accesso gratuito. È il secondo sito più visitato al mondo, preceduto solo da Google. Il.
Norman SecureTide Soluzione sul cloud potente per bloccare le spam e le minacce prima che entrino all'interno della rete.
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
1 Installazione da rete Introduzione Configurazione del server NFS Cosa serve sul client Configurazione kickstart.
Norman Endpoint Protection Sicurezza all'avanguardia in tutta facilità!
Guida IIS 6 A cura di Nicola Del Re.
L’applicazione integrata per la gestione proattiva delle reti IT
1 20 maggio 2005 MISURE DI SICUREZZA INFORMATICA DEL NUOVO CODICE DELLA PRIVACY (d.lgs. 30 giugno 2003, n. 196)
1 Modello di utilizzo n° 1 Login al sistema. 2 Accedere al sistema con autenticazione debole: PASSWORD ? PASSWORD scaduta ? La password è adeguata alle.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
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.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Creare pagine web Xhtlm. Struttura di una pagina.
Backup and Migrate, Captcha ReCaptcha e Spamicide Docente: Simone Zambenedetti. Moduli per la Sicurezza.
Configurazione di una rete Windows
Amministrazione della rete: web server Apache
Lezione 1 Approccio al sistema operativo : la distribuzione Knoppix Live Cd Knoppix 3.6 Interfacce a caratteri e grafica: console e windows manager File.
Installazione Come tecnico, si potrebbe aver necessità di effettuare una installazione pulita di un sistema operativo. L'esecuzione di una installazione.
IPSec Fabrizio Grossi.
A cura di: Huber Roberto, Zaharulko Nicola, Debernardi Daniele.
Creato da Riccardo Nuzzone
1 Storia di Internet Internet non è un’invenzione degli anni ’90….. Nata dagli studi di un’agenzia detta ARPA (Advanced Research Projects Agency) Internet.
Sicurezza nella Sezione INFN di Bologna Franco Brasolin Servizio Calcolo e Reti Sezione INFN di Bologna Riunione Referenti – Bologna 17 Novembre 2003 –
Francesco M. Taurino 1 NESSUS IL Security Scanner.
Introduzione agli aspetti di sicurezza dei sistemi informatici 19 Settembre 2005.
Certificati e VPN.
Come applicare le disposizione del Garante per la Privacy utilizzando i prodotti Microsoft Fabrizio Grossi.
Layered Grid Architecture. Application Fabric “Controlling elements locally”: Access to, & control of, resources Connectivity “Talking to Grid elements”:
UNITA’ 02 Malware.
I FIREWALL. COSA SONO I FIREWALL? LAN MONDO ESTERNO UN FIREWALL E’ UN SISTEMA CHE SUPPORTA UNA POLITICA DI CONTROLLO DEGLI ACCESSI FRA DUE RETI (POLITICHE.
31 ottobre Security Assessment per Cassa Centrale Analisi delle modalità di deployment di server e di postazioni utente. Simulazione di consulente.
Le basi di dati.
I sistemi operativi Funzioni principali e caratteristiche.
Prof. Giuseppe Mastronardi 1 SAM Security Account Manager debolezze ed hardening di Windows XP POLITECNICO DI BARI Sicurezza dei Sistemi Informatici.
 Network Address Traslation: tecnica che permette di trasformare gli indirizzi IP privati in indirizzi IP pubblici  Gli indirizzi devono essere univoci.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Transcript della presentazione:

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

Sicurezza degli host: Unix e Microsoft 1 Sicurezza host: livelli di sicurezza, Orange book, RFC 2 Sicurezza host Microsoft Introduzione Autenticazione Sicurezza locale Sicurezza in Internet Sicurezza ai virus Problemi di sicurezza Configurazioni consigliate per la sicurezza 3 Sicurezza host Unix 4 Il progetto Security Enhaced Linux 5 Glossario termini 6 Bibliografia-Sitografia

Introduzione 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

Standard di sicurezza 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.B I criteri di valutazione TCSEC dividono in quattro categorie il tipo di protezione assicurato da ogni livello: D: nessuna protezione C: protezione discrezionale B: protezione obbligatoria A: protezione certificata

Definizione 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.

Cosa può accadere? L’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

Cosa può accadere? La 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.

Cosa può accadere? I 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

Cosa può accadere? 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

Cosa può accadere? Il 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).

Altre 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

Autenticazione 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 autenticazione Autenticazione ¹ 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

Politica 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 Aggiungere o eliminare utenti deve essere facile L’utente deve apprendere la procedura in poco tempo Devono esserci pochi segreti condivisi

Password Il modo più semplice per autenticare un utente è utilizzare il binomio Username/Password Problemi 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

Microsoft 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>>

Realizzare un host "sicuro" La strategia Rafforzare ogni windows server che può essere esposto ad un potenziale attacco proveniente da Internet. Realizzare un host "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": accurata pianificazione ed amministrazione "umana" software sicuro

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”

Bastione Un server microsoft esterno che fornisce un insieme minimo di servizi ben configurati garentendo un buon livello di sicurezza è definito: Bastione 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.

Fortificare un bastione Quando si vuole fortificare un bastione bisogna porsi due domande: Quali sono i servizi che potenzialmente possono portare ad un attacco? In che modo il bastione protegge se stesso dagli attacchi ?

Istallazione “sicura” di NT server Ingredienti iniziali: un disco completamente “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)

Custom Install Selezionare “Custom 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

Altri 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!!)

Le due schermate!

Rimuovere 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.

Disabilitare l'interfaccia Netbios: Eliminare 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

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!!

Disabilitare 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)

Attivare 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!)

Controllare 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!)

Criptare 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/)

Microsoft 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 utilizzare C:> secedit /configure /cfg bastion.inf /db %TEMP%\secedit.sdb /verbose /log %TEMP%\scelog.txt

Secedit 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

Un esempio di parametri settati dal file bastion.inf Applica l'unicità della password memorizzando le ultime 6 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)

Altri 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”!

Servizi 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 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.

Le 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.

Le 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;

Le 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.

Open 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

Open 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

Open 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 Conviene utilizzare SW Open Source L’utente ha la piena disponibilità del codice e ne ha il controllo completo (buon sistemista)

LINUX la correzione è arrivata dopo Ping 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

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

Il 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 operativo controllare che effettivamente ci siano tutti e solo i processi che servono e che sono consentiti saper interagire con il software utilizzato in modo da poterlo adattare ad hoc per ogni nostra esigenza

PROGRAMMI: ps, netstat, fuser, ipchains/iptables Processi 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

Startup 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.

Init 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.

Eliminazione 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.

Eliminazione 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.

Filtrare i servizi di rete 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: /etc/hosts.allow ftp: 192.168.200.2, 192.168.200.3 telnet: 192.168.200.3 /etc/hosts.deny ALL:ALL 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.

Sicurezza 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 sistema analizzare se sono realmente necessari eventualmente eliminare la flag s dai permessi PROGRAMMI: find(1), chmod(1)

Limitare 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.

Chi li genera? Cosa ci dicono? File di Log 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, ...) 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)

File di Log /var/log/ È la directory dei file di log. Esempi importanti: Boot Messages Maillog Secure Considerazioni: Conoscere il sistema per non disperdersi nella mole delle informazioni. Analizzare in modo incrociato le informazioni dei diversi file di log In caso di più sistemi considerare l’opportunità di installare un log server per centralizzare i log

Bibliografia - Sitografia Aleph 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.html Darren Reed – "IP Filter", http://cheops.anu.edu.au/~avalon/ip-filter.html Christopher H. Hertel – "Implementing CIFS", Ubiqx, 2001, http://ubiqx.org/cifs/NetBIOS.html Christopher H. Hertel – "Understanding the Network Neighborhood ", Linux Magazine, 2001, http://www.linux-mag.com/2001-05/smb_08.html http://www.samba.org Mike 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.html Cisco Systems – "AppleTalk ", http://my.netfilter.se/cisco/icnd/data/itm/routed/apple/rdap.htm Paul 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.html Jeffrey Buchbinder – "Project Netatalk", http://sourceforge.net/netatalk David Hornsby – "Columbia AppleTalk Package", http://www.cs.mu.oz.au/appletalk/cap.html RiferimentiSicurezza: http://csrc.nist.gov/isptg/html/ISPTG.html Protocolli Microsoft: http://www.microsoft.com/msj/defaulttop.asp?page=/msj/archive/cifs.htm http://www.amagri.it/Sicurezza_MS_Windows/Metodi_autenticazione/metodi_autenticazione.htm http://mlug.missouri.edu/presentations/20-january-1999.html Protocolli Apple: http://www.linuxworld.com/linuxworld/lw-1999-04/lw-04-uptime.html http://www.puredata.com/supports/download/softwaredoc/lanproto/appletk7.htm http://developer.apple.com/techpubs/macos8/NetworkCommSvcs/AppleShare/appleshare.html Varie: www.microsoft.com/technet/security/bulletin/ www.puntoinformatico.it/news/ www.atstake.com/research/lc3/ www.rhino9.ml.org www.shebeen.com/iis4_nt4sec.htm#Table%203 www.bugnet.com www.insecure.org www.L0pht.com