
Disa ishin disa shembuj tĂ« organizimit tĂ« WiFi pĂ«r korporata. KĂ«tu do tĂ« pĂ«rshkruaj se si e realizova njĂ« zgjidhje tĂ« tillĂ« dhe problemet me tĂ« cilat u pĂ«rballa gjatĂ« lidhjes me pajisjet e ndryshme. Do tĂ« pĂ«rdorim LDAP-in ekzistues me pĂ«rdoruesit e regjistruar, do tĂ« ngremĂ« FreeRadius dhe do tĂ« konfigurojmĂ« WPA2-Enterprise nĂ« kontrolluesin Ubnt. Duket mjaft e thjeshtĂ«. TĂ« shohimâŠ
Pak për metodat EAP
Para se të fillojmë realizimin e detyrës, duhet të përcaktojmë se cilën metodë autentikimi do të përdorim në zgjidhjen tonë.
Nga Wikipedia:
EAP â njĂ« kornizĂ« autentikimi, e cila pĂ«rdoret shpesh nĂ« rrjetet pa tel dhe lidhjet pikĂ«-nĂ«-pikĂ«. Formati u pĂ«rshkrua pĂ«r herĂ« tĂ« parĂ« nĂ« RFC 3748 dhe u azhurnua nĂ« RFC 5247.
EAP pĂ«rdoret pĂ«r zgjedhjen e metodĂ«s sĂ« autentikimit, transmetimin e çelĂ«save dhe pĂ«rpunimin e kĂ«tyre çelĂ«save nga modulet e lidhura tĂ« quajtura metodat EAP. Ka shumĂ« metoda EAP, disa tĂ« pĂ«rkufizuara sĂ« bashku me vetĂ« EAP-in dhe disa tĂ« lĂ«shuara nga prodhues tĂ« veçantĂ«. EAP nuk pĂ«rcakton nivelin kanalesh, ai thjesht pĂ«rcakton formatin e mesazheve. Ădo protokoll qĂ« pĂ«rdor EAP ka protokollin e vet tĂ« inkapsulimit tĂ« mesazheve EAP.
Metodat vetë:
- LEAP â njĂ« protokoll pronĂ«sor, i zhvilluar nga CISCO. JanĂ« gjetur vulnerabilitete. Aktualisht nuk rekomandohet tĂ« pĂ«rdoret.
- EAP-TLS â njĂ« protokoll i mbĂ«shtetur mirĂ« nga ofruesit e lidhjeve pa tel. ĂshtĂ« njĂ« protokoll i sigurt, pasi Ă«shtĂ« pasues i standardeve SSL. Konfigurimi i klientit Ă«shtĂ« mjaft i komplikuar. KĂ«rkohet njĂ« certifikat klienti pĂ«rveç fjalĂ«kalimit. MbĂ«shtetet nĂ« shumĂ« sisteme.
- EAP-TTLS â mbĂ«shtetet gjerĂ«sisht nĂ« shumĂ« sisteme, ofron siguri tĂ« mirĂ«, duke pĂ«rdorur certifikata PKI vetĂ«m nĂ« serverin e autentikimit.
- EAP-MD5 â njĂ« standard tjetĂ«r i hapur. Ofron siguri minimale. I ndjeshĂ«m, nuk mbĂ«shtet autentikimin e ndĂ«rsjellĂ« dhe gjenerimin e çelĂ«save.
- EAP-IKEv2 â e bazuar nĂ« Protokollin e KĂ«mbimit tĂ« ĂelĂ«sit tĂ« Internetit versioni 2. Siguron autentikimin e ndĂ«rsjellĂ« dhe krijimin e çelĂ«sit tĂ« seancĂ«s midis klientit dhe serverit.
- PEAP â njĂ« zgjidhje e pĂ«rbashkĂ«t nga CISCO, Microsoft dhe RSA Security si njĂ« standard i hapur. Disponohet gjerĂ«sisht nĂ« produkte, ofron siguri shumĂ« tĂ« mirĂ«. ĂshtĂ« i ngjashĂ«m me EAP-TTLS, duke kĂ«rkuar vetĂ«m certifikatĂ«n nĂ« anĂ«n e serverit.
- PEAPv0/EAP-MSCHAPv2 â pas EAP-TLS, ky Ă«shtĂ« standardi i dytĂ« mĂ« i pĂ«rdorur nĂ« botĂ«. PĂ«rdor lidhjen klient-server nĂ« Microsoft, Cisco, Apple, Linux
- PEAPv1/EAP-GTC â krijuar nga Cisco si njĂ« alternativĂ« ndaj PEAPv0/EAP-MSCHAPv2. Nuk mbron tĂ« dhĂ«nat e autentikimit nĂ« asnjĂ« rast. Nuk mbĂ«shtetet nĂ« Windows OS
- EAP-FAST â njĂ« metodĂ« e zhvilluar nga Cisco pĂ«r tĂ« adresuar disavantazhet e LEAP. PĂ«rdor Credential tĂ« Mbrojtur tĂ« Qasjes (PAC). PlotĂ«sisht e papĂ«rfunduar
Pavarësisht këtij diversiteti, zgjedhja nuk është kaq e madhe. Metoda e autentikimit kërkonte: siguri të mirë, mbështetje në të gjithë pajisjet (Windows 10, macOS, Linux, Android, iOS) dhe, në thelb, sa më e thjeshtë aq më mirë. Prandaj, zgjedhja ra mbi EAP-TTLS në lidhje me protokollin PAP.
Mund tĂ« lindĂ« pyetja â Pse tĂ« pĂ«rdorim PAP? Ajo transmeton fjalĂ«kalimet nĂ« formĂ« tĂ« hapur?
Po, është e vërtetë. Komunikimi midis FreeRadius dhe FreeIPA do të kalojë pikërisht kështu. Në modin debug mund të ndjekim sesi dërgohen username dhe password. Dhe le të dërgohen, vetëm se ju keni akses në serverin FreeRadius.
Për më shumë informacion në lidhje me funksionimin e EAP-TTLS, mund të lexoni
FreeRADIUS
Do të ngremë FreeRadius në CentOS 7.6. Nuk ka asgjë të komplikuar, e instalojmë në mënyrën normale.
yum install freeradius freeradius-utils freeradius-ldap -yNga paketat instalohet versioni 3.0.13. Të fundit mund ta merrni këtu
Pasi kjo, FreeRadius tashmë është në punë. Mund të shkruani në /etc/raddb/users duke shkëmbyer komentin për rreshtin
steve Cleartext-Password := "testing"Nisni serverin në modin debug
freeradius -XDhe bëjmë një lidhje provuese me localhost
radtest steve testing 127.0.0.1 1812 testing123Mora përgjigjen Received Access-Accept Id 115 from 127.0.0.1:1812 to 127.0.0.1:56081 length 20, kështu që gjithçka është në rregull. Shkela më tej.
Lidhim modul ldap.
ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/ldapDhe menjëherë do ta ndryshojmë atë. Na nevojitet që FreeRadius të mund të qaset në FreeIPA
mods-enabled/ldap
ldap {
server="ldap://ldap.server.com"
port=636
start_tls=yes
identity="uid=admin,cn=users,dc=server,dc=com"
password=**********
base_dn="cn=users,dc=server,dc=com"
set_auth_type=yes
...
user {
base_dn="${..base_dn}"
filter="(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
}
...Rinisni serverin radius dhe kontrolloni sinkronizimin e përdoruesve LDAP:
radtest user_ldap password_ldap localhost 1812 testing123 Redaktoni eap në mods-enabled/eap
Këtu do të shtojmë dy instanca të eap. Ato do të ndryshojnë vetëm në certifikatat dhe çelësat. Pak më poshtë do të shpjegoj, pse ashtu.
mods-enabled/eap
eap eap-client { default_eap_type = ttls timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = ${max_requests}
tls-config tls-common {
private_key_file = ${certdir}/fisrt.key
certificate_file = ${certdir}/first.crt
dh_file = ${certdir}/dh
ca_path = ${cadir}
cipher_list = "HIGH"
cipher_server_preference = no
ecdh_curve = "prime256v1"
check_crl = no
}
ttls {
tls = tls-common
default_eap_type = md5
copy_request_to_tunnel = no
use_tunneled_reply = yes
virtual_server = "inner-tunnel"
}
}
eap eap-guest {
default_eap_type = ttls timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = ${max_requests}
tls-config tls-common {
private_key_passwotd=blablabla
private_key_file = ${certdir}/server.key
certificate_file = ${certdir}/server.crt
dh_file = ${certdir}/dh
ca_path = ${cadir}
cipher_list = "HIGH"
cipher_server_preference = no
ecdh_curve = "prime256v1"
check_crl = no
}
ttls {
tls = tls-common
default_eap_type = md5
copy_request_to_tunnel = no
use_tunneled_reply = yes
virtual_server = "inner-tunnel"
}
}Pastaj redaktoni site-enabled/default. Na interesojnë seksionet authorize dhe authenticate.
site-enabled/default
authorize {
filter_username
preprocess
if (&User-Name == "guest") {
eap-guest {
ok = return
}
}
elsif (&User-Name == "client") {
eap-client {
ok = return
}
}
else {
eap-guest {
ok = return
}
}
ldap
if ((ok || updated) && User-Password) {
update {
control:Auth-Type := ldap
}
}
expiration
logintime
pap
}
authenticate {
Auth-Type LDAP {
ldap
}
Auth-Type eap-guest {
eap-guest
}
Auth-Type eap-client {
eap-client
}
pap
}Në seksionin authorize hiqni të gjitha modulet që nuk na duhen. Lëni vetëm ldap. Shtoni verifikimin e klientit sipas username. Pikërisht për këtë e kemi shtuar më lart dy ekzemplarë eap.
Multi EAPĂĂ«shtja Ă«shtĂ« se duke lidhur disa pajisje do tĂ« pĂ«rdorim certifikatat sistemike dhe do tĂ« tregojmĂ« domenin. Ne kemi njĂ« certifikatĂ« dhe çelĂ«s nga njĂ« qendĂ«r besimi. Personalish mendoj se kjo procedurĂ« lidhjeje Ă«shtĂ« mĂ« e thjeshtĂ« se sa tĂ« dĂ«rgojmĂ« njĂ« certifikatĂ« tĂ« vetĂ«-nĂ«nshkruar nĂ« çdo pajisje. Por edhe pa certifikatat e vetĂ«-nĂ«nshkruara nuk kemi mundur tĂ« shkojmĂ« pa to. Pajisjet Samsung dhe Android <= 6 nuk dinĂ« tĂ« pĂ«rdorin certifikata sistemike. Prandaj pĂ«r ta krijojmĂ« njĂ« ekzemplar tĂ« veçantĂ« eap-guest me certifikata tĂ« vetĂ«-nĂ«nshkruara. PĂ«r tĂ« gjitha pajisjet e tjera do tĂ« pĂ«rdorim eap-client me certifikat tĂ« besueshme. User-Name pĂ«rcaktohet nga fusha Anonymous gjatĂ« lidhjes sĂ« pajisjes. Lejohet tĂ« pĂ«rdoren vetĂ«m 3 vlera: Guest, Client dhe fusha e zbrazĂ«t. TĂ« gjitha tĂ« tjera janĂ« hedhur poshtĂ«. Kjo konfigurohet nĂ« politika. Do jap njĂ« shembull pak mĂ« vonĂ«.
Do të redaktojmë seksionet authorize dhe authenticate në site-enabled/inner-tunnel
site-enabled/inner-tunnel
authorize {
filter_username
filter_inner_identity
update control {
&Proxy-To-Realm := LOCAL
}
ldap
if ((ok || updated) && User-Password) {
update {
control:Auth-Type := ldap
}
}
expiration
digest
logintime
pap
}
authenticate {
Auth-Type eap-guest {
eap-guest
}
Auth-Type eap-client {
eap-client
}
Auth-Type PAP {
pap
}
ldap
}Më pas duhet të specifikojmë në politika se cilët emra mund të përdoren për hyrjen anonime. Redaktoni policy.d/filter.
Duhet të gjeni rreshtat të ngjashëm me këtë:
if (&outer.request:User-Name !~ /^(anon|@)/) {
update request {
Module-Failure-Message = "User-Name is not anonymized"
}
reject
}Dhe më poshtë në elsif shtoni vlerat e nevojshme:
elsif (&outer.request:User-Name !~ /^(guest|client|@)/) {
update request {
Module-Failure-Message = "User-Name is not anonymized"
}
reject
}Tani duhet të kalojmë në drejtorinë certs. Këtu duhet të vendosim çelësin dhe certifikatën nga qendra e besueshme e certifikimit që e kemi tashmë dhe duhet të gjenerojmë certifikata të vetë-nënshkruara për eap-guest.
Modifikoni parametrat në skedarin ca.cnf.
ca.cnf
...
default_days = 3650
default_md = sha256
...
input_password = blablabla
output_password = blablabla
...
countryName = RU
stateOrProvinceNmae = Shteti
localityNmae = Qyteti
organizationName = NONAME
emailAddress = admin@admin.ru
commonName = "CA FreeRadius"Vlera të tilla shkruhen gjithashtu në skedarin server.cnf. Ndryshojmë vetëm
commonName:
server.cnf
...
default_days = 3650
default_md = sha256
...
input_password = blablabla
output_password = blablabla
...
countryName = RU
stateOrProvinceNmae = Shteti
localityNmae = Qyteti
organizationName = NONAME
emailAddress = admin@admin.ru
commonName = "Server Certificate FreeRadius"Krijojmë:
makeGati. Të marrë server.crt dhe server.key janë shkruar më lart në eap-guest.
Dhe më në fund, do të shtojmë pikat tona të qasjes në skedarin client.conf. Kam 7 prej tyre. Për të mos shtuar çdo pikë veç e veç, do të shkruajmë vetëm rrjetin ku ndodhen ato (pikat e qasjes ndodhen në një VLAN të veçantë).
client APs {
ipaddr = 192.168.100.0/24
password = password_AP
}Kontrolluesi Ubiquiti
Në kontrollues krijojmë një rrjet të veçantë. Le të jetë 192.168.2.0/24
Shkojmë në cilësimet -> profili. Krijojmë një të ri:

Shkruajmë adresën dhe portin e serverit radius dhe fjalëkalimin që kemi shkruar në skedarin clients.conf:

Krijojmë një emër të ri për rrjetin wireless. Si metodë autentifikimi zgjedhim WPA-EAP (Enterprise) dhe specifikojmë profilin radius të krijuar:

Gjithçka ruajmë, e aplikojmë dhe shkojmë më tej.
Konfigurimi i klientëve
Të nisim me gjënë më të vështirë!
Windows 10
Vështirësia është se Windows ende nuk di të lidhet me WiFi-në korporative përmes domain-it. Prandaj duhet të hedhim manualisht certifikatën tonë në depozitat e certifikatave të besuara. Këtu mund të përdorim si certifikata të vetë-nënshkruara ashtu edhe nga qendra e certifikimit. Unë do të përdor të dytën.
Më pas, duhet të krijojmë një lidhje të re. Për këtë shkojmë në cilësimet e rrjetit dhe Internetit -> Qendra e menaxhimit të rrjeteve dhe ndarjes së përgjithshme -> Krijimi dhe konfigurimi i një lidhjeje të re ose rrjeti:



Manualisht shkruajmĂ« emrin e rrjetit dhe ndryshojmĂ« tipin e sigurisĂ«. Pas kĂ«saj klikojmĂ« nĂ« ndrysho parametrat e lidhjes dhe nĂ« tab-in Siguria zgjedhim verifikimin e autentikimit tĂ« rrjetit â EAP-TTLS.



ShkkojmĂ« nĂ« parametrat, shkruajmĂ« privatĂ«sinĂ« e autentikimit â client. Si qendrĂ«n e besuar tĂ« certifikimit zgjedhim certifikatĂ«n qĂ« kemi shtuar, vendosim zogun "Mos kĂ«rko pĂ«rdoruesit tĂ« autorizohet nĂ«se serveri nuk autorizohet" dhe metodĂ«n e verifikimit zgjedhim â fjalĂ«kalim tĂ« paenkriptuar (PAP).

Më pas kalojmë te parametrat shtesë, vendosim shenjën në "Specifikoni modin e verifikimit të autenticitetit". Zgjedhim opsionin "Verifikimi i përdoruesit" dhe klikojmë në ruaj të dhënat e identifikimit. Këtu duhet të shkruajmë username_ldap dhe password_ldap



Të gjitha i ruajmë, i aplikojmë, mbyllim. Mund të lidhemi me rrjetin e ri.
Linux
E kam provuar në Ubuntu 18.04, 18.10, Fedora 29, 30.
Së pari, shkarkojmë certifikatin. Nuk e gjeta në Linux nëse ka mundësi të përdoren certifikatat sistemike dhe a ka ndonjë depozitë të tillë.
Do të lidhemi përmes domainit. Prandaj, na nevojitet certifikati i institucioneve të besueshmërisë, nga i cili kemi blerë certifikatin tonë.
Të gjithë lidhjet bëhen në një dritare. Zgjedhim rrjetin tonë:

anonymous â klienti
domain â domeni, pĂ«r tĂ« cilin Ă«shtĂ« lĂ«shuar certifikati
Android
non-Samsung
Që nga versioni 7, gjatë lidhjes WiFi, mund të përdoren certifikatat sistemike, duke specifikuar vetëm domenin:

domain â domeni, pĂ«r tĂ« cilin Ă«shtĂ« lĂ«shuar certifikati
anonymous â klienti
Samsung
Siç e përmenda më sipër, pajisjet Samsung nuk mund të përdorin certifikatat sistemike gjatë lidhjes WiFi, dhe nuk kanë mundësi të lidhen përmes domenit. Prandaj, duhet t'i shtojmë dorazi certifikatin rrënjësor të institucionit të certifikimit (ca.pem, e marrim në serverin Radius). Këtu do të përdorim një certifikatë të vetë-nënshkruar.
Shkarkojmë certifikatin në pajisjen tonë dhe e instalojmë atë.
Instalimi i certifikatës



Gjatë kësaj, do të kemi nevojë të vendosim një vizatim për të zhbllokuar ekranin, një PIN ose fjalëkalim, nëse nuk është vendosur ende:


Të tregoj një variant të komplikuar të instalimit të certifikatës. Në shumicën e pajisjeve, mjafton thjesht të klikoni mbi certifikatën e shkarkuar.
Kur certifikata është instaluar, mund të kaloni te lidhja:

certifikata â specifikoni atĂ« qĂ« kemi instaluar
pĂ«rdorues anonim â guest
macOS
Pajisjet Apple në kutinë mund të lidhen vetëm me EAP-TLS, por gjithsesi duhet t'u dërgoni atyre certifikatën. Për të specifikuar një metodë tjetër lidhjeje, duhet të përdorni Apple Configurator 2. Në përputhje, duhet të shkarkoni atë në Mac, të krijoni një profil të ri dhe të shtoni të gjitha konfigurimet e nevojshme WiFi.
Apple Configurator

Këtu specifikoni emrin e rrjetit tuaj
Lloji i SigurisĂ« â WPA2 Enterprise
Llojet e pranuara EAP â TTLS
Emri i PĂ«rdoruesit dhe FjalĂ«kalimi â i lĂ«mĂ« bosh
Autentikimi i BrendshĂ«m â PAP
Identiteti i JashtĂ«m â klient
Tabi Trust. Këtu specifikoni domenin tonë
E gjithë. Profili mund të ruhet, të nënshkruhet dhe të shpërndahet në pajisje
Pasi që profili të jetë gati, duhet ta shkarkoni në Mac dhe ta instaloni. Gjatë procesit të instalimit, do të duhet të jepni username_ldap dhe password_ldap të përdoruesit:



iOS
Procesi është i ngjashëm me macOS. Duhet të përdorni profilin (mund ta përdorni të njëjtin si për macOS. Si të krijoni një profil në Apple Configurator, shihni më sipër).
Shkarkoni profilin, instaloni, futur të dhënat e akountit, lidheni:






Këtu është gjithçka. Ne kemi konfiguruar serverin RADIUS, e kemi sinkronizuar me FreeIPA dhe i kemi treguar pikave të qasjes Ubiquiti të përdorin WPA2-EAP.
Pyetje të mundshme
P: si të transmetoj profilin / certifikatën te punonjësi?
P: Të gjitha certifikatat / profilet i ruaj në FTP me qasje përmes uebit. Kam ngritur një rrjet mysafir me kufizim në shpejtësi dhe qasje vetëm në internet, përveç FTP.
Autentikimi qëndron 2 ditë, pas së cilës ri-setohet dhe klienti mbetet pa internet. Pra, kur punonjësi dëshiron të lidhet me WiFi, së pari ai lidhet me rrjetin mysafir, hyn në FTP, shkarkon certifikatën ose profilin që i nevojitet, i instalon ato, dhe pastaj mund të lidhet me rrjetin korporativ.
P: pse nuk ta përdorim skemën me MSCHAPv2? ajo është më e sigurt!
P: së pari, një skemë e tillë funksionon mirë në NPS (Windows Network Policy System), në implementimin tonë është e nevojshme të konfigurohet shtesë LDAP (FreeIpa) dhe të ruajmë hash-të e fjalëkalimeve në server. Nuk është e dëshirueshme të bëhen konfigurations të tjera, pasi kjo mund të sjellë probleme të ndryshme sinkronizimi të përdoruesve. Së dyti, hashi përbëhet nga MD4, kështu që kjo nuk e rrit ndjeshëm sigurinë.
P: a mund të autorizohen pajisjet sipas adresave MAC?
P: JO, kjo nuk është e sigurt, një sulmues mund të manipulojë adresat MAC, dhe për më tepër, autorizimi sipas adresave MAC nuk mbështetet në shumë pajisje.
P: përse të përdorim të gjitha këto certifikata? mund të lidhemi edhe pa to.
P: Certifikatat pĂ«rdoren pĂ«r tĂ« autorizuar serverin. Pra, pajisja gjatĂ« lidhjes kontrollon nĂ«se Ă«shtĂ« ky serveri qĂ« mund tĂ« besohet apo jo. NĂ«se po, autentikimi vazhdon mĂ« tej; nĂ«se jo, lidhja mbyllet. Mund tĂ« lidhesh pa certifikata, por nĂ«se njĂ« sulmues ose fqinj ngrit njĂ« server radius dhe njĂ« pikĂ« qasjeje me emrin e njĂ«jtĂ« si i yni, ai mund tĂ« kapĂ« lehtĂ«sisht akreditimet e pĂ«rdoruesit (mos harroni, sepse ato dĂ«rgohen nĂ« mĂ«nyrĂ« tĂ« hapur). Kur pĂ«rdoret njĂ« certifikatĂ«, armiku do tĂ« shohĂ« nĂ« log-et e tij vetĂ«m emrin tonĂ« tĂ« shpikur tĂ« pĂ«rdoruesit â guest ose client dhe njĂ« gabim tĂ« tipit â Unknown CA Certificate.
pak më shumë për macOSZakonisht, në macOS, riparimi i sistemit bëhet nëpërmjet internetit. Në modalitetin e rikuperimit, Mac-u duhet të lidhet me WiFi, dhe këtu nuk do të funksionojë as WiFi ynë korporativ, as rrjeti i mysafirëve. Personalish, ngrita një rrjet tjetër, të zakonshëm me WPA2-PSK, të fshehur, vetëm për operacione teknike. Ose gjithashtu mund të krijosh paraprakisht një USB bootable me sistemin. Por nëse Mac-u është pas vitit 2015, do të duhet të gjesh një adaptues për këtë USB.)
Burimi: habr.com
