radius server greek

32
Εγκατάσταση & Παραμετροποίηση Εξυπηρετητή Πιστοποίησης Χρηστών (Radius Server) Μάθημα: Ασφάλεια Υπολογιστών και Δικτύων Φοιτητές: Μπάτσου Ελευθερία | 573 Στεφανίδης Γιώργος | 546 Υπ. Καθηγητής: Π. Σαρηγιαννίδης Ημερομηνία: 19 Ιουνίου 2015 Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Δυτικής Μακεδονίας

Upload: george-stefanidis

Post on 08-Aug-2015

222 views

Category:

Technology


1 download

TRANSCRIPT

Εγκατάσταση & Παραµετροποίηση

Εξυπηρετητή Πιστοποίησης Χρηστών

(Radius Server)

Μάθηµα: Ασφάλεια Υπολογιστών και Δικτύων Φοιτητές: Μπάτσου Ελευθερία | 573

Στεφανίδης Γιώργος | 546 Υπ. Καθηγητής: Π. Σαρηγιαννίδης Ηµεροµηνία: 19 Ιουνίου 2015

Τµήµα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Πανεπιστήµιο Δυτικής Μακεδονίας

Περιεχόμενα• Τι είναι το Radius • Ιστορικά Στοιχεία • Βασικές Αρχές • Πρωτόκολλο • Λειτουργίες Server • Roaming • Proxy Operations • Security • Δοµή Πακέτου

2

Τι είναι το RADIUS• Remote • Authentication • Dial • In • User • Service

To radius είναι ένα διαδικτυακό πρωτόκολλο που παρέχει συγκεντρωτικά πιστοποίηση, εξουσιοδότηση και υπηρεσίες διαχείρισης (Authentication, Authorization, and Accounting – AAA) για τους χρήστες που συνδέονται και χρησιµοποιούν δικτυακές υπηρεσίες.

3

Ιστορικά Στοιχεία

Το RADIUS αναπτύχθηκε από την εταιρία Livingston το 1991 σαν ένας server πρόσβασης µε πρωτόκολλο πιστοποίησης και διαχείρισης υπηρεσιών και αργότερα χρησιµοποιήθηκε σαν πρότυπο από το “Internet Engineering Task Force - IETF”.

Λόγω της ευρείας υποστήριξης του πρωτοκόλλου RADIUS, χρησιµοποιείται συχνά από τα ISPs και εταιρίες για την διαχείριση πρόσβασης στο Internet ή εσωτερικά δίκτυα, ασύρµατα δίκτυα, και υπηρεσίες e-mail. Τα δίκτυα αυτά µπορεί να περιλαµβάνουν modems, DSL, access points, VPNs, network ports, web servers, κτλ.

4

Βασικές Αρχές• Το RADIUS είναι ένα πρωτόκολλο client/server που τρέχει στο επίπεδο εφαρµογής (application layer) χρησιµοποιώντας το UDP σαν “µέσο µεταφοράς”. • Τα Remote Access Server, Virtual Private Network

server, Network switch with port-based authentication, και το Network Access Server (NAS) είναι όλες πύλες που ελέγχουν την πρόσβαση στο δίκτυο και όλες έχουν έναν RADIUS client που επικοινωνεί µε έναν RADIUS server. • To RADIUS τρέχει συχνά σαν µια από τις διεργασίες παρασκηνίου στους UNIX και Microsoft Windows server.

5

Στοιχεία ΠρωτοκόλλουΟι RADIUS server χρησιµοποιούν το πρωτόκολλο ΑΑΑ για την διαχείριση της πρόσβασης στο δίκτυο

•Αuthentication •Αuthorization •Αccounting

6

Authentication and Authorization • Ο χρήστης ή το µηχάνηµα στέλνει ένα αίτηµα (request) στο Remote Access Server (RAS) ώστε να αποκτήσει πρόσβαση σε ένα συγκεκριµένο πόρο του δικτύου χρησιµοποιώντας τα διαπιστευτήρια πρόσβασης (access credentials). Τα credentials περνούν στο RAS µέσω του πρωτοκόλλου επιπέδου σύνδεσης. • Για παράδειγµα συχνά χρησιµοποιείται σε:

• Point-to-Point Protocol (PPP) σε πολλές περιπτώσεις dialup • DSL πάροχους • Φόρµες ασφαλείας σε HTTPS ιστοσελίδες

