https://wiki.itcollege.ee/api.php?action=feedcontributions&user=Avein&feedformat=atomICO wiki - User contributions [en]2024-03-28T15:21:00ZUser contributionsMediaWiki 1.41.0https://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34781Traadita võrgu turvamine FreeRADIUS’ega2011-07-05T09:49:56Z<p>Avein: /* Windows 7 klientmasina konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
''Common name'' võib näiteks servercert panna, kindlasti ei tohi ta olla sama, mille panite eelnevale sertifikaadile.Pange ''common name'' kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne, peab ta sisestama iga kord, kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata, saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks kasutaja poolt sisestatud'' klientcert1.pem'' (sertifikaat), ''klientkey1.pem'' ( sertifikaadi võti) ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' (PKSC12 fail saab oma nime sertifikaadi nime järgi). <br />
<br />
P.S.Faililaiendiks jätke ''.pem''.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati) ja määrame rakendatava autoriseerimismeetodi (meie puhul on selleks EAP). Juhul kui teil on rohkem kui üks kliendi sertifikaat, tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') ''common name''<br />
*"CA certificate" navigeerige ''cacert.der'' failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid. <br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse (Juhul kui tegite rohkem kui ühe kliendi sertifikaadi kopeeriga nende kõigi PKCS12 ( .p12 faililaiend) failid).<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otsige ''Trusted Root Certificate Authorities'' menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34780Traadita võrgu turvamine FreeRADIUS’ega2011-07-05T09:46:26Z<p>Avein: /* Linux klientmasina konfigureerimine Network Manager näitel */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
''Common name'' võib näiteks servercert panna, kindlasti ei tohi ta olla sama, mille panite eelnevale sertifikaadile.Pange ''common name'' kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne, peab ta sisestama iga kord, kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata, saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks kasutaja poolt sisestatud'' klientcert1.pem'' (sertifikaat), ''klientkey1.pem'' ( sertifikaadi võti) ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' (PKSC12 fail saab oma nime sertifikaadi nime järgi). <br />
<br />
P.S.Faililaiendiks jätke ''.pem''.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati) ja määrame rakendatava autoriseerimismeetodi (meie puhul on selleks EAP). Juhul kui teil on rohkem kui üks kliendi sertifikaat, tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') ''common name''<br />
*"CA certificate" navigeerige ''cacert.der'' failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otsige ''Trusted Root Certificate Authorities'' menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34779Traadita võrgu turvamine FreeRADIUS’ega2011-07-05T09:46:03Z<p>Avein: /* Linux klientmasina konfigureerimine Network Manager näitel */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
''Common name'' võib näiteks servercert panna, kindlasti ei tohi ta olla sama, mille panite eelnevale sertifikaadile.Pange ''common name'' kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne, peab ta sisestama iga kord, kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata, saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks kasutaja poolt sisestatud'' klientcert1.pem'' (sertifikaat), ''klientkey1.pem'' ( sertifikaadi võti) ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' (PKSC12 fail saab oma nime sertifikaadi nime järgi). <br />
<br />
P.S.Faililaiendiks jätke ''.pem''.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati) ja määrame rakendatava autoriseerimismeetodi (meie puhul on selleks EAP). Juhul kui teil on rohkem kui üks kliendi sertifikaat, tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') ''common name''<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otsige ''Trusted Root Certificate Authorities'' menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34778Traadita võrgu turvamine FreeRADIUS’ega2011-07-05T09:43:24Z<p>Avein: /* Kliendi sertifikaadi loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
''Common name'' võib näiteks servercert panna, kindlasti ei tohi ta olla sama, mille panite eelnevale sertifikaadile.Pange ''common name'' kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne, peab ta sisestama iga kord, kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata, saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks kasutaja poolt sisestatud'' klientcert1.pem'' (sertifikaat), ''klientkey1.pem'' ( sertifikaadi võti) ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' (PKSC12 fail saab oma nime sertifikaadi nime järgi). <br />
<br />
P.S.Faililaiendiks jätke ''.pem''.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati) ja määrame rakendatava autoriseerimismeetodi (meie puhul on selleks EAP). Juhul kui teil on rohkem kui üks kliendi sertifikaat, tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otsige ''Trusted Root Certificate Authorities'' menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34777Traadita võrgu turvamine FreeRADIUS’ega2011-07-05T09:40:22Z<p>Avein: /* Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
''Common name'' võib näiteks servercert panna, kindlasti ei tohi ta olla sama, mille panite eelnevale sertifikaadile.Pange ''common name'' kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne, peab ta sisestama iga kord, kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati) ja määrame rakendatava autoriseerimismeetodi (meie puhul on selleks EAP). Juhul kui teil on rohkem kui üks kliendi sertifikaat, tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otsige ''Trusted Root Certificate Authorities'' menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34776Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T21:31:15Z<p>Avein: /* Serveriga ühenduse tekitamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati) ja määrame rakendatava autoriseerimismeetodi (meie puhul on selleks EAP). Juhul kui teil on rohkem kui üks kliendi sertifikaat, tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otsige ''Trusted Root Certificate Authorities'' menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34775Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T20:56:06Z<p>Avein: /* users */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati) ja määrame rakendatava autoriseerimismeetodi (meie puhul on selleks EAP). Juhul kui teil on rohkem kui üks kliendi sertifikaat, tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34774Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T20:55:49Z<p>Avein: /* users */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati) ja määrame rakendatava autoriseerimismeetodi (meie puhul on selleks EAP). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34773Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T20:53:59Z<p>Avein: /* FreeRADIUS serveri konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
''''''NB!''' Seda tegevust on vaja teha ainult esimesel korral.'''<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon. FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimede mimekiri ja neile rakendatavad autoriseerimismeetodid<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34767Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:54:05Z<p>Avein: /* FreeRADIUS serveri installatsioon */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks ''yum''i kasutavate linuksi distribustioonide korral kirjutage pakettide nimekirja uuendamiseks käsureale:<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel:<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34765Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:51:04Z<p>Avein: /* Sertifikaatide loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul, kui on kavas sertifikaate kasutada ka mujal, tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34764Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:49:09Z<p>Avein: /* FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
Käsu tulem peaks olema sarnane järgnevale ekraanitõnmmisele:<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34763Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:47:55Z<p>Avein: /* Lisa 1 : Sertifikaatide tühistamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol (EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi :<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34761Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:47:41Z<p>Avein: /* Lisa 1 : Sertifikaatide tühistamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on [http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol Extensible Authentication Protocol (EAP)].<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat lingil asetsevat juhendit, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34760Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:47:02Z<p>Avein: /* FreeRADIUS serveri õnnestunud ühenduse logi */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on [http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol Extensible Authentication Protocol (EAP)].<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult osa logist). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34757Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:45:23Z<p>Avein: /* Linux klientmasina konfigureerimine Network Manager näitel */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (''client_cert.p12'') common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34756Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:45:07Z<p>Avein: /* Linux klientmasina konfigureerimine Network Manager näitel */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage ''Network Manager''. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34755Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:44:49Z<p>Avein: /* Linux klientmasina konfigureerimine Network Manager näitel */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'' ).<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34754Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:44:42Z<p>Avein: /* Linux klientmasina konfigureerimine Network Manager näitel */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis ''Sertifikaadid'').<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34753Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:43:32Z<p>Avein: /* clients.conf */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui pääsepunktil on mitu IP aadressi, siis kasutage seda aadressi, mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34752Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:42:47Z<p>Avein: /* clients.conf */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääseupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34751Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:40:43Z<p>Avein: /* Sertifikaatide loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel sertifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34750Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:37:31Z<p>Avein: /* Mis on RADIUS? */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll, mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34749Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:37:22Z<p>Avein: /* Mis on RADIUS? */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on protokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34748Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:37:07Z<p>Avein: /* Mis on RADIUS? */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav protokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34747Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:36:32Z<p>Avein: /* Serveriga ühenduse tekitamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada (nimekirjas on kuvatud sertifikaatide ''common name''id) ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks kliedi sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34746Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:35:09Z<p>Avein: /* Serveriga ühenduse tekitamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läbipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34745Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:34:29Z<p>Avein: /* PKCS #12 sertifikaadi lisamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaati tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34744Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:34:04Z<p>Avein: /* Juursertifikaadi lisamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime ''Install Certificate''<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34743Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:33:52Z<p>Avein: /* Windows 7 klientmasina konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis Sertifikaadid.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame ''cacert.der'' sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34742Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:32:09Z<p>Avein: /* Windows 7 klientmasina konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis [[Sertifikaadid]].<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34741Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:31:14Z<p>Avein: /* Windows 7 klientmasina konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite kliendi sertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34740Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:30:52Z<p>Avein: /* PKCS #12 sertifikaadi lisamine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( ''.p12'' failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34739Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:30:18Z<p>Avein: /* Ruuteri/pääsupunkti konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27 puhul<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34738Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:30:09Z<p>Avein: /* Ruuteri/pääsupunkti konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
<br />
Näiteks Tomato Version 1.27<br />
<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34737Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:29:33Z<p>Avein: /* Ruuteri/pääsupunkti konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis ''OK''.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame ''NEXT''. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul ''Scan''. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul ''OK'' ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34736Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:27:46Z<p>Avein: /* clients.conf */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili ''clients.conf'' lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34735Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:27:30Z<p>Avein: /* FreeRADIUS serveri konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid, mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34734Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:27:14Z<p>Avein: /* FreeRADIUS serveri konfigureerimine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
<!--Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!--><br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34733Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:25:17Z<p>Avein: /* Kliendi sertifikaadi loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaati, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34732Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:24:29Z<p>Avein: /* Sertifikaatide loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34731Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:24:19Z<p>Avein: /* Sertifikaatide loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide ''Common name'' ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34730Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:24:02Z<p>Avein: /* Sertifikaatide loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide "Common name" ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on ''whatever''.''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34729Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:23:06Z<p>Avein: /* eap.conf */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide "Common name" ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on "whatever".''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpu viimane loogiline sulg :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34728Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:22:45Z<p>Avein: /* eap.conf */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide "Common name" ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on "whatever".''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpp :<br />
<br />
[[File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34727Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:22:21Z<p>Avein: /* eap.conf */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide "Common name" ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on "whatever".''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
<br />
Ja sektsiooni lõpp :<br />
<br />
[[File:File:Kommentaar.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=File:Kommentaar.png&diff=34726File:Kommentaar.png2011-07-04T15:21:22Z<p>Avein: </p>
<hr />
<div></div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34725Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:17:15Z<p>Avein: /* Sertifikaatide loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide "Common name" ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on "whatever".''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on ''whatever''<br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34724Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:16:20Z<p>Avein: /* Sertifikaatide loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide "Common name" ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on "whatever".''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus ''Harju''. Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on “whatever” <br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti, salasõna (pass phrase) on “whatever” <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Aveinhttps://wiki.itcollege.ee/index.php?title=Traadita_v%C3%B5rgu_turvamine_FreeRADIUS%E2%80%99ega&diff=34723Traadita võrgu turvamine FreeRADIUS’ega2011-07-04T15:15:39Z<p>Avein: /* Sertifikaatide loomine */</p>
<hr />
<div>=Sissejuhatus=<br />
<br />
Labori eesmärgiks on läbi viia praktiline FreeRadiuse konfigureerimine ning vajalike sertifikaatide seadistamine. Kasutatakse EAP-TLS autentikeerimismehhanismi. Labori võib jagada neljaks osaks :<br />
<br />
*Kuidas paigaldada vajalikud tarkvarapaketid RADIUS serverile.<br />
<br />
*Kuidas tekitada vajalikud sertifikaadid.<br />
<br />
*Kuidas seadistada FreeRADIUS ja pääsupunkt.<br />
<br />
*Kuidas ühenduda sertifikaatide abil pääsupunktiga.<br />
<br />
=Teooria=<br />
<br />
==Mis on RADIUS?==<br />
'''RADIUS (lühend inglise keelsetest sõnadest Remote Authentication Dial-In User Service)''' on võrguprotokoll mida kasutatakse lõppkasutaja autoriseerimiseks ja autentimiseks. Täpsemalt saab lugeda standardist RFC2865 (http://www.ietf.org/rfc/rfc2865.txt ).<br />
RADIUS võimaldab autoriseerida ja autentida kasutajaid, kes ühenduvad LAN võrku ning keelata ligipääs juhul, kui kasutaja ei läbi kontrolli. FreeRADIUS ( http://freeradius.org/ ) on RADIUSE vabavaraline realisatsioon.<br />
<br />
FreeRADIUSE üldine tööpõhimõte :<br />
<br />
[[File:lan.png]]<br />
<br />
1.Uus kasutaja ühendub pääsupuntiga (AP) ning küsib ligipääsu LAN'i. AP küsib lõppkasutajalt ta identiteeti. Ainuke AP poolt edastatav ühendusprotokoll enne identifitseerimist on Extensible Authentication Protocol ( EAP).<br />
<br />
2.Peale identifitseerimist algab autentimine. Kasutatakse EAP protokolli. AP kapseldab EAP paketid RADIUS formaati ja saadab nad edasi RADIUS serverile. Autentimisprotsessi ajal AP vahendab pakette lõppkasutaja ja RADIUS serveri vahel.<br />
<br />
3.Peale õnnestunud autentimist lastakse lõppkasutaja LAN kohtvõrgule ligi.<br />
<br />
<br />
RADIUSE kohta leiab eesti keelset lisainformatsiooni ka IT Kolledži wikis asuvalt leheküljelt :https://wiki.itcollege.ee/index.php/RADIUS_serveri_kasutamine_wifi_v%C3%B5rkudes<br />
<br />
==Mis on EAP?==<br />
Extensible Authentication Protocol on autentimiseks optimiseeritud transpordiprotokoll. EAP toetab mitut erinevat autentikeerimimismeetodit. http://www.ietf.org/rfc/rfc3748.txt<br />
<br />
==Milliseid autentimis mehhanisme EAP toetab?==<br />
Täieliku nimekirja võib leida siit http://www.iana.org/assignments/eap-numbers/eap-numbers.xml<br />
<br />
Antud laboris kasutame me EAP-TLS realisatsiooni. EAP-TLS tekitab TLS sessiooni AP ja RADIUS serveri vahele. Nii server kui kliendid vajavad kehtivat sertifikaati. Täpsema standardi kirjelduse võib leida aadressilt http://www.ietf.org/rfc/rfc2716.txt .<br />
<br />
==Mis on sertifikaadid?== <br />
<br />
Krüptograafias on sertifikaat elektrooniline dokument, mis kasutab digitaalallkirja, et siduda avalik võti kellegi identiteediga. <br />
<br />
Täpsem inglise keelne seletus on leitav siit :<br />
<br />
http://en.wikipedia.org/wiki/Public_key_certificate<br />
<br />
=FreeRADIUS serveri installatsioon=<br />
Paigaldamiseks Fedora Core all kirjutage pakettide nimekirja uuendamiseks käsureale :<br />
<br />
$ yum upgrade <br />
<br />
Peale antud operatsiooni sooritamist paigaldage FreeRADIUSE server. Seda saab teha järgneva käsu vahendusel :<br />
<br />
$ yum install freeradius<br />
<br />
Antud käsk tekitab kataloogi nimega ''/etc/raddb'' kuhu on paigaldatud ka FreeRADIUS'ega seotud failid, kaasa arvatud FreeRADIUS'e konfiguratsiooni.<br />
<br />
=Sertifikaatide loomine=<br />
<span style="color:#FF0000"> <br />
Käesolevas juhendis luuakse sertifikaadid lihtsustamise mõttes scripti abil. Loodud sertifikaadid sobivad lahenduse testimiseks, aga kindlasti mitte igapäevasesse kasutusse. Juhul kui on kavas sertifikaate kasutada ka mujal tehke seda omal vastutusel või looge sertifikaadid käsitsi, kasutades näiteks järgnevat juhendit http://gagravarr.org/writing/openssl-certs/ca.shtml</span><br />
<br />
<span style="color:#FF0000"> <br />
Samuti peavad igapäevaselt kasutuses olevatel setrtifikaatidel olema vastavad failiõigused (et tagada selle, et keegi ei kustsuta, vaheta välja või kopeeri endale erinevaid sertifikaate ja nende võtmeid). Nende seadistamine ei kuulu aga antud labori skoopi).</span><br />
<br />
<br />
'''TÄHTIS! '''<br />
<br />
'''Kui te loote sertifikaate siis kirjutaga kindlasti paberile või mõnele muule meediumile enda valitud sertifikaadide "Common name" ja salasõnad! Juursertifikaadi salasõna on scriptis teie eest juba ära täidetud ja selle nimeks on "whatever".''' Laboritöö hõlbustamiseks on rangelt soovitatav välja printida järgnev abileht ning seda labori käigus täita. Seal on ära toodud ka konfiguratsioonifailide asukohad.<br />
<br />
'''[[Media:Radiuslab.pdf]]'''<br />
<br />
Et sertifikaate luua, peame esmalt installeerima open-ssl koos toega perli skriptidele : <br />
<br />
$ yum install openssl-perl<br />
<br />
Teeme kataloogi /home/serdid käsuga:<br />
<br />
$ mkdir -p /home/serdid<br />
<br />
siis lähme sinna kataloogi käsuga:<br />
<br />
$ cd /home/serdid<br />
<br />
Sertifikaadid teeme ülesande lihtsustamiseks modifitseeritud scriptiga. Scriptis on enamikule küsimistele kohandatud vaikimisi vastused kandilistes sugudes. Näiteks vajutades küsimuse '''State or Province Name (full name) [Harju]:''' korral klahvi '''Enter''' sisestatakse antud küsimusele vaikeväärtus "Harju". Scripti saab [http://enos.itcollege.ee/~avein/sert/cert.sh SIIT].<br />
<br />
Käsurea abil saab faile alla laadida näiteks utiliidi wgeti abil<br />
<br />
<nowiki>$ wget http://enos.itcollege.ee/~avein/sert/cert.sh</nowiki><br />
<br />
Et skripti saaks kasutada, teeme ta ka käivitatavaks:<br />
<br />
$ chmod a+x cert.sh<br />
<br />
Scripti abil tekitame järgnevad failid :<br />
*''cacert.pem'', on juursertifikaat<br />
*''cakey.pem'', juursertifikaadi privaatvõti, pass phrase on “whatever” <br />
*''cacert.der'', juursertifikaat binaaris Windowsi jaoks<br />
*''client_cert.pem'', kliendi sertifikaat <br />
*''client_key.pem'', kliendi privataatvõti, salasõna (pass phrase) Teie valikul <br />
*''server_cert.pem'', serveri sertifikaat<br />
*''server_key.pem'', serveri privaatvõti, salasõna (pass phrase) on “whatever” <br />
*''client_cert.p12'' on PKCS#12 versioon kliendi sertifikaadist<br />
===Juursertifikaadi loomine (CA)===<br />
Algatuseks teeme selfsigned juursertifikaadi. Selleks käivitame eelnevalt alla laetud scripti järgmise parameetriga :<br />
<br />
$ ./cert.sh ca<br />
<br />
''Common name'' valige ise ja pange see kirja ka labori abilehele.<br />
<br />
Antud käsu tulemusel luuakse <span style="color:red;">cakey.pem</span>, <span style="color:red;">cacert.pem</span> ja <span style="color:red;">cacert.der</span> failid.<br />
<br />
[[File:Sert.png]]<br />
<br />
===Serveri sertifikaadi loomine ja sellele juursertifikaadiga alla kirjutamine===<br />
Järgnevaks tekitame serveri sertifikaadi ja kirjutame sellele juursertifikaadiga alla, selleks sisestame käsu :<br />
<br />
$ ./cert.sh server cakey.pem cacert.pem<br />
<br />
Common name võib näiteks servercert panna, kindlasti ei tohi aga panna sama common name'i mille panite eelnevale sertifikaadile.Pange common name kirja ka labori abilehele. Ülejäänud küsimuste peale on soovitatav ise mitte midagi sisestada, eriti Challenge passwordi korral (juhul kui challenge password on aktiivne peab ta sisestama iga kord kui mõni teenus tahab sertifikaati kasutada). Kindlasti peab sertifikaadile alla kirjutama. <br />
<br />
Antud tegevuse tagajärjel saame failid<span style="color:red;"> server_key.pem </span>ja<span style="color:red;"> server_cert.pem</span><br />
<br />
[[File:Sert7.png]]<br />
<br />
===Kliendi sertifikaadi loomine===<br />
<br />
Juhul, kui tahetakse teha rohkem kui üht kliendi sertifikaat, peab sisestama kliendi sertifikaadi ja ta võtme jaoks failinimed. Kui kliendi sertifikaadi jaoks failinimesid ei sisestata, on loodud sertifikaadi ja ta võtme failinimede vaikeväärtused ''client_cert.pem.'' ja ''client_key.pem'' <br />
<br />
<br />
Näide 1: Kui jätta kliendi sertifikaadi ja ta võtme failinimed sisestamata saame väljundiks failid nimedega ''client_cert.pem, client_key.pem ja client_cert.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos).<br />
$ ./cert.sh client cakey.pem cacert.pem<br />
<br />
<br />
<br />
<br />
Näide 2 : Järgnevas näites on kliendi sertifikaadi nimeks'' klientcert1.pem'', kliendi sertifikaadi võti on failis ''klientkey1.pem'' ja PKSC12 faili nimeks tuleb ''klientcert1.p12'' ( PKSC12 failis on avalik võti, privaatvõti ja juursertifikaat koos). Faililaiendiks jätke .pem.<br />
<br />
client <ca key> <ca cert> [ <span style="color:green;"><client key> <client cert></span> ]<br />
<br />
$ ./cert.sh client cakey.pem cacert.pem klientkey1.pem klientcert1.pem<br />
<br />
<br />
<br />
''Common name'' valige ise (selle sertifikaadi ''common name'' on teie hilisem FreeRADIUSE kasutajanimi, mis tuleb sisestada FreeRADIUSe ''users'' faili, nii et pange see kindlasti kirja labori abilehele. Märkige sinna ka sertifikaadi, sertifikaadi võtme ja p12 failide nimed juhul kui te ei kasutanud vaikeväärtuseid. '''Export password pange labori abilehele kirja, kuna teil läheb seda tulevikus vaja''' . ''Challenge password'' jätke täitmata. Kindlasti peab antud sertifikaadile alla kirjutama.<br />
<br />
Käsu tulemusel saame kolm uut faili. '''Vaikeväärtuste''' kasutamise korral on loodud failide nimedeks <span style="color:#FF0000"> client_key.pem</span> ja<span style="color:#FF0000"> client_cert.pem</span> ja <span style="color:#FF0000"> client_cert.p12</span> . <br />
<br />
[[File:Sert8.png]]<br />
<br />
===Diffie-Hellman väärtuse genereerimine===<br />
<br />
<br />
Genereerime 1024-bitise Diffie-Hellman väärtuse järgmise käsuga :<br />
<br />
$ openssl dhparam -out dh 1024<br />
<br />
Antud käsu tulemusel saame faili nimega<span style="color:red;"> dh</span><br />
<br />
[[File:Dh.png]]<br />
<br />
===Juhuväärtuse tekitamine===<br />
Juhuväärtuse tekitame järgneva käsuga<br />
<br />
$ dd if=/dev/urandom of=random count=2 <br />
Antud käsu tulemusel saame faili nimega <span style="color:red;">random</span><br />
<br />
[[File:juhuvaartus.png]]<br />
<br />
=FreeRADIUS serveri konfigureerimine=<br />
<br />
Kuna Fedora Core algses tulemüüris (iptables) on kõik pordid peale ssh oma suletud, tuleb esmalt port 1812 avada. Lihtsaimaks võimaluseks on kaotada kõik keelavad reeglid tulemüürist. Seda saab teha käsuga:<br />
<br />
$ iptables -F<br />
<br />
NB: Tasub aga meeles pidada et peale igat restarti taastatakse algsätted!<br />
<br />
'''FreeRADIUS'e konfiguratsioonifailid asuvad kataloogis /etc/raddb''' <br />
<br />
FreeRADIUSE konfiguratsioonifailid mida modifitseerime on :<br />
<br />
*''clients.conf'' – siin on FreeRADIUSe serverit kasutavate klientide informatsioon.FreeRadiuse juures tasub meeles pidada, et on olemas keskne server millel on kliendid. Klientideks on pääsupunktid (AP), mitte arvutid mis ühenduvad AP külge!<br />
<br />
*''eap.conf'' – siin on FreeRADIUSe EAP autoriseerimise konfiguratsioon<br />
<br />
*''users'' -siin on kasutajanimed<br />
<br />
<br />
==clients.conf==<br />
<br />
Avage tekstiredaktoriga fail clients.conf ja lisage sinna enda pääeupunkti (AP) aaddress. Oletame, et meie AP aadress on 192.168.1.14 (Kui APl on mitu IP aadressi, siis see aadress mis on FreeRADIUS serveriga samas võrgus). Selleks, et lisada antud aaddress lubatud klientide nimekirja, tuleb faili clients.conf lisada järgnev kirje :<br />
<br />
<nowiki><br />
client 192.168.1.14 {<br />
secret = password<br />
shortname = talvekool1<br />
nastype = other<br />
}</nowiki><br />
secret on shared-secret ruuteri ja FreeRADIUS serveri vahel. '''Sama secreti peate panema hiljem ka enda wifi AP konfiguratsiooni nii et pange see labori abilehele kirja'''. Shortname on lihtsalt nimi, millega antud seadet radiuse logides hakatakse mainima.<br />
<br />
==users==<br />
Järgnevaks täidame ''users'' faili. Sinna tuleb sisestada meie kliendi sertifikaadi ''common name'' (selle valisite te ise luues klient sertifikaati). Juhul kui teil on rohkem kui üks kliendi sertifikaat tuleb nende kõigi ''common name''id sisestada. DEFAULT kirjega keelame kõik teised ühendused.<br />
<br />
Näiteks juhul, kui meil on kaks kliendi sertifikaati ''common name'' väärtustega '''kala1''' ja '''kala2''' peab sisestama järgneva:<br />
<nowiki>kala1 Auth-type := EAP<br />
kala2 Auth-type := EAP<br />
DEFAULT Auth-type := Reject<br />
Reply-Message := "Kõtt!"</nowiki><br />
<br />
==eap.conf==<br />
Avame faili ''eap.conf'' tekstiredaktoriga ning muudame rea default_eap_type = tls :<br />
<br />
default_eap_type = tls<br />
<br />
[[File:eaptls.png]]<br />
<br />
Järgnevaks lähme sektsiooni tls{ } juurde kuhu teeme järgnevad muudatused:<br />
<br />
'''Samuti veenduge, et tls sektsiooni lõpus viimase loogilise sulu ( } ) ees ei oleks väljakommenteerimismärki (#)<br />
'''<br />
<nowiki> tls {<br />
private_key_password = whatever<br />
private_key_file = /home/serdid/server_key.pem<br />
<br />
# If Private key & Certificate are located in<br />
# the same file, then private_key_file &<br />
# certificate_file must contain the same file<br />
# name.<br />
certificate_file = /home/serdid/server_cert.pem<br />
<br />
# Trusted Root CA list<br />
CA_file = /home/serdid/cacert.pem<br />
<br />
<br />
#<br />
# For DH cipher suites to work, you have to<br />
# run OpenSSL to create the DH file first:<br />
#<br />
# openssl dhparam -out certs/dh 1024<br />
#<br />
dh_file = /home/serdid/dh<br />
random_file = /home/serdid/random<br />
<br />
</nowiki><br />
<br />
[[File:eapcert.png]]<br />
<br />
==Serveri käivitamine==<br />
<br />
Peale seda jääb meil veel üle FreeRADIUS server käivitada, seda saame me teha käsuga ''freeradius'', soovitatav oleks käivitada server debug reziimis (siis kuvatakse freeradiuse logi otse ekraanile), seda saab teha käsurealt järgneva käsuga :<br />
<br />
$ radiusd -X<br />
<br />
=Ruuteri/pääsupunkti konfigureerimine=<br />
Tomato Version 1.27<br />
Basic ->Network-> lehekülje lõpp. Sealt valida Security ''none'' asemel ''WPA2 Enterprise'' ning sisestada ''Shared Key'' (shared key on [[#clients.conf|clients.conf]] failis, antud näite puhul oleks selleks : “password“ ). Serveri aadressiks panna selle masina IP, kus FreeRADIUS server asetseb ja pordiks jätta 1812 (default port) Peale seda vajutada nupul ''Save''. Soovitatav on ka muuta SSID, et see poleks juba eksisteerivaga identne.<br />
<br />
[[File:ruuter.png]]<br />
<br />
<!-- =Windows XP klientmasina konfigureerimine (Cisco Aironet)=<br />
Windows klientmasin vajab cacerts.der ja client_cert.p12 '''(või siis failinimi mille andsite [[#Kliendi_sertifikaadi_loomine|kliendi sertifikaati]] luues parameetrina ette, faililaiend on aga alati p12)''' faile autoriseerimiseks. Cacert.der tuleb lisada Trusted Root Certificates alla ja client_cert.p12 lihtsalt sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid windowsi klientmasinasse. <br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:Vana1.jpg]]<br />
<br />
Avanenud aknas valime „Place all certificates in following store“ -> Browse-> Trusted Root Certification Authorities ja siis „OK“.<br />
<br />
[[File:vconf.jpg]]<br />
<br />
Järgnevates akendes vajutada OK või nextile kasutades isiklikku intelligentsi.<br />
<br />
===PKCS #12 sertifikaadi lisamine===<br />
<br />
Lisada tuleb ka kliendisertifikaat client_cert.p12. Selleks klikkame faili peal kaks korda ja avanenud aknas vajutame „NEXT“. <br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid (''.p12'' laiendiga failid) kasutades antud juhendit.<br />
<br />
[[File:Vana4.png]]<br />
<br />
[[File:Vana5.jpg]]<br />
<br />
===Serveriga ühenduse tekitamine===<br />
Järgmiseks konfigureerime Cisco Aironet utility. Avame Cisco Aironet utiliidi ja vajutame nupul „Scan“. Sealt valime enda ruuteri SSID.<br />
<br />
[[File:Vana6.jpg]]<br />
<br />
Valime Modify, paneme enda ühendusele nime ja lähme edasi Security tabi ning valime WPA/WPA2/CCKM ning rippmenüüst alamtüübi EAP-TLS<br />
<br />
[[File:Vana7.jpg]]<br />
<br />
Siis vajutame Configure nupul ja valime rippmenüüdest enda sertifikaadid :<br />
<br />
[[File:Vana8.jpg]]<br />
<br />
Lõpuks vajutame nupul „OK“ ning teeme antud ühenduse aktiivseks. Kui kõik on õigesti seadistatud näeme järgnevat pilti:<br />
<br />
[[File:Vana9.jpg]]<br />
<br />
<br />
--><br />
<br />
=Linux klientmasina konfigureerimine Network Manager näitel=<br />
<br />
[http://projects.gnome.org/NetworkManager/ Network Manager] on mitmes erinevas Linuksi distros kasutatav võrguühenduse haldamise utiliit.<br />
<br />
Klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks (need tehti valmis peatükis "Sertifikaadid").<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid linux klientmasinasse.<br />
<br />
<br />
Avage Network Manager. Valige ''Connect to Hidden Wireless Network''.<br />
<br />
*"Network Name" sisetage siia enda AP SSID<br />
*"Wireless Security" WPA&WPA2 Enterprise<br />
*"Authentication" TLS<br />
*"Identity" siia pange enda kliendi sertifikaadi (client_cert.p12) common name<br />
*"CA certificate" navigeerige cacert.der failini ja valige see <br />
*"Private Key" navigeerige ''client_cert.p12'' failini ja valige see (faili nimi võib erineda kui kliendi sertifikaati luues sisestasite kasutajapoolsed failinimed, kuid faililaiend on ikka ''.p12'')<br />
*"Private Key Password" Tuletage meelde (või vaadake labori abilehelt kui seda täitsite) mis Export Passwordi te valisite kui kliendi sertifikaati genereerisite ja sisestage see<br />
<br />
<br />
[[File:Linukscert1.png]]<br />
<br />
=Windows 7 klientmasina konfigureerimine=<br />
<br />
<br />
Windows klientmasin vajab ''cacerts.der'' ja ''client_cert.p12'' (või siis failinimi mille andsite klientsertifikaati luues parameetrina ette, faililaiend on aga alati ''p12'') faile autoriseerimiseks. ''Cacert.der'' tuleb lisada ''Trusted Root Certificates'' alla ja ''client_cert.p12'' tavaliseks sertifikaadiks. Antud sertifikaatide tegemine oli kirjeldatud peatükis „Sertifikaadid“.<br />
<br />
Kopeerige mälupuga või mõne muu meediumi abil eelmainitud failid Windows klientmasinasse.<br />
<br />
===Juursertifikaadi lisamine===<br />
<br />
Lisame cacert.der sertifikaadi Trusted juursertifikaatide hulka. Selle jaoks klikkame ta peal kaks korda ja avanenud aknas valime „Install Certificate“<br />
<br />
[[File:sertifikaat.png]]<br />
<br />
[[File:sertifikaat2.png]]<br />
<br />
<br />
Järmisest aknast valime ''Place all certificates in following store'' -> ''Browse''-> ''Trusted Root Certification Authorities'' ja siis ''OK''.<br />
<br />
<br />
[[File:un1.png]]<br />
<br />
[[File:sertifikaat3.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
== PKCS #12 sertifikaadi lisamine==<br />
<br />
Lisame ka ''client_cert.p12'' sertifikaadi. Selleks klikake kaks korda failil ja avanenud aknas valige ''Install Certificate''<br />
<br />
P.S. Juhul kui teil on rohkem kui üks kliendi sertifikaat, siis lisage nende kõigi PKCS12 sertifikaadid ( .p12 failid) kasutades antud juhendit.<br />
<br />
[[File:Sert3.png]]<br />
<br />
[[File:Sert4.png]]<br />
<br />
Siia sisestage export password mille kliendi sertifikaate tehes valisite<br />
<br />
[[File:Sert5.png]]<br />
<br />
[[File:Uus.png]]<br />
<br />
[[File:Sert2.png]]<br />
<br />
==Serveriga ühenduse tekitamine==<br />
<br />
Avage ''Network ja Sharing Center'' ning veenduge et wifi on aktiivne. Kui wifi ei ole aktiivne klikake ''Change adapter settings'' lingil:<br />
<br />
[[File:win1.png]]<br />
<br />
<br />
<br />
Ja aktiveerige juhtmevaba liides:<br />
<br />
[[File:win2.png]]<br />
<br />
<br />
<br />
Siis minge tagasi ''Network ja Sharing Center'' avalehele ja klikake ''Manage Wireless Networks'' lingil. Kustutage sealt enda läbipääsupunkti profiil (juhul kui see seal on juba olemas) ja vajutage ''Add'' nupul<br />
<br />
<br />
[[File:win3.png]]<br />
<br />
<br />
Siin valige ''Manually create a network profile''<br />
<br />
[[File:win4.png]]<br />
<br />
<br />
<br />
<br />
<br />
''Network Name'' alla kirjutage enda läpipääsupunkti SSID<br />
<br />
''Security Type'' valige WPA2-Enterprise<br />
<br />
''Encryption Type'' TKIP <br />
<br />
ja vajutage ''Next'' nuppu <br />
<br />
[[File:win5.png]]<br />
<br />
<br />
<br />
Siin aknas vajutage lihtsalt ''Change connection Settings''<br />
<br />
[[File:win6.png]]<br />
<br />
<br />
<br />
Avanenud aknas avage ''Security'' tab ning valige ''Choose a Network Authentication Method'' rippmenüüst ''Microsoft: Smart Card or other certificate''. Edasi vajutage antud menüü kõrval oleval ''Settings'' nupul<br />
<br />
[[File:win7.png]]<br />
<br />
<br />
Otside Trusted Root Certificate Authorities menüüst enda juursertifikaat (sertifikaadi nimeks on juursertifikaadi ''common name'') ja pange talle linnuke ette. Siis vajutage ''OK'' nupul. Avanenud aknas vajutage uuesti ''OK'' nupul<br />
<br />
[[File:serdike.png]]<br />
<br />
<br />
<br />
Edasi vajutage ekraani paremas nurgas oleval võrguühenduse ikoonil ja valige sealt ühendus, mille te just seadistasite ning vajutage nupul ''Connect''<br />
<br />
[[File:win8.png]]<br />
<br />
<br />
Avanenud aknas valige rippmenüüst kliendi sertifikaat mida soovite seekord kasutada ja vajutage ''OK'' nupul. Juhul kui arvutisse on lisatud ainult üks klient sertifikaat, siis antud valikut ei pakuta.<br />
<br />
[[File:win9.png]]<br />
<br />
<br />
<br />
<br />
<br />
[[Category:Traadita side alused]]<br />
<br />
=FreeRADIUS serveri õnnestunud ühenduse logi=<br />
<br />
Juhul kui server on käivitatud -X võtmega (''radiusd -X'' ) ehk debug reziimis näeme õnnestunud ühenduse puhul midagi järgnevat (siin on kuvatud ainult logi lõpuosa). Pöörake tähelepanu esiletõestetud osale.<br />
<br />
[[File:xgreatsucc.png]]<br />
<br />
=Lisa 1 : Sertifikaatide tühistamine=<br />
<br />
Vahel on tarvis ligipääsuõigus tagasi võtta (näiteks, kui kolmas osapool saab kasutaja sertifikaadi endale). Selleks peame sertifikaadi tühistama. Antud peatükis kirjeldame seda protseduuri FreeRADIUS serveri näitel. Järjekordselt kasutame ülesande lihtsustamiseks scipti (sama script millega tekitasime ka sertifikaadid). Kui lahendust on kavas kuskil kasutada, tasuks sertifikaadi tühistamiseks kasutada järgnevat linki, mitte scripti: http://gagravarr.org/writing/openssl-certs/ca.shtml#ca-revoke )<br />
<br />
<br />
Lähme tagasi sertifikaatide kataloogi<br />
<br />
$ cd /home/serdid<br />
<br />
==Sertifikaadi tühistamine==<br />
<br />
Valime kliendi sertifikaadi, mille kavatseme tühistada, antud näites on selleks ''client_cert.pem'' (tühistatav sertifikaat peab antud kataloogis olemas olema)<br />
<br />
$ ./cert.sh revok client_cert.pem<br />
<br />
''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever'').<br />
<br />
[[File:revok.png]]<br />
<br />
==Tühistatud sertifikaatide nimekirja tekitamine==<br />
<br />
Edasi tekitame tühistatud sertifikaatide nimekirja. Antud käsu väljundiks on fail nimega ''crl.pem'' mis kujutab endast tühistatud sertifikaatide seerianumbrite nimekirja.''Pass phrase'' on juursertifikaadi võtme salasõna (antud juhul on selleks ''whatever''):<br />
<br />
$ ./cert.sh crl<br />
<br />
[[File:crl.png]]<br />
<br />
Et veenduda tühistatud sertifikaatide nimekirja olemasolus, võib kasutada järgnevat käsku:<br />
<br />
$ openssl crl -in /home/serdid/crl.pem -noout -text<br />
<br />
Käsu tulemis näeme tühistatud sertifikaatide nimekirja, õigemini tühistatud sertifikaatide seerianumbreid:<br />
<br />
[[File:noot.png]]<br />
<br />
==FreeRADIUSE seadistamine sertifikaatide tühistusnimekirja kasutamiseks==<br />
<br />
Algatuseks lähme tagasi FreeRADIUSe kodukataloogi<br />
<br />
$ cd /etc/raddb<br />
<br />
Avame faili ''eap.conf'' ja liigume ''tls'' sektsiooni ning kommenteerime sisse/lisame sinna järgnevad read:<br />
<br />
check_crl=yes<br />
CA_path = /home/serdid/<br />
<br />
''check_crl=yes'' abil me aktiveerime sertifikaadi tühistamisnimekirja kasutamise ja ''CA_path= /home/serdid'' näitab FreeRADIUSele kataloogi, kus asetsevad juursertifikaat (''cacert.pem'') ja sertifikaatide tühistamisnimekiri (''crl.pem'').<br />
<br />
[[File:cacrl.png]]<br />
<br />
Peale muudatuste salvestamist käivitame käsureal järgneva OpenSSH käsu:<br />
<br />
$ c_rehash /home/serdid/<br />
<br />
[[File:rehash.png]]<br />
<br />
==Mida silmas pidada==<br />
<br />
1.FreeRADIUS server loeb juursertifikaadi ja sertifikaatide tühistusnimekirja ainult käivitamisel, seega tuleb peale sertifikaatide tühistamisnimekirja muutmist FreeRADIUS alati taaskävitada!<br />
<br />
2. Peale uute sertifikaatide tühistamisnimekirja tegemist peab juursetrifikaadi/sertifikaatide tühistamisnimekirja kataloogile käivitama käskluse ''c_rehash''<br />
<br />
==Tühistatud sertifikaatide nimekirja testimine==<br />
<br />
Viimaseks sammuks on FreeRADIUSe serveri käivitamine ja tühistatud klient sertifikaadiga ühendumise proovimine. Enam ühendumine ei õnnestu ja juhul kui FreeRADIUS on käivitatud -X võtmega (''radiusd -X'') näeme midagi sarnast (pöörake tähelepanu esile tõstetud osale) :<br />
<br />
[[File:noaccess.png]]<br />
<br />
ja windows klient näitab midagi sarnast :<br />
<br />
[[File:win10.png]]<br />
<br />
Samas kehtiva kliendi sertifikaadiga on võimalik wifi võrguga ühenduda (seda saab testida kui tegite või teete rohkem kui ühe kliendi sertifikaadi)<br />
<br />
=Korduma Kippuvad Küsimused:=<br />
<br />
<br />
'''K1''': Miks mu sertifikaadid ei tööta?<br />
<br />
'''V1''' :Sertifikaat ei ole klientmasinas aktiivne – võrrelge kellaegu arvutis, kus te tekitasite sertifikaadi arvutiga kuhu te selle paigaldasite. Juhul kui seal on erinevad kellajad, on tõenäoline, et sertifikaadi kehtivusaeg pole veel alanud. Kõige lihtsam meetod selle probleemi lahendamiseks on muuta arvutis kellaaega.<br />
<br />
Alljärgneval joonisel võib näha ekraanitõmmist mittekehtivast sertifikaadist. Pöörake tähelepanu veateatele "This certificate has expired or is not yet valid" ja „ Valid from“ vahemikule.<br />
<br />
[[File:Kalamees.png]]<br />
<br />
'''V2''' :Vaadake üle enda sertifikaatide failid, juhul kui mõne faili suurus on 0kb, olete teinud kusagil vea. Kuna võimalusi on mitmeid siis on soovitatav vanad sertifikaadid ära kustutada ja sertifikaadi tekitamise protsess lihtsalt uuesti läbi teha, olles seekord tähelepanelikum. <br />
<br />
'''K2''' Radius serveri käivitamise peale käsuga ''radiusd -X'' saan hunniku veateteid ja midagi ei juhtu!<br />
<br />
'''V1''' Lugege veateated läbi! Pahatihti on tegemist sellega, et on unustatud ''eap.conf'' faili sertifikaatide andmed sisestada või ''tls'' sektsiooni lõpus oleva loogilise sulu ('''}''') aktiivseks muuta.<br />
<br />
<br />
[[Category:Traadita side alused]]</div>Avein