La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sicurezza delle reti Intrusione e Monitoraggio Giuseppe Stanghellini ITESRE - CNR - Bologna.

Presentazioni simili


Presentazione sul tema: "Sicurezza delle reti Intrusione e Monitoraggio Giuseppe Stanghellini ITESRE - CNR - Bologna."— Transcript della presentazione:

1 Sicurezza delle reti Intrusione e Monitoraggio Giuseppe Stanghellini ITESRE - CNR - Bologna

2 Introduzione I servizi di rete: La modalita' di abilitazione dei servizi in Unix. L'attacco: Tipi di attacco piu' comuni. La difesa: cosa possiamo fare. Il monitoraggio: Strumenti open source di monitoraggio reti e filesystem.

3 I Servizi (ftpd, telnetd, etc.) I Servizi: File di configurazione dei principali servizi, /etc/inetd.conf /etc/services /etc/exports /etc/ftp* /etc/rc.d Tramite questi file si abilitano/disabilitano praticamente tutti i servizi unix: una loro scorretta configurazione porta ad un sistema insicuro.

4 I servizi avviati al "boot" >cd /etc >ls -d rc* rc0.d/ rc2.d/ rc4.d/ rc6.d/ rc.d/ rc1.d/ rc3.d/ rc5.d/ > >ls rc3.d > >ls -l rc3.d/S60lpd lrwxrwxrwx 1 root root 13 Nov 10 08:27 rc3.d/S60lpd ->../init.d/lpd*

5 I Servizi attivati su richiesta # # inetd.confThis file describes the services that will be available #through the INETD TCP/IP super server. To re-configure #the running INETD process, edit this file, then send the #INETD process a SIGHUP signal. # # These are standard services. # ftpstreamtcpnowaitroot/usr/sbin/tcpdin.ftpd -l -a telnetstream tcp nowait root /usr/sbin/tcpdin.telnetd # # Shell, login, exec, comsat and talk are BSD protocols. # #shellstreamtcpnowaitroot/usr/sbin/tcpdin.rshd #loginstreamtcpnowaitroot/usr/sbin/tcpdin.rlogind #execstreamtcpnowaitroot/usr/sbin/tcpdin.rexecd #comsatdgramudpwaitroot/usr/sbin/tcpdin.comsat #talkdgramudpwaitroot/usr/sbin/tcpdin.talkd #ntalkdgramudpwaitroot/usr/sbin/tcpdin.ntalkd #dtalkstreamtcpwautnobody/usr/sbin/tcpdin.dtalkd # # Pop and imap mail services et al # #pop-2 stream tcp nowait root /usr/sbin/tcpdipop2d #pop-3 stream tcp nowait root /usr/sbin/tcpdipop3d

6 L'Attacco Due tipi di attacco, uno con utilizzo dei servizi dall'esterno, l'altro con intrusione vera e propria. Esempi di attacco di primo tipo: a) Accesso ad aree pubbliche ftp. b) Spamming di posta elettronica. c) "DOS denial of service."

7 L'Attacco Esempio di attacco di secondo tipo: Prima entrata tramite utente qualsiasi, anche con bassi privilegi, o tramite baco di sistema. Successivo sfruttamento di un baco di sistema per acquisire privilegi di root. Si trovano riferimenti che aiutano ad entrare in tutti i sistemi. Modifica di alcuni binari peculiari di Unix (/bin/login, /bin/ps, /bin/top, etc..) + (installazione di software dedicato: chat, ftp per scambio file, etc.)

8 Cosa vuole l'intruso Sostanzialmente vuole avere accesso a quante piu' reti possibile, a quanta piu' banda possibile, a quante piu' macchine possibili. Usa sempre le reti nel quale si e' introdotto per guadagnare l'accesso ad altre reti ("sniffaggio" dei pacchetti di telnet,ftp... da e verso altre reti.) Scansione di altre reti tramite portscan. Utilizzo di macchine molto potenti per il "cracking" delle password. Utilizzo delle macchine di cui si impadronisce per spamming di posta elettronica.

9 Il monitoraggio Due tipi di monitoraggio: a) Monitoraggio della rete a basso livello, per intercettare l'hacker all'atto della intromissione. b) Monitoraggio del sistema e della rete per intercettare l'hacker dopo che e' gia' entrato nel sistema. Il monitoraggio della rete si realizza con strumenti del tipo di tcpdump, ntop, arpwatch, ethereal o snort. Ntop: intercetta e registra tutto il traffico di rete, su tutti i protocolli e su tutte le porte. Dispone di un accesso tipo http ed e' molto facile da consultare. Arpwatch: Notifica tramite l'invio di un mail, la comparsa nella rete locale di ogni nuovo numero ip. (E' utile solo nel caso gli utilizzatori siano costanti).

10 Ethereal E' uno sniffer molto evoluto. Ha la stessa sintassi del tcpdump, e quindi e' in grado di filtrare il traffico sulla base di indirizzo ip, porta, protocollo, reti e sottoreti. Ha la capacita' di riassemblare i pacchetti di uno stream tcp e di visualizzarli in modalita' ASCII (utile per sniffare sessioni di telnet o ftp) Per contro ha bisogno di un hardware molto potente.

