Snort A multi-mode packet analysis tool Ασφάλεια Δικτύων, Τμήμα Πληροφορικής, Ο.Π.Α., 3-1
Περιεχόμενα Εισαγωγή Snort Θέση στο δίκτυο Αρχιτεκτονική Snort Εντοπισμός εισβολών Κανόνες Snort Demo εκτέλεσης 3-2
Περιεχόμενα Εισαγωγή Snort Θέση στο δίκτυο Αρχιτεκτονική Snort Εντοπισμός εισβολών Κανόνες Snort Demo εκτέλεσης 3-3
Εισαγωγή Σύστημα ανίχνευσης εισβολών (IDS) Αντίμετρο ασφάλειας που αναλύει την κίνηση του δικτύου. Προσδιορίζει ακολουθίες συμπεριφοράς που καταδεικνύουν πιθανές παραβιάσεις. Ενημερώνει για τα ευρήματά του. Passive λειτουργία. Σύστημα πρόληψης εισβολών (IPS) Ανίχνευση και αποτροπή κακόβουλης δραστηριότητας σε πραγματικό χρόνο. Active λειτουργία. 3-4
Περιεχόμενα Εισαγωγή Snort Θέση στο δίκτυο Αρχιτεκτονική Snort Εντοπισμός εισβολών Κανόνες Snort Demo εκτέλεσης 3-5
Τι είναι το Snort Snort Σύστημα ανίχνευσης εισβολών (NIDS) και πρόληψης εισβολών (NIPS) δικτύου. Αναπτύχθηκε το 1998 από τον Martin Roesch. Λειτουργίες Sniffer: Ανάγνωση πακέτων και εμφάνιση τους στην κονσόλα. Packet Logger: Αποθήκευση των πακέτων που διαβάζει σε αρχεία για μελλοντική εξέταση. Network Intrusion Detection System: Παρακολούθηση του δικτύου και ανάλυση της κίνησης με βάση κανόνες που ορίζει ο χρήστης και εκτέλεση συγκεκριμένων ενεργειών όταν εντοπιστεί συγκεκριμένη δράση. Network Intrusion Prevention System: Όμοια με NIDS με δυνατότητα απόρριψης πακέτων. 3-6
Απαιτήσεις Ελαφρύ Network Intrusion Detection System (NIDS) Διαθέσιμο σε Linux, Windows, Mac OS X, κ.ά. Σύστημα υψηλών δυνατοτήτων Γρήγορο (Μεγάλη πιθανότητα εντοπισμού επίθεσης σε δίκτυα των 100Mbps) Εύκολα παραμετροποιήσιμο Εύκολη γλώσσα κανόνων Ποικιλία επιλογών για καταγραφή και αναφορά Δωρεάν (GPL/Open Source Λογισμικό) 3-7
Θέση Snort στο δίκτυο (1/2) 3-8
Θέση Snort στο δίκτυο (2/2) Έξω από το firewall Όλη η κίνηση προς το δίκτυο μπορεί να καταγραφεί. Καταγραφή όλων των επιθέσεων προς το δίκτυο. Μέσα από το firewall Εντοπισμός της κίνησης που περνάει από το firewall. Καταγραφή των επιθέσεων που περνάνε από το firewall. Σε κάθε εξυπηρετητή Παρακολούθηση εξυπηρετητών με βάση τη λειτουργικότητά τους. Χρήση συγκεκριμένων κανόνων για κάθε εξυπηρετητή. 3-9
Αρχιτεκτονική Snort 3-10
Snort Components (1/2) 3-11
Snort Components (2/2) Packet Decoder: Λήψη πακέτων από τις δικτυακές διεπαφές (πχ. Ethernet) Προετοιμασία πακέτου για επεξεργασία. Preprocessor: Προετοιμασία δεδομένων για τη μηχανή εντοπισμού Εντοπισμός ανωμαλιών στις επικεφαλίδες των πακέτων Detection Engine: Εφαρμογή κανόνων στα πακέτα. Logging and Alerting System Output Modules: Επεξεργασία ειδοποιήσεων και αναφορών για τη δημιουργία της τελικής εξόδου. 3-12
Περιεχόμενα Εισαγωγή Snort Θέση στο δίκτυο Αρχιτεκτονική Snort Εντοπισμός εισβολών Κανόνες Snort Demo εκτέλεσης 3-13
TCP/IP layer Το Snort λειτουργεί στα layers: Network (IP) Transport (TCP/UDP) Application 3-14
Detection Engine Έλεγχοι από την μηχανή εντοπισμού: Στην επικεφαλίδα IP του πακέτου. Στην επικεφαλίδα του transport layer (TCP, UDP, ICMP κ.ά). Στην επικεφαλίδα του application layer (DNS, FTP, SMTP κ.ά). Περιεχόμενο του πακέτου (payload). Πραγματοποίηση ελέγχων: Με εφαρμογή κανόνων πάνω στα πακέτα, με χρήση αλγόριθμου string matching. Απαιτήσεις: Γρήγορος εντοπισμός Time critical 3-15
Περιεχόμενα Εισαγωγή Snort Θέση στο δίκτυο Αρχιτεκτονική Snort Εντοπισμός εισβολών Κανόνες Snort Demo εκτέλεσης 3-16
Κανόνες Snort (1/3) Περιγράφουν τα χαρακτηριστικά ενός πακέτου που μπορεί να έχει δεχτεί επίθεση και το χαρακτηρίζουν ως ύποπτο η βλαβερό (malicious). Αναφέρονται επίσης και ως υπογραφές (signatures). Αction: Ενέργεια που θα εκτελέσει το Snort όταν ενεργοποιηθεί κανόνας. Alert: Δημιουργία ειδοποίησης για το πακέτο. Log: Καταγραφή του πακέτου σε αρχείο. Pass: Το πακέτο αγνοείται. Activate: Δημιουργία alert και ενεργοποίηση δυναμικού κανόνα (Dynamic rule). Dynamic: Μόλις ενεργοποιηθεί ένας activate κανόνας το πακέτο καταγράφεται σε αρχείο. 3-17
Κανόνες Snort (2/3) Protocol: Τύπος του πρωτοκόλλου που ανήκει το πακέτο προς εντοπισμό (icmp, ip, udp, tcp). Source IP: Η IP του αποστολέα του πακέτου μαζί με την μάσκα δικτύου. Η τιμή «any», αντιπροσωπεύει οποιαδήποτε διεύθυνση. Source Port: Η port από την οποία έγινε η αποστολή του πακέτου (έχει νόημα για udp και tcp πακέτα). Η τιμή «any» αντιπροσωπεύει οποιοδήποτε port. 3-18
Κανόνες Snort (3/3) Destination IP: Η IP του παραλήπτη του πακέτου μαζί με την μάσκα δικτύου. Ητιμή «any» αντιπροσωπεύει οποιαδήποτε διεύθυνση. Destination Port: Η port προορισμού του πακέτου (έχει νόημα για udp και tcp πακέτα). Ητιμή «any», αντιπροσωπεύει οποιαδήποτε port. Rule Options: Χαρακτηριστικά ελέγχου πακέτου (υπογραφή επίθεσης, επίπεδο προτεραιότητας και πληροφορίες επίθεσης). Απαρτίζεται από τα τμήματα: Keyword: Δηλώνει το είδος του option (πχ msg, logto, minifrag, ttl, id, dsize, content, flags, seq, ack). Argument: Περιέχει παραμέτρους με βάση τις οποίες θα ελεγχθεί το πακέτο. 3-19
Παράδειγμα κανόνα Apply to all ip packets Source ip address destination ip address Destination port Source port # Rule options Alert will be generated if criteria met Rule header 3-20
Default rules (1/2) rules: /etc/snort/rules/scan.rules bad-traffic.rules exploit.rules scan.rules finger.rules ftp.rules telnet.rules smtp.rules rpc.rules rservices.rules dos.rules ddos.rules dns.rules tftp.rules web-cgi.rules web-coldfusion.rules web-frontpage.rules web-iis.rules web-misc.rules web-attacks.rules sql.rules x11.rules icmp.rules netbios.rules misc.rules backdoor.rules shellcode.rules policy.rules porn.rules info.rules icmp-info.rules virus.rules local.rules attack-responses.rules 3-21
Default rules (2/3) smtp.rules dos.rules 3-22
Default rules (3/3) sid keyword: Χρησιμοποιείται για τον μοναδικό εντοπισμό κανόνων του Snort. rev keyword: Χρησιμοποιείται για τον μοναδικό εντοπισμό revision κανόνων του Snort. classtype keyword: Χρησιμοποιείται για την κατηγοριοποίηση ενός κανόνα ως προς την ανίχνευση μιας επίθεσης που είναι μέρος μια πιο γενικής τάξης τύπου επίθεσης. content keyword: Επιτρέπει στο χρήστη να διαμορφώσει κανόνες που αναζητούν συγκεκριμένο περιεχόμενο σε ένα πακέτο και να ενεργοποιήσει συγκεκριμένη ενέργεια με βάση τα δεδομένα που επεξεργάστηκαν. nocase keyword: Χρησιμοποιείται για την απενεργοποίηση του case sensitive στο περιεχόμενο ενός κανόνας. Το περιεχόμενο ενός πακέτου επεξεργάζεται σαν να ήταν όλα κεφαλαία ή πεζά. 3-23
Περιεχόμενα Εισαγωγή Snort Θέση στο δίκτυο Αρχιτεκτονική Snort Εντοπισμός εισβολών Κανόνες Snort Demo εκτέλεσης 3-24
Demo εκτέλεσης Παραμετροποίηση αρχείου /etc/snort/snort.conf: var HOME_NET <target ip> Έναρξη Snort: snort -q -A console -i eth0 -c /etc/snort/snort.conf -q: Λειτουργία quiet. Δεν εμφανίζει αναφορά κατάστασης. -A: Ρύθμιση της λειτουργία ειδοποιήσεων (alerts). Εδώ είναι η κονσόλα. -i: Προσδιορισμός διεπαφής. -c: Προσδιορισμός της τοποθεσίας του configuration αρχείου. 3-25
Demo εκτέλεσης Port scanning Εκτέλεση εντολής nmap -ss target_ip Output snort (rules: /etc/snort/rules/scan.rules) 3-26
Demo εκτέλεσης ICMP μηνύματα Εκτέλεση εντολής ping -st target_ip Output snort (rules: /etc/snort/rules/icmp.rules) 3-27
Διαθέσιμο online: http://www.snort.org/ Snort manual Snort- Links http://s3.amazonaws.com/snort-org/www/assets/166/snort_manual.pdf Snort rules http://manual.snort.org/node27.html Snort graphical interfaces http://blog.snort.org/2011/01/guis-for-snort.html Οδηγίες εγκατάστασης http://www.snort.org/docs Χρήσιμα links http://www.symantec.com/connect/articles/snort-installation-and-basicusage-part-one http://www.symantec.com/connect/articles/snort-installation-and-basicusage-part-two 3-28
Περιεχόμενα Εισαγωγή Snort Θέση στο δίκτυο Αρχιτεκτονική Snort Εντοπισμός εισβολών Κανόνες Snort Demo εκτέλεσης 3-29