7

Authentication and Authorization• Η αίτηση περιλαµβάνει credentials πρόσβασης, συνήθως username και password ή πιστοποιητικό ασφάλειας, τα οποία παρέχονται από τον χρήστη. • Μπορεί να περιλαµβάνει και άλλες πληροφορίες, τις οποίες το RAS γνωρίζει για τον χρήστη. • Για παράδειγµα:

• Την διεύθυνση του δικτύου • Το κινητό τηλέφωνο • Πληροφορίες σχετικά µε την φυσική σύνδεση του χρήστη στο

RAS.

8

Authentication and Authorization• Οι RADIUS servers ελέγχουν ότι οι πληροφορίες είναι σωστές χρησιµοποιώντας συστήµατα ελέγχου ταυτοποίησης, όπως τα PAP, CHAP ή EAP. Τα στοιχεία του χρήστη επαληθεύονται, µαζί ίσως µε πληροφορίες σχετικές µε την αίτηση. • Από ιστορικής απόψεως, οι RADIUS servers έλεγχαν τις πληροφορίες του χρήστη από ένα τοπικό αποθηκευµένο αρχείο βάσης δεδοµένων. • Οι σύγχρονοι RADIUS servers µπορούν να κάνουν και αυτό, αλλά και να αναφερθούν σε εξωτερικές πηγές – κοινώς SQL, Kerberos, LDAP, Active Directory servers – ώστε να επαληθεύσουν τα credentials του χρήστη.

9

Απαντήσεις serverO RADIUS server δίνει µια από τις επόµενες απαντήσεις στο RAS: 1) Access Reject 2) Access Challenge 3) Access Accept

10

Access Reject Απαγορεύεται στον χρήστη η άνευ όρων πρόσβαση στους πόρους του δικτύου που είχε αιτηθεί. Οι λόγοι για αυτή την αποτυχηµένη πρόσβαση µπορεί να είναι οι µη επαρκείς αποδείξεις αναγνώρισης, ένας άγνωστος ή ανενεργός λογαριασµός του χρήστη.

11

Access ChallengeΑπαιτούνται επί πρόσθετες πληροφορίες από τον χρήστη, όπως δευτερεύον κωδικός, PIN, κτλ. Το “Access Challenge” χρησιµοποιείται κυρίως σε πιο σύνθετες αυθεντικοποιήσεις, όπου έχει εγκατασταθεί ένα τοίχος ασφαλείας ανάµεσα στον χρήστη και στον RADIUS server µε έναν τρόπο, όπου τα credentials πρόσβασης είναι κρυµµένα από το RAS.

12

Access AcceptO χρήστης αποκτά πρόσβαση. Μόλις επικυρωθεί, ο RADIUS server συνήθως ελέγχει ότι (ο χρήστης) είναι εξουσιοδοτηµένος να χρησιµοποιεί την υπηρεσία δικτύου που αιτήθηκε. Για παράδειγµα: Mπορεί να επιτρέπεται να χρησιµοποιεί το ασύρµατο δίκτυο µιας εταιρίας αλλά όχι τις υπηρεσίες VPN. Και πάλι αυτές οι πληροφορίες µπορεί να είναι αποθηκευµένες τοπικά στον RADIUS server, ή σε µια εξωτερική πηγή.

13

Reply-MessageΚάθε µια από αυτές τις 3 απαντήσεις µπορεί να περιλαµβάνει ένα Reply-Message το οποίο µπορεί να δώσει έναν λόγο για την απόρριψη, τα επί πρόσθετα στοιχεία για το challenge, ή ένα µήνυµα καλωσορίσµατος για την αποδοχή.

14

Χαρακτηριστικά Aυθεντικοποίησης

Τα χαρακτηριστικά της αυθεντικοποίησης µεταφέρονται στο RAS, το οποίο ορίζει τους όρους πρόσβασης. Τα παρακάτω χαρακτηριστικά µπορεί να περιλαµβάνονται στην αποδοχή του χρήστη:

• Συγκεκριµένη IP που θα του διατεθεί

• Ένας χώρος διευθύνσεων από τον οποίο θα πρέπει να επιλεγεί η IP του

• Ο µέγιστος χρόνος που µπορεί να παραµείνει συνδεδεµένος