11 Che tipo di filtraggio e' possibile con ethereal Supponiamo di dover controllare tutto il traffico di una macchina verso l'esterno: host and not src and dst net Oppure di dover controllare delle determinate porte (telnet, ftp, e sendmail) port (25 or 23 or 21) Oppure una porta in uscita: dst port 8888

12 SNORT Snort: E' un vero e proprio IDS (Intrusion Detection System). E' programmabile tramite regole. E' molto veloce e raramente perde pacchetti. E' estremamente facile da compilare e da installare Esistono regole di monitoraggio gia' pronte per l'uso, tali regole vengono periodicamente aggiornate rendendo il programma abbastanza efficace nel diagnosticare gli attacchi (portscan, buffer overflow, etc).

13 Esempio di utilizzo di SNORT ================= Sintassi regole ===================== alert TCP any any <> any 8888 (msg:"Napster 8888 Data"; flags: PA; content: ".mp3"; nocase; ) alert TCP any any -> any 21 (msg:"IDS287 - FTP - Wuftp260 linux"; flags: PA; content: "|31C0 31DB 31C9 B046 CD80 31C0 31DB|"; ) ================= OUTPUT ===================== 11/21-16:08: [**] Napster 8888 Data [**] :1146 -> : /21-16:08: [**] MISC-WinGate-8080-Attempt [**] :1206 -> : /21-16:08: [**] Napster 8888 Data [**] :1146 -> : /21-16:08: [**] Napster 8888 Data [**] :8888 -> : /21-16:08: [**] Napster 8888 Data [**] :1277 -> : /21-16:08: [**] Napster 8888 Data [**] :8888 -> : /21-16:08: [**] Napster 8888 Data [**] :8888 -> : /21-16:08: [**] Napster 8888 Data [**] :1092 -> : /21-16:08: [**] Napster 8888 Data [**] :8888 -> : /21-16:46: [**] CVE WEB-count.cgi [**] :4092 -> :80 11/21-16:59: [**] IDS8 - TELNET - daemon-active [**] :23 -> : /21-17:00: [**] FrontPage-shtml.exe [**] :1078 -> :80 11/21-17:32: [**] IDS322 - FTP-nopassword [**] :3332 -> :21

14 Monitoraggio del sistema L'intruso una volta entrato e' causa di cambiamenti a livello di filesystem, molte sue operazione verranno registrate nei file di log (/var/log). Spesso la sua attivita' perturba anche il sistema a livello di filesystem, installa nuovi servizi, riconfigura i file di sistema (/etc), o addirittura cambia i binari critici (login, ps, top) con versioni proprie. Quindi: Monitorare il file system, soprattutto i binari e i file di configurazione e' un ottimo metodo per capire se un sistema e' stato compromesso. Per ottenere cio' esistono prodotti in commercio; come tripwire. Non e' pero' difficile scrivere in proprio delle routine dedicate che tengono una copia dei binari peculiari o un crc checksum, e li controllano periodicamente.

15 EXT2: Come difendersi in linux Il filesystem di Linux ci mette a disposizione uno strumento per impedire la modifica dei binari. Ci sono degli attributi estesi dei file che li possono rendere "immutable" o "append only". I comandi per modificare o visualizzare tali attributi sono "chattr" e "lsattr". Questa caratteristica combinata coi comandi: lcap CAP_LINUX_IMMUTABLE lcap CAP_SYS_RAWIO possono rendere determinati files e/o directory immutabili anche per l'utente root; una volta che lcap ha rimosso una capacita' dal kernel, non c'e' modo di riattivarla, a meno di un reboot della macchina. Quindi in sistemi opportunamente configurati si puo' ottenere che determinate strutture di directory non siano modificabili senza avere accesso fisico alla macchina e poterla controllare in modalita' single- user.

16 Su cosa possiamo utilizzare gli "extended attributes" chattr -R +i /bin /boot /lib /sbin chattr -R +i /usr/bin /usr/lib /usr/sbin chattr +a /var/log/messages /var/log/secure... Cose da non fare assolutamente: Cambiare gli attributi estesi sui file in /dev, /tmp.

17 Aumentiamo la sicurezza " Disattivazione di tutti i servizi non necessari. " Filtraggio (a livello di router o di firewall) di tutte le porte inutili (cosi' si diminuisce di molto l'appetibilita' della rete). " Verificare la presenza di patch e installare tutte quelle relative alla sicurezza (security patches). " Utilizzo (per Linux) delle caratteristiche LCAP + attributi estesi di EXT2. " Monitoraggio di rete e dei filesystem.

18 Considerazioni L'hackeraggio e' un fenomeno in aumento, oggi e' facile improvvisarsi hacker. E' relativamente facile reperire in internet le informazioni relative ai bachi di sistema. Questo consente a chi si occupa di sicurezza di avere una fonte di informazione sicura ed efficace. Il fenomeno si puo' combattere in piu' modi: patches, controllo, monitoraggio e filtraggio.

19 Riferimenti di partenza


Scaricare ppt "Sicurezza delle reti Intrusione e Monitoraggio Giuseppe Stanghellini ITESRE - CNR - Bologna."

Presentazioni simili


Annunci Google