Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 1 H εξέλιξη του SNMP (1/3) Simple Gateway Management Protocol (SGMP) SNMPv1 RMON MIB Secure SNMP SNMPv2 working group SNMPv2 security working group SNMPv2 (original version; with security) SNMPv2 (revised version; without security) SNMPv2uSNMPv2* SNMPv3
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 2 H εξέλιξη του SNMP (2/3) July 1992: Secure SNMP (SNMPsec) RFCs (RFC ) έλεγχο της σειράς κα του χρόνου ζωής των μηνυμάτων έλεγχο γνησιότητας (authentication) έλεγχο πρόσβασης (access control) Message Digest 5 (MD5) Data Encryption Standard (DES) Simple Management Protocol (SMP) documents March 1993: SNMPv2 (SNMPv2p) RFCs (RFC 1441 έως RFC 1452) Ασφάλεια βασισμένη στην έννοια του συμβαλλόμενου (party) 1996: SMIv2, RFCs SNMPv2 χωρίς ασφάλεια, RFCs SNMPv2C, Community-based SNMPv2, RFC 1901 SNMPv2u, User-based SNMPv2, RFC 1909 & 1910
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 3 H εξέλιξη του SNMP (3/3) 1999: SNMPv3 RFC Architecture for Describing SNMP Management Frameworks RFC Message processing and Dispatching RFC SNMPv3 Applications RFC User-based Security Model RFC View-based Access Control Model
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 4 SNMPv2 Νέες δυνατότητες Επιτρέπει τη διαχείριση οποιοδήποτε πόρων και όχι μόνο πόρων του δικτύου και μπορεί να χρησιμοποιηθεί για τη διαχείριση εφαρμογών και τη διαχείριση συστημάτων. Επιτρέπει την επικοινωνία μεταξύ δύο συστημάτων διαχείρισης (manager-to- manager capabiblity) σε μια ιεραρχική αρχιτεκτονική με τη χρήση της νέας μονάδας δεδομένων του πρωτοκόλλου Inform. Έχει μηχανισμούς για την πιο αποτελεσματική ανταλλαγή μεγαλύτερου όγκου πληροφοριών διαχείρισης με τον ορισμό της νέας λειτουργίας GetBulk. Παρέχει καλύτερη τεκμηρίωση στον ορισμό των MIBs. Αυτό επιτυγχάνεται με τη χρήση μηχανισμών για την περιγραφή των ικανοτήτων ενός αντιπροσώπου σε σχέση με τις ομάδες αντικειμένων διαχείρισης (groups) και τις MIBs που υποστηρίζει.
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 5 Δομή των πληροφοριών διαχείρισης στο SNMPv2, SMIv2 (1/2) Χειρισμός Πινάκων Υποστήριξη δύο είδη πινάκων: Πίνακες στους οποίους απαγορεύεται η διαγραφή και εισαγωγή γραμμών από το σταθμό διαχείρισης και ελέγχονται πλήρως από τον αντιπρόσωπο Πίνακες στους οποίους επιτρέπεται η διαγραφή και εισαγωγή γραμμών από το σταθμό διαχείρισης, οι οποίοι είναι δυνατό να αρχικοποιούνται κενοί και μόνο ο σταθμός διαχείρισης να εισάγει και να διαγράφει γραμμές –Ύπαρξη συγκεκριμένου αντικειμένου στήλης τύπου RowStatus με κατηγορία πρόσβασης read-write Δυνατότητα πρόσθεσης νέων στηλών σε πίνακες Τα αντικείμενα στήλης που αποτελούν τμήμα του κλειδιού ενός πίνακα (auxiliary objects) δεν είναι δυνατό να προσπελαστούν από το σταθμό διαχείρισης Αλλαγή κανόνων στη δεικτοδότηση πινάκων Ελαχιστοποίηση του μεγέθους των αναγνωριστικών στιγμιότυπων Συγκεκριμένη μέθοδος διαγραφής και εισαγωγής γραμμών σε πίνακα
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 6 Δομή των πληροφοριών διαχείρισης στο SNMPv2, SMIv2 (2/2) Νέος τρόπος ορισμού αντικειμένων διαχείρισης σε MIBs Νέοι τύποι δεδομένων κυρίως για μεγαλύτερους μετρητές ( Counter64, κλπ) Δυνατότητα καθορισμού της μονάδας μέτρησης ενός αντικειμένου διαχείρισης (UNITS) Νέος τρόπος ορισμού της αναφοράς αναπάντεχων γεγονότων από τον αντιπρόσωπο στο σταθμό διαχείρισης (NOTIFICATION)
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 7 SNMPv2 PDUs ΔιαχειριστήςΑντιπρόσωπος GetRequest-PDU Response-PDU Αντιπρόσωπος GetNextRequest-PDU Response-PDU Διαχειριστής Αντιπρόσωπος SetRequest-PDU Response-PDU ΔιαχειριστήςΑντιπρόσωπος SNMPv2-Trap-PDU Αντιπρόσωπος GetBulkRequest-PDU Response-PDU Διαχειριστής InformRequest - PDU Response-PDU Διαχειριστής
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 8 SNMPv2 GetBulkRequest PDU (1/2) GetBulkRequest(non-repeaters, max-repetitions, variable-names) name1 name2 nameN nameN+1 nameN+2 nameN+R L= αριθμός των ονομάτων μεταβλητών Ν= MAX [MIN(non-repeaters, L), 0] M= MAX [max-repetitions, 0] R= L- N Για τα πρώτα Ν ονόματα ανάκτηση της τιμής του επόμενου λεξικογραφικά αντικειμένου Για τα τελευταία R ονόματα ανάκτηση της τιμής των επόμενων Μ λεξικογραφικά αντικειμένων
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 9 SNMPv2 GetBulkRequest PDU (2/2) Δίκτυο υπολογιστών Σταθμός διαχείρισης αντιπρόσωπος Χ Υ GetBulkRequest(non-repeaters=2 max-repetitions=6, X, Y, TA, TB, TC) Response(X, Y, TA(1), TB(1), TC(1) TA(2), TB(2), TC(2) TA(3), TB(3), TC(3) TA(4), TB(4), TC(4) TA(5), TB(5), TC(5) TA(6), TB(6), TC(6))
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 10 Άλλα θέματα σχετικά με SNMPv2 Συνύπαρξη μεταξύ SNMPv1 και SNMPv2 Χρήση πληρεξούσιου αντιπροσώπου που μετατρέπει τις SNMPv1 PDUS σε SNMPv2 PDUs Χρήση δίγλωσσου σταθμού διαχείρισης που χρησιμοποιεί την ανάλογη έκδοση του πρωτοκόλλου σύμφωνα με τον τύπο του αντιπροσώπου με τον οποίο επικοινωνεί SNMPv2 MIB system group: επέκταση της ομάδας system με αντικείμενα που επιτρέπουν σε έναν SNMPv2 αντιπρόσωπο την περιγραφή πόρων της διάρθρωσής του SNMP group: επαπροσδιορισμός της ομάδας για την περιγραφή του πρωτοκόλλου SNMP MIB objects group: ένα σύνολο αντικειμένων που σχετίζονται με το χειρισμό των SNMPv2-trap PDUs για το συντονισμό της λειτουργίας set μεταξύ σταθμών διαχείρισης Ορισμός της συμμόρφωσης (conformance statements) Δυνατότητα ορισμού του επιπέδου υλοποίησης μιας SNMPv2 οντότητας σε σχέση με τους σχετικούς πρότυπους ορισμούς αντικειμένων. Για παράδειγμα, ορισμό του βαθμού υλοποίηση συγκεκριμένων ΜΙΒ ομάδων αντικειμένων (AGENT-CAPABILITIES)
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 11 SNMPv3 Βασικές σχεδιαστικές αρχές: Χρήση της υπάρχουσας εμπειρίας από την υλοποίηση προηγούμενων εκδόσεων του πρωτοκόλλου Ασφάλεια στη μετάδοση των μηνυμάτων set Αρχιτεκτονική τμηματοποιημένη (modular) ώστε: να είναι δυνατή η υλοποίηση από απλών έως πολύπλοκων συστημάτων διαχείρισης ανάλογα με τις ανάγκες και το μέγεθος των δικτύων και των συσκευών να είναι δυνατή η προτυποποίηση τμημάτων του πρωτοκόλλου να είναι δυνατή η υποστήριξη διαφορετικών σχημάτων ασφάλειας και ελέγχου πρόσβασης Συγκράτηση της απλότητας του πρωτοκόλλου
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 12 Η αρχιτεκτονική στο SNMPv3 οντότηταSNMP (SNMP entity) Μια οντότητα SNMP (SNMP entity) αποτελείται από: Μία μηχανή SNMP(SNMP engine) που αποτελείται από ένα σύνολο υποστηστημάτων (subsystems) Ένα σύνολο εφαρμογών (applications) Τα υποσυστήματα μιας μηχανής SNMP είναι: Ο διανομέας μηνυμάτων (dispatcher). Ένας μόνο διανομέας υπάρχει σε κάθε μηχανή και επιτρέπει την αποστολή και λήψη μηνυμάτων SNMP και την προώθηση ενός μηνύματος στο κατάλληλο υποσύστημα, ανάλογα με την έκδοση του πρωτοκόλλου. Το υποσύστημα επεξεργασίας μηνυμάτων (message processing subsystem) που μπορεί να υποστηρίζει τις μορφές μηνυμάτων των πρωτοκόλλων SNMPv1, SNMPv2c και SNMPv3. Το υποσύστημα ασφάλειας (security subsystem) που είναι υπεύθυνο για τον έλεγχο γνησιότητας και την τήρηση της ιδιωτικότητας των SNMP μηνυμάτων. Το υποσύστημα ελέγχου πρόσβασης (access control subsystem) που είναι υπεύθυνο για το ποιος είναι αρμόδιος να έχει πρόσβαση σε συγκεκριμένα τμήματα των πληροφοριών.
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 13 Η αρχιτεκτονική στο SNMPv3 οντότηταςSNMP (SNMP entity) Οι εφαρμογές μιας οντότητας SNMP (SNMP entity) είναι: Εφαρμογή δημιουργίας εντολών (command originator) Εφαρμογή απάντησης εντολών (command responder) Εφαρμογή δημιουργίας ενημερώσεων (notification originator) Εφαρμογή παραλαβής ενημερώσεων (notification receiver) Εφαρμογή προώθησης μηνυμάτων (proxy forwarder) Ένα SNMPv3 περιβάλλον διαχείρισης αποτελείται από: πολλούς κόμβους, καθένας εκ των οποίων περιέχει μια οντότητα SNMP που παίζει τον παραδοσιακό ρόλο του αντιπροσώπου. Η οντότητα SNMP περιέχει την εφαρμογή απάντησης εντολών (command responder) και την εφαρμογή αποστολέα ενημερώσεων (notification originator). τουλάχιστον μια οντότητα SNMP που παίζει τον παραδοσιακό ρόλο του διαχειριστή και περιέχει την εφαρμογή δημιουργίας εντολών (command generator) ή/και την εφαρμογή παραλαβής ενημερώσεων. το πρωτόκολλο διαχείρισης.
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 14 Η αρχιτεκτονική του διαχειριστή SNMPv3 Υποσύστημα διεκπεραίωσης μηνυμάτων Υποσύστημα επεξεργασίας μηνυμάτων V1 V2c V3 άλλο Υποσύστημα ασφάλειας Άλλο μοντέλο ασφάλειας User- based security model UDPIPXάλλο δίκτυο SNMP οντότητα Εφαρμογή αποστολής ενημερώσεων Εφαρμογή παραλαβής ενημερώσεων Εφαρμογή δημιουργίας εντολών
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 15 Η αρχιτεκτονική του αντιπροσώπου SNMPv3 Υποσύστημα διεκπεραίωσης μηνυμάτων Υποσύστημα επεξεργασίας μηνυμάτων V1 V2c V3 άλλο Υποσύστημα ασφάλειας Άλλο μοντέλο ασφάλειας User-based security model UDPIPXάλλο Εφαρμογή απάντησης ερωτήσεων Εφαρμογή δημιουργίας ενημερώσεων Εφαρμογή προώθησης μηνυμάτων ΜΙΒ Υποσύστημα ελέγχου πρόσβασης Άλλο μοντέλο πρόσβασης View- based access control δίκτυο
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 16 SNMPv3 User-based Security Model (USM) Αντιμετώπιση προβλημάτων ασφάλειας: Μία μη-αρμόδια (unauthorized) οντότητα μπορεί να αλλάξει τα περιεχόμενα ενός μηνύματος SNMP που έχει δημιουργήσει μία αρμόδια οντότητα κατά τη διάρκεια μεταφοράς του μηνύματος (Modification of information) Μία μη-αρμόδια οντότητα προσπαθεί να εκτελέσει μια λειτουργία προσποιούμενη μία αρμόδια οντότητα (Masquerade) Αλλαγή σειράς, διπλασιασμός ή καθυστέρηση ενός μηνύματος μεγαλύτερη από αυτή σε συνήθεις συνθήκες λειτουργίας του δικτύου (Message stream modification) Μη-αρμόδιες οντότητες SNMP μπορούν να δουν τα περιεχόμενα ανταλλαγής SNMP μηνυμάτων (Disclosure)
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 17 SNMPv3 User-based Security Model (USM) Τα βασικά στοιχεία του μοντέλου ασφαλείας που βασίζεται στο χρήστη Αυθεντικοποίηση (Authentication): παρέχει ακεραιότητα δεδομένων και έλεγχο γνησιότητας της πηγής των δεδομένων. Χρησιμοποιεί Message Authentication Code HMAC με τη συνάρτηση κατακερματισμού (hash function) MD5 ή SHA-1. Χρόνος άφιξης μηνυμάτων (Timeless): παρέχει προστασία έναντι στην καθυστέρηση ή στο διπλασιασμό μηνυμάτων Ιδιωτικότητα (privacy): παρέχει προστασία έναντι στη παρακολούθηση των μηνυμάτων από μη-αρμόδιες οντότητες με τη χρήση του DES Μορφή μηνυμάτων SNMP: καθορίζει τη μορφή των μηνυμάτων όταν υποστηρίζεται αυθεντικοποίηση, έλεγχο χρόνου άφιξης μηνυμάτων και ιδιωτικότητα. Διαχείριση κλειδιών (key management): Ορίζει διαδικασίες για δημιουργία, ενημέρωση και χρήση των κλειδιών
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 18 Βασικές έννοιες του USM (1/2) Η έννοια του principal: εκ μέρους του οποίου παρέχονται οι υπηρεσίες ή εκτελείται η επεξεργασία, μπορεί να είναι άτομο, σύνολο ατόμων με συγκεκριμένες αρμοδιότητες, εφαρμογή ή σύνολο εφαρμογών ή συνδυασμός τους Ο principal στο USM είναι ο χρήστης (user) που αναγνωρίζεται με ένα userName Ο χρήστης γνωρίζει τα μυστικά κλειδιά και πληροφορίες σχετικά με την ασφάλεια όπως ποιοι αλγόριθμοι κρυπτογραφίας θα χρησιμοποιηθούν Το userName αντιστοιχεί σε ένα αναγνωριστικό securityName που δεν εξαρτάται από το πρωτόκολλο και είναι αλφαριθμητικό που μπορεί να διαβαστεί από ανθρώπους Μία μηχανή SNMP αναγνωρίζεται από to snmpEngineID
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 19 Βασικές έννοιες του USM (2/2) Η έννοια της αυθεντικής (authoritative) SNMP μηχανής: Όταν ένα μήνυμα χρήζει απάντησης (get-request, get-next-request, get-bulk- request, set-request, inform-request) τότε ο παραλήπτης πρέπει είναι αυθεντική οντότητα Όταν ένα μήνυμα δε χρήζει απάντησης (SNMPv2-trap, response και report) τότε ο αποστολέας πρέπει να είναι αυθεντική οντότητα Τα κλειδιά του χρήστη που αποθηκεύονται στις μηχανές SNMP είναι τοπικά για τις αυθεντικές μηχανές SNMP Οι δείκτες για τον έλεγχο του χρόνου άφιξης μηνυμάτων των αυθεντικών μηχανών SNMP είναι αυθεντικές = Η μη-αυθεντική μηχανή συντονίζεται με βάση τις αυθεντικές
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 20 MAC Η αυθεντικοποίηση στο USM H έννοια του Message Authentication Code (MAC) Message MAC Key Message Σύγκριση MAC Key Αποστολέας Παραλήπτης Δύο πρωτόκολλα MAC για το USM: HMAC-MD5-96 βασισμένο στο MD5 HMAC-SHA-96 βασισμένο στο SHA-1
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 21 Διαχείριση κλειδιών στο USM (1/2) Κλειδιά Τοπικό κλειδί (localized key): ένα μυστικό κλειδί που μοιράζονται ένας χρήστης και μία αυθεντική SNMP μηχανή Ο χρήστης γνωρίζει τα μυστικά κλειδιά που μοιράζεται με τις απομακρυσμένες SNMP μηχανές που διαχειρίζεται Δύο κλειδιά ανά χρήστη ανά μηχανή SNMP: ένα για αυθεντικοποίηση και ένα για ιδιωτικότητα Για το χρήστη τα κλειδιά είναι κωδικοί (passwords), ASCII συμβολοσειρές Ένας κωδικός χρήστη μετατρέπεται σε ένα αριθμό από μοναδικά κλειδιά για κάθε μηχανή SNMP που διαχειρίζεται με τη χρήση διαδικασίας που αναφέρεται ως key localization Βασικές αρχές διαχείρισης κλειδιών Κάθε αντιπρόσωπος έχει το δικό του μοναδικό κλειδί για κάθε χρήση που τον διαχειρίζεται Τα κλειδιά ενός χρήστη για διαφορετικούς αντιπροσώπους είναι διαφορετικά Η διαχείριση του δικτύου μπορεί να γίνει από οποιοδήποτε σταθμό διαχείρισης
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 22 Διαχείριση κλειδιών στο USM (2/2) Δημιουργία κλειδιών Ο κωδικός χρήστη μετατρέπεται σε κλειδί χρήστη με ειδικό αλγόριθμο του USM με τη χρήση συνάρτησης κατακερματισμού που εφαρμόζεται σε επεκταμένη μορφή του κωδικού Key localization: Ένας κωδικός χρήστη μετατρέπεται σε ένα αριθμό από μοναδικά κλειδιά για κάθε μηχανή SNMP που διαχειρίζεται Χρήση της συνάρτησης κατακερματισμού MD-5 ή SHA-1 σε συνδυασμό του κλειδιού του χρήστη και του snmpEngineID της μηχανής Το μυστικό κλειδί πρέπει να οριστεί στην απομακρυσμένη μηχανή SNMP με μηχανισμό που είναι εκτός της αρμοδιότητας του SNMPv3 (χειροκίνητα ή με χρήση ασφαλούς πρωτοκόλλου) Κωδικός χρήστη Συνάρτηση κατακερματισμού σε επεκταμένη μορφή κωδικού κλειδί χρήστη Συνάρτηση κατακερματισμού σε κλειδί χρήστη & snmpEngineID Συνάρτηση κατακερματισμού σε κλειδί χρήστη & snmpEngineID τοπικό κλειδί τοπικό κλειδί …..
Μάθημα: Δίκτυα Υπολογιστών Διαχείριση Δικτύων Copyright Οικονομικό Πανεπιστήμιο Αθηνών 23 Έλεγχος χρόνου άφιξης μηνυμάτων Ιδιωτικότητα Κρυπτογράφηση μηνυμάτων SNMP με τη χρήση του DES Έλεγχος πρόσβασης