• Μια λίστα πρόσβασης, ουρά προτεραιότητας ή άλλους περιορισµούς σχετικά µε την πρόσβαση του.

• Παράµετροι VLAN • Παράµετροι Quality of Service

(QoS)15

Χαρακτηριστικά Αυθεντικοποίησης• Όταν ένας πελάτης ρυθµιστεί ώστε να χρησιµοποιεί το RADIUS, θα πρέπει να δίνει τα στοιχεία του, όπως username και password, ή να χρησιµοποιεί κάποια πρωτόκολλα όπως το Point-to-Point Protocol (PPP), το οποίο περιέχει πακέτα αυθεντικοποίησης που “κουβαλούν” αυτές τις πληροφορίες.

• Οι κωδικοί πρόσβασης, όπως π.χ. το password είναι κρυµµένα µε µεθόδους που βασίζονται στο RSA Message Digest Algorithm MD5.

16

Accounting

17

Accounting StartΌταν η πρόσβαση στο δίκτυο χορηγείται στο χρήστη από το NAS, στέλνεται το “Accounting Start”. Αυτό είναι ένα αίτηµα πακέτου, το οποίο περιλαµβάνει στις ιδιότητες του την τιµή “start”. To αίτηµα στέλνεται από το NAS στον RADIUS server ώστε να σηµατοδοτήσει την αρχή πρόσβασης του χρήστη στο δίκτυο. Το “start” συνήθως περιέχει την ταυτοποίηση του χρήστη, την δικτυακή του διεύθυνση και ένα µοναδικό αναγνωριστικό συνόδου.

18

Interim UpdateΣε τακτά χρονικά διαστήµατα, στέλνονται αρχεία ενδιάµεσης ενηµέρωσης “Interim Update”. Είναι ένα αίτηµα πακέτου, το οποίο περιλαµβάνει στις ιδιότητες του την τιµή “interim-update”, στέλνεται από το NAS στον RADIUS server ώστε να ανανεώσει την κατάσταση µιας ενεργής συνόδου. Τα “ενδιάµεσα” αρχεία συνήθως µεταφέρουν την τρέχουσα διάρκεια της συνόδου και την τρέχουσα χρήση δεδοµένων.

19

Stop RecordΌταν η πρόσβαση στο δίκτυο (του χρήστη) είναι κλειστή, η NAS εκδίδει ένα “Stop Record” και στέλνεται στον RADIUS server. Αυτό είναι ένα αίτηµα πακέτου, το οποίο περιλαµβάνει στις ιδιότητες του την τιµή “stop”, περιέχει πληροφορίες σχετικές µε την χρήση του δικτύου, την διάρκεια, τα πακέτα και τα δεδοµένα που µεταφέρθηκαν και άλλες πληροφορίες ως προς την πρόσβαση στο δίκτυο του χρήστη.

20

ΑπάντησηΣυνήθως, ο client στέλνει ανά τακτά χρονικά διαστήµατα, τα παραπάνω πακέτα, µέχρι να λάβει ένα πακέτο απάντησης. Ο πρωταρχικός σκοπός αυτών των δεδοµένων είναι ώστε να χρεωθεί ο χρήστης αναλόγως, αλλά και επειδή τα δεδοµένα χρησιµοποιούνται για στατιστικούς σκοπούς και τη γενική παρακολούθηση του δικτύου.

21

Roaming (Περιαγωγή)

22

Roaming• Το RADIUS χρησιµοποιείται συχνά για τη διευκόλυνση της περιαγωγής µεταξύ των ISPs, για παράδειγµα: • Από εταιρείες οι οποίες παρέχουν ένα σύνολο διαπιστευτηρίων (credentials) τα οποία µπορούν να χρησιµοποιηθούν σε πολλά δηµόσια δίκτυα. • Από ανεξάρτητα, αλλά συνεργαζόµενα ιδρύµατα, που εκδίδουν τα δικά τους διαπιστευτήρια µε τους δικούς τους χρήστες, και επιτρέπουν σε έναν επισκέπτη να συνδεθεί σε ένα άλλο σύστηµα, όπου τα credentials του πρέπει να επικυρώνονται από το ίδρυµα προέλευσης τους, όπως γίνεται στο eduroam.

23

Realms• Το realm προσαρτάται στο username του χρήστη και οριοθετείται

µε τo σύµβολο “@”, όπως δηλαδή περίπου γίνεται και στα e-mail µε το domain name. Αυτός είναι ο postfix συµβολισµός για το realm. Ο διαχωρισµός του username µπορεί να γίνει και µε το σύµβολο “\”.

• Οι σύγχρονοι RADIUS servers επιτρέπουν οποιαδήποτε σύµβολο να χρησιµοποιηθεί ως delimiter, αλλά πρακτικά χρησιµοποιούνται τα “@” και “/”.

• Σε ορισµένες σύνθετες περιπτώσεις µπορούν να χρησιµοποιηθούν και τα δύο σύµβολα.

Για παράδειγµα:

somedomain.com\[email protected] • Ωστόσο υπάρχουν και κάποιες περιπτώσεις στις οποίες δεν χρησιµοποιείται κανένα σύµβολο.

24

Proxy OperationsΌταν ο RADIUS server λαµβάνει ένα αίτηµα AAA για το username το οποίο περιέχει ένα realm, ο server θα κάνει αναφορά σε ένα πίνακα που περιέχει όλα τα realms. Αν το realm υπάρχει, ο server θα στείλει το αίτηµα στο home server του domain. Επί πρόσθετα, ο proxy server, µπορεί να προσθέσει/αφαιρέσει/ξαναγράψει αιτήµατα ΑΑΑ µετά από κάποιο χρόνο.

25

SecurityΗ περιαγωγή µε RADIUS εκθέτει τους χρήστες σε θέµατα ασφάλειας και προστασίας της ιδιωτικής τους ζωής. Γενικά, κάποιοι δηµιουργούν ένα secure tunnel µεταξύ των RADIUS servers ώστε να διασφαλίσουν ότι τα credentials των χρηστών δεν θα µπορούν να υποκλαπούν µέσω των proxy στο διαδίκτυο. Τα δεδοµένα κρυπτογραφούνται µε MD5 το οποίο έχει κάποια θέµατα ασφάλειας.

26

Δομή Πακέτου

27

Τα πεδία µεταδίδονται από αριστερά προς τα δεξιά, ξεκινώντας µε το code, το identifier, το length, το authenticator και τα attributes.

RADIUS Codes (σε δεκαδική μορφή)

Code Assignment1 Access-Request

2 Access-Accept

3 Access-Reject

4 Accounting-Request

5 Accounting-Response

11 Access-Challenge

12 Status-Server (experimental)

13 Status-Client (experimental)

255 Reserved

28

Πεδία Πακέτου• To πεδίο “Identifier” βοηθάει στο να

αντιστοιχίζονται τα requests µε τα replies. • To πεδίο “Length” υποδεικνύει το µήκος

ολόκληρου του πακέτου RADIUS, συµπεριλαµβανοµένου του code, identifier, length, authenticator και attributes.

• Το πεδίο “Authenticator” χρησιµοποιείται για να πιστοποίηση την απάντηση από τον RADIUS server, βρίσκεται κρυπτογραφηµένο στα password, και το µήκος του είναι 16 bytes.

29

Attribute Value Pairs (AVP)Το Attribute Value Pairs (AVP) µεταφέρουν δεδοµένα τόσο της αίτησης όσο και της απάντησης για την πιστοποίηση, την εξουσιοδότηση, και το accounting. To µήκος του πακέτου χρησιµοποιείται για να προσδιορίσει το τέλος των AVPs.

30

Attributes / Ασφάλεια• To RADIUS είναι επεκτάσιµο, πολλοί χρησιµοποιούν το hardware και το software του ώστε να φτιάξουν τις δικές τους εκδόσεις. Μάλιστα η Microsoft έχει εκδώσει κάποιες από αυτές. • Το πρωτόκολλο RADIUS µεταδίδει τους κωδικούς του µέσω ενός “shared secret” και τον αλγόριθµο hash MD5. Καθώς αυτή η υλοποίηση παρέχει µικρή προστασία στα credentials των χρηστών, επί πρόσθετη τρόποι, όπως τα Ipsec tunnels, είναι καλό να χρησιµοποιηθούν για την περαιτέρω προστασία ανάµεσα στο NAS και τον server.

31

Ευχαριστούµε!

32