RADIUS poslužitelji obrađuju zahtjeve koji dolaze putem RADIUS protokola, te u svom radu mogu upotrebljavati certifikate. Certifikati se koriste u slučaju korištenja 802.1x/EAP autentikacijskih procedura EAP-TLS i EAP-TTLS, te sa stanovišta RADIUS poslužitelja služe kako bi se na siguran način zatvorio/kriptirao tunel kojim se prenose autentikacijski parametri.
RADIUS(link is external) poslužitelji obrađuju zahtjeve koji dolaze putem RADIUS protokola, te u svom radu mogu upotrebljavati certifikate.
Certifikati se koriste u slučaju korištenja 802.1x/EAP autentikacijskih procedura EAP-TLS i EAP-TTLS, te sa stanovišta RADIUS poslužitelja služe kako bi se na siguran način zatvorio/kriptirao tunel kojim se prenose autentikacijski parametri.
EAP-TLS
EAP-TLS(link is external) u svom radu koristi isključivo certifikate i smatra se jednim od najsigurnijih autentikacijskih protokola.
Certifikati se koriste kako bi se prvo provjerio sam RADIUS poslužitelj od strane klijenta pri uspostavi kriptiranog tunela između klijenta i RADIUS poslužitelj. Nakon ove provjere slijedi autentikacijska procedura u kojoj se korisnik putem svog klijenta predstavlja svojim certifikatom (PKI(link is external)), a RADIUS poslužitelj obavlja autentikaciju istoga. Uobičajeno je da se korisnički certifikat nalazi na prenosivom mediju kao što su SMART kartice ili sigurne USB memorije.
EAP-TTLS
EAP-TTLS(link is external) u svom radu koristi certifikat za uspostavu sigurnog i provjerenoga tunela između klijenta RADIUS poslužitelja koji će provjeriti autentikacijske elemente, slično EAP-TLS proceduri.
...
Kriptiranje tunela certifikatom obavezan je element autentikacije unutar sustava eduroam(link is external), a više o autentikacijskim mehanizmima u tom sustavu moguće je pročitati u članku Autentikacijski mehanizmi u eduroamu(link is external).
Potrebne informacije u radu s certifikatima
...
- privatni ključ - privatni (tajni) ključ kojim je potpisan zahtjev za certifikatom;
- zahtjev za certifikatom - tekstualna datoteka u kojoj su navedeni potrebni podaci koji će se naći u samom certifikatu, te je ista potpisana privatnim ključem koji će se koristiti u radu s certifikatom;
- certifikat - datoteka u kojoj se nalazi certifikat nastao uporabom datoteke zahtjeva za certifikatom i potpisan odgovarajućim vršnim (root CA) certifikatom. Ova datoteka se koristi u radu uz korištenje privatnog ključa;
- vršni certifikat (root CA) - javni certifikat vjerodostojnog izdavatelja certifikata (CA) kojim je potpisan certifikat;
- povezni certifikati - datoteka poveznih certifikata s vršnim certifikatom; opisuju nad certifikate (koristi se u strukturiranim certifikatima;
Da bi mogli uspješno implementirati certifikate u rad RADIUS poslužitelja potrebne su nam sljedeće komponente, tj. datoteke:
- privatni ključ
- certifikat
- vršni certifikat (pri radu s EAP-TLS)
Sve navedene datoteke moraju biti odgovarajućeg formata zapisa (uobičajeno se koristi PEM). Više o formatima zapisa certifikata može se pronaći na linku X.509 Certificate_filename_extensions(link is external).
Načini dobivanja certifikata
...
Postupak izrade samoptpisanog certifikata moguće je pronaći na linku Creating Certificate Authorities and self-signed SSL certificates(link is external).
Postupak dobivanja certifikata od ovlaštenog izdavatelja može se razlikovati od izdavatelja do izdavatelja, no u osnovi se svodi na:
- stvaranje privatnog ključa;
- stvaranje zahtjeva za certifikatom;
- podnošenje zahtjeva za certifikatom;
- dobivanje certifikata pod pred definiranim uvjetima;
- postavljanje certifikata;
Za akademsku zajednicu u Hrvatskoj dostupni su certifikati ovlaštenog izdavatelja putem TERENA Certificate Service (link is external) (TCS), koji se mogu zatražiti na linku Poslužiteljski certifikati(link is external).
Na gore navedenom linku opisan je i način stvaranja zahtjeva za certifikatom te njegovo unošenje u konfiguraciju. Također je opisan i postupak dobivanja certifikata, kao i uvjeti pod kojima se isti mogu zatražiti, odnosno dobiti.
...
Prvo je potrebno provjeriti sljedeće postavke:
Code Block |
---|
certdir = ${confdir}/certs |
...
cadir = ${confdir}/certs |
Te nam postavke govore u kojem direktoriju FreeRADIUS poslužitelj očekuje potrebne datoteke s certifikatima. Kako bi osigurali ispravan rad s certifikatima, u te direktorije treba postaviti certifikate kako bi bili dostupni pri pokretanju poslužitelja.
Potom je potrebno podesiti slijedeće postavke:
Code Block |
---|
private_key_password = TyfKNYA5Lz |
...
private_key_file = ${certdir}/key-srv.pem |
...
certificate_file = ${certdir}/cert-srv.pem |
Nakon promjene konfiguracije potrebno je restartati FreeRADIUS poslužitelj.
...
Kako bi se spriječila mogućnost zlouporabe sustava metodom MITM(link is external) napada, poželjno je da klijent provjerava certifikat RADIUS poslužitelja.
...