N e tt w o rr k O p e rr a tt ii o n s C e n tt e rr A rr ii s tt o tt ll e U n ii v e rr s ii tt y o ff T h e s s a ll o n ii k ii G r e e k R e s e a r c h a n d T e c h n o ll o g y N e t w o r k Pro jject :: VNOC2,, PKI Τ ίίτλος :: Περ ιιγραφή λε ιιτουργ ίίας Cus ttom Po ll iicy Modu lle γ ιια M iic rroso ff tt CA Version 1.0 (30-6-2005) Author Kostas Katsamakas Marios Mitrosilis
Πίνακας Περιεχοµένων Προαπαιτούµενα... 1 Εγκατάσταση... 1 Απεγκατάσταση... 1 Φόρτωµα του Policy Module... 2 Χρήση του Policy Module... 4
Προαπαιτούµενα Προκειµένου να εγκαταστήσουµε το Grnet Policy Module προαπαιτούµενο είναι η ύπαρξη µιας standalone ή µιας subordinate certification authority της Microsoft. Εξ ορισµού η αρχή πιστοποίησης χρησιµοποιεί το Default Policy module της Microsoft για να εγκρίνει µια αίτηση για έκδοση πιστοποιητικού ή να την απορρίψει. Στην περίπτωση που εγκριθεί η αίτηση από το module είναι στην δικαιοδοσία των διαχειριστών της αρχής αν θα επιτρέψουν στο παραπάνω module να εκδώσει το πιστοποιητικό ή απλά να εγκρίνει την αίτηση και στην συνέχεια να αναλάβει ο διαχειριστής το τελικό βήµα της έκδοσης του πιστοποιητικού. Στην συγκεκριµένη περίπτωση το Ε ΕΤ ανέλαβε την δηµιουργία ενός custom Policy module το οποίο πραγµατοποιεί εξειδικευµένους ελέγχους για να εγκρίνει µια αίτηση και επιπλέον προσθέτει στο πιστοποιητικό επιπλέον στοιχεία (extensions) για να ικανοποιήσουν τις εξειδικευµένες µας ανάγκες. Να σηµειώσουµε επίσης ότι η Certification Authority της Microsoft παρέχει ένα web interface για να γίνονται αιτήσεις για έκδοση πιστοποιητικού. Θεωρούµε σε αυτό τον οδηγό ότι οι αιτήσεις γίνονται από εκεί, χωρίς φυσικά να είναι αυτό απαραίτητο. Εγκατάσταση Για την εγκατάσταση του custom Policy module δηµιουργήθηκε ένας Installer µε τη βοήθεια του προγράµµατος Inno Setup(http://www.jrsoftware.org/isinfo.php). Η διαδικασία της εγκατάστασης είναι απλή και σύντοµη µιας και το module αποτελείται από ένα αρχείο βιβλιοθήκης (.dll) και για την ορθή λειτουργία του χρειάζεται µερικές εγγραφές στη registry. Οι οδηγίες για την εγκατάσταση υπάρχουν στα Ελληνικά και τα Αγγλικά. Για να προχωρήσει η εγκατάσταση απαιτείται από τον χρήστη να αποδεχθεί τους Όρους Χρήσης και να διαβάσει τις ιαδικασίες της Αρχής Πιστοποίησης. Στη συνέχεια αντιγράφεται το αρχείο βιβλιοθήκης του module στο φάκελο µε τα αρχεία του συστήµατος (συνήθως C:\Windows\system32\) και κατόπιν ελέγχεται αν τρέχει η διεργασία Certsrv του Certification Server. Αν η διεργασία τρέχει, το πρόγραµµα της εγκατάστασης σταµατά µέχρι να τερµατιστεί η διεργασία. Ο έλεγχος αυτός πραγµατοποιείται επειδή δεν είναι δυνατόν το πρόγραµµα εγκατάστασης να καταχωρήσει το αρχείο βιβλιοθήκης του module όσο η διεργασία τρέχει. Αφού το αρχείο βιβλιοθήκης καταχωρηθεί, δηµιουργούνται οι απαραίτητες εγγραφές στη registry για την οµαλή λειτουργία του module. Απεγκατάσταση Η απεγκατάσταση του custom Policy module µπορεί να γίνει από το µενού Add/Remove Programs του πίνακα ελέγχου. Η διαδικασία της απεγκατάστασης είναι ακριβώς αντίθετη από αυτή της εγκατάστασης. Αρχικά διαγράφονται οι εγγραφές στο µητρώο (registry), στη συνέχεια διαγράφεται η καταχώρηση του αρχείου βιβλιοθήκης και τέλος διαγράφεται το ίδιο το αρχείο βιβλιοθήκης από το σύστηµα. Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 1
Ενεργοποίηση του Policy Module Σε περιβάλλον Win2003 server πηγαίνουµε στο Start->Administrative Tools ->Certification Authority. Ανοίγει λοιπόν το εξής παράθυρο (εικόνα.1): (εικόνα 1) Επιλέγουµε την αρχή πιστοποίησης (MyTest στο παράδειγµά µας) και στη συνέχεια Properties (εικόνα 2) (εικόνα 2) ανοίγει λοιπόν το παράθυρο των Properties της αρχής πιστοποίησης και πηγαίνουµε στην καρτέλα Policy Module. Εκεί πατάµε το κουµπί Select (εικόνα. 3) Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 2
(εικόνα 3) και βλέπουµε το εξής παράθυρο: (εικόνα 4) επιλέγουµε το GrnetAdmin Policy και πατάµε OK. Στην συνέχεια όταν η αρχή πιστοποίησης µας ζητήσει να γίνει επανεκκίνηση για να εφαρµοστούν οι αλλαγές εµείς αποδεχόµαστε. Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 3
Χρήση του Policy Module Αφού έχουµε εγκαταστήσει το GrnetAdmin Policy module όπως περιγράψαµε παραπάνω µπορούµε πλέον να παραµετροποιήσουµε το module. Πηγαίνουµε Start ->Administrative Tools->Certification Authority. Ανοίγει λοιπόν το εξής παράθυρο(εικόνα. 5): (εικόνα 5) (εικόνα 6) Επιλέγουµε την αρχή πιστοποίησης (εικόνα 6) και πατάµε το κουµπί Properties (εικόνα 7) Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 4
(εικόνα 7) (εικόνα 8) Στην καρτέλα Policy Module πατάµε το κουµπί Properties. Οπότε και βλέπουµε το παράθυρο παραµετροποίησης του module µας (εικόνα 9). Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 5
(εικόνα 9) Σε αυτό το παράθυρο µπορούµε να ορίσουµε τι ελέγχους επιθυµούµε να κάνει το module πάνω σε µια αίτηση για έκδοση πιστοποιητικού προκειµένου να την εγκρίνει ή να την απορρίψει. Όταν η επιλογή DN Prefix είναι τσεκαρισµένη (εικόνα. 10) τότε το πλαίσιο DN Properties και οι επιλογές του είναι ενεργές και γίνονται έλεγχοι στην αίτηση του πιστοποιητικού όπως θα εξηγήσουµε. (εικόνα 10) Στον πίνακα κάθε γραµµή αντιπροσωπεύει ένα DN Prefix και ένα mail domain που σχετίζεται µε αυτό. To DN Prefix είναι ένα σύνολο από attributes του πιστοποιητικού Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 6
και οι αντίστοιχες τιµές που επιθυµούµε να έχουν. Κάθε πιστοποιητικό έχει κάποιες παραµέτρους οι οποίες είναι: C = (Country) O = (Organization) Αυτή η τιµή αντιστοιχεί µε την τιµή που δίνει κανείς στο web-interface στο πεδίο Organization OU = (Organization Unit) Αυτή η τιµή αντιστοιχεί µε την τιµή που δίνει κανείς στο web-interface στο πεδίο Department. CN = (Common Name) E = (e-mail) T = (Title) L = (Locality) I = (Initials) G = (Given Name) DC = (Domain Component) SN = (Surname) ST = (State) Unstructured Address Unstructured Name Street DeviceSerialNumber Οποιαδήποτε από τις παραπάνω παραµέτρους µπορεί να προστεθεί στο πεδίο DN Prefix ακολουθούµενη από ένα ίσον (=) και την αποδεκτή τιµή. Εάν υπάρχουν παραπάνω από µια παράµετροι τότε τις χωρίζουµε µε κόµµα. Π.χ. C = GR, O = NOC AUTH Με λίγα λόγια όταν το policy module δέχεται µια αίτηση προσπαθεί να ταιριάξει µια DN Prefix γραµµή µε τις τιµές που εισήγαγε ο χρήστης στην αίτησή του. Αν δεν ταιριάζει καµία τότε η αίτηση απορρίπτεται. Εάν το check box force Mail Domain είναι τσεκαρισµένο (εικόνα 11) τότε το policy module ελέγχει και εάν το mail του χρήστη ταιριάζει µε την τιµή στον πίνακα. Εάν δεν ταιριάζει τότε πάλι απορρίπτεται η αίτηση. (εικόνα 11) Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 7
Στην συνέχεια υπάρχει το check box Enforce OU to Policy(εικόνα 12). (εικόνα 12) Αυτό το property χρησιµοποιείται για την προσθήκη των κατάλληλων extensions στο πιστοποιητικό, τα οποία αφορούν την χρήση του. Εάν είναι τσεκαρισµένο τότε το policy module χρησιµοποιεί την τιµή που δώσαµε στο πεδίο Department του web-interface της αίτησης για να επιλέξει µια πολιτική για το πιστοποιητικό που αιτούµαστε. Οι αποδεκτές τιµές για αυτό το πεδίο είναι 3: PolicyUsers, PolicyComputers, PolicyServers. Εάν δώσουµε λάθος τιµή στο πεδίο Department τότε η αίτηση για πιστοποιητικό απορρίπτεται. Ακόµη µια περίπτωση είναι όταν το check box δεν είναι τσεκαρισµένο. Τότε εφαρµόζεται αυτόµατα η DefaultPolicy. Όλες οι πολιτικές είναι διαθέσιµες για επισκόπηση και τροποποίηση πατώντας το κουµπί Check Policies(εικόνα 13). (εικόνα 13) Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 8
Στην πρώτη γραµµή (RequiredInDn) υπάρχουν εκείνες οι παράµετροι του πιστοποιητικού που η πολιτική απαιτεί να υπάρχουν στο πιστοποιητικό και να µην είναι κενή η τιµή τους. Οι παράµετροι πρέπει να χωρίζονται η µια από την άλλη µε κόµµα. Στην δεύτερη γραµµή (KeyUsage) οι αποδεκτές τιµές είναι 4: digital signature, non repudiation, key encipherement, data encipherment. Το πεδίο µπορεί να συµπληρωθεί µε οποιονδήποτε συνδυασµό των παραπάνω τιµών. Οι παραπάνω τιµές γίνονται αποδεκτές και χωρίς κενό µεταξύ των λέξεών τους και µε παύλα (-). Τέλος οι τιµές χωρίζονται µεταξύ τους µε κόµµα. Με βάση τις τιµές του KeyUsage προστίθενται στο πιστοποιητικό επεκτάσεις (extensions). Στην τρίτη γραµµή (ExtendedKeyUsage) µπορεί να µπει οποιαδήποτε OID τιµή. Οι τιµές πρέπει να χωρίζονται µεταξύ τους µε κόµµα. Και αυτή η γραµµή επίσης χρησιµοποιείται για την προσθήκη επεκτάσεων στο προς δηµιουργία πιστοποιητικό. Ο χρήστης έχει επίσης την δυνατότητα να προσθέτει δικά του policies και να σβήνει όσα δεν επιθυµεί. Το µόνο policy που δεν µπορεί να σβηστεί είναι το DefaultPolicy. Πατώντας του κουµπί Add policy εµφανίζεται το παρακάτω παράθυρο που µας επιτρέπει να προσθέσουµε µια νέα πολιτική (εικόνα 14). (εικόνα 14) Επίσης µε το κουµπί Remove Policy µπορεί κάποιος να σβήσει µια πολιτική. Όπως είπαµε προηγουµένως δεν θα επιτραπεί το σβήσιµο της DefaultPolicy. Ο χρήστης πάντα ερωτάται αν είναι σίγουρος ότι θέλει να προχωρήσει στην διαγραφή για λόγους ασφαλείας (εικόνα 15). (εικόνα 15) Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 9
Φτάνουµε έτσι στο τελικό check box Enforce Certificate Policies(εικόνα 16), (εικόνα 16) το οποίο χρησιµοποιείται τσεκαρισµένο για να εισάγει ως επέκταση ένα κείµενο πολιτικής χρήσης του προς έκδοση πιστοποιητικού. Εάν πατήσουνε το κουµπί Edit µπορούµε να επεξεργαστούµε τα επιµέρους στοιχεία του extension τα οποία φαίνονται παρακάτω (εικόνα 17). (εικόνα 17) Τελειώνοντας την παραµετροποίηση του Policy module πατάµε OK οπότε αποδεχόµαστε τις αλλαγές που κάναµε. Την ίδια στιγµή βλέπουµε το εξής παράθυρο που µας προειδοποιεί ότι για να εφαρµοστούν οι αλλαγές πρέπει να επανεκκινήσουµε το Policy module χειροκίνητα (εικόνα 18). (εικόνα 18) Εσωτερική Τεκµηρίωση Υπηρεσίας PKI 10