
Disa ishin disa shembuj tĂ« organizimit tĂ« WiFi-sĂ« pĂ«r ndĂ«rmarrje. KĂ«tu do tĂ« pĂ«rshkruaj se si realizova njĂ« zgjidhje tĂ« tillĂ« dhe problemet me tĂ« cilat u pĂ«rballa gjatĂ« lidhjes nĂ« pajisje tĂ« ndryshme. Do tĂ« pĂ«rdorim LDAP-in ekzistues me pĂ«rdorues tashmĂ« tĂ« regjistruar, do tĂ« ngremĂ« FreeRadius dhe do tĂ« konfigurojmĂ« WPA2-Enterprise nĂ« kontrollorin Ubnt. Duket e thjeshtĂ«. Le tĂ« shohimâŠ
Pak rreth metodave EAP
Para se të vëmë në punë detyrën, duhet të përcaktojmë se cila metodë autentifikimi do të përdorim në zgjidhjen tonë.
Nga Wikipedia:
EAP â Ă«shtĂ« njĂ« kornizĂ« autentifikimi, qĂ« pĂ«rdoret shpesh nĂ« rrjetet wireless 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 tĂ« zgjedhur metodĂ«n e autentikimit, transferimin e çelĂ«save dhe procesin e kĂ«tyre çelĂ«save nga module tĂ« quajtura metodat EAP. EkzistojnĂ« shumĂ« metoda EAP, si ato tĂ« pĂ«rcaktuara sĂ« bashku me EAP-nĂ«, ashtu edhe ato tĂ« lĂ«shuara nga prodhues tĂ« ndryshĂ«m. EAP nuk pĂ«rcakton nivelin e kanalit, ai pĂ«rcakton vetĂ«m formatin e mesazheve. Ădo protokoll qĂ« pĂ«rdor EAP ka protokollin e vet tĂ« inkapsulimit tĂ« mesazheve EAP.
Metodat vetë:
- LEAP â protokoll proprietar i zhvilluar nga CISCO. JanĂ« gjetur vulnerabilitete. Aktualisht nuk rekomandohet pĂ«rdorimi.
- EAP-TLS â mirĂ«pritet gjerĂ«sisht nga ofruesit e lidhjeve wireless. ĂshtĂ« njĂ« protokoll i sigurt, pasi Ă«shtĂ« pasardhĂ«si i standarteve SSL. Konfigurimi i klientit Ă«shtĂ« mjaft kompleks. Nevojitet njĂ« certifikatĂ« klienti pĂ«rveç fjalĂ«kalimit. MbĂ«shtetet nĂ« shumĂ« sisteme.
- EAP-TTLS â mbĂ«shtetet gjerĂ«sisht nĂ« shumĂ« sisteme, ofron njĂ« 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. ĂshtĂ« vulnerabĂ«l, nuk mbĂ«shtet autentikimin e ndĂ«rsjellĂ« dhe gjenerimin e çelĂ«save.
- EAP-IKEv2 â bazohet nĂ« protokollin e shkĂ«mbimit tĂ« çelĂ«save Internet versioni 2. Siguron autentikimin e ndĂ«rsjelltĂ« dhe vendosjen e çelĂ«sit tĂ« seancĂ«s midis klientit dhe serverit.
- PEAP â njĂ« zgjidhje e pĂ«rbashkĂ«t e CISCO, Microsoft dhe RSA Security si njĂ« standard i hapur. GjatĂ« pĂ«rdorimit tĂ« gjerĂ« nĂ« produkte, siguron siguri shumĂ« tĂ« mirĂ«. ĂshtĂ« e ngjashme me EAP-TTLS, duke kĂ«rkuar vetĂ«m njĂ« certifikatĂ« nĂ« anĂ«n e serverit.
- PEAPv0/EAP-MSCHAPv2 â pas EAP-TLS, kjo Ă«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Ă« pĂ«r 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Ă« riparuar dobĂ«sitĂ« e LEAP. PĂ«rdor Credential tĂ« Mbrojtur tĂ« Qasjes (PAC). Nuk Ă«shtĂ« kompletuar plotĂ«sisht.
Nga gjithë kjo shumëllojshmëri, zgjedhja nuk është aq e madhe. Nga metoda e autentikimit kërkohej: siguri e mirë, mbështetje në të gjitha pajisjet (Windows 10, macOS, Linux, Android, iOS) dhe, për më tepër, sa më e thjeshtë, aq më mirë. Prandaj, zgjedhja ra në EAP-TTLS në lidhje me protokollin PAP.
Mund tĂ« lind njĂ« pyetje â Pse tĂ« pĂ«rdorim PAP? sepse ai transmeton fjalĂ«kalimet nĂ« formĂ« tĂ« hapur?
Po, gjithçka është në rregull. Komunikimi midis FreeRadius dhe FreeIPA do të ndodhi pikërisht kështu. Në modin edebugimit, mund të monitoroni si dërgohen emri i përdoruesit dhe fjalëkalimi. Dhe le të dërgohen, vetëm që ju keni qasje në serverin FreeRadius.
Mund të lexoni më shumë rreth funksionimit të EAP-TTLS
FreeRADIUS
Do ta ngremë FreeRadius në CentOS 7.6. Këtu nuk ka asgjë të komplikuar, e instalojmë në mënyrë të zakonshme.
yum install freeradius freeradius-utils freeradius-ldap -yNga paketat, instalohet versioni 3.0.13. Mund të merrni versionin më të fundit në
Pas kësaj, FreeRadius funksionon tashmë. Mund të çaktivizoni rreshtin në /etc/raddb/users
steve Cleartext-Password := "testing"Nisni serverin në modin e debugut
freeradius -XDhe bëjmë një test të lidhjes nga 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, do të thotë se gjithçka është mirë. Shkoi përpara.
Lidhim modulin 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 Po redaktojmë eap në mods-enabled/eap
Këtu do të shtojmë dy ekzemplarë eap. Ata do të ndryshojnë vetëm në certifikat dhe çelës. Pak më poshtë do të shpjegoj pse pikërisht kështu.
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 editojmë site-enabled/default. Interesohen 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 heqim të gjitha modulet që nuk na nevojiten. Lëmë vetëm ldap. Shtojmë kontrollin e klientit sipas username-it. Pikërisht për këtë kemi shtuar dy instanca eap më lart.
Multi EAPE rëndësishme është që për lidhjen e disa pajisjeve do të përdorim certifikatat sistemike dhe do të caktomë domene. Ne kemi një certifikatë dhe çelës nga një qendër besimi për certifikim. Sipas mendimit tim, kjo procedurë lidhjeje është më e thjeshtë se sa të dërgojmë çdo pajisje një certifikatë të vetë-nënshkruar. Por gjithsesi nuk arritëm pa certifikatat e vetë-nënshkruara. Pajisjet Samsung dhe Android <= versioni 6 nuk dinë të përdorin certifikatat sistemike. Prandaj, për to 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 një certifikatë të besuar. User-Name përcaktohet sipas fushës Anonymous gjatë lidhjes së pajisjes. Lejohet të përdoren vetëm 3 vlera: Guest, Client dhe fusha e zbrazët. Të gjitha të tjerat do të shpërfillen. Kjo rregullohet në politikë. Do të 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ë përcaktojmë në politika se cilat emra mund të përdoren për hyrje anonime. Po editojmë policy.d/filter.
Duhet të gjejmë rreshta të ngjashëm me këtë:
if (&outer.request:User-Name !~ /^(anon|@)/) {
update request {
Module-Failure-Message = "User-Name nuk është anonimizuar"
}
reject
}Dhe poshtë te elsif, shtoni vlerat e nevojshme:
elsif (&outer.request:User-Name !~ /^(guest|client|@)/) {
update request {
Module-Failure-Message = "User-Name nuk është anonimizuar"
}
reject
}Tani na nevojitet të kalojmë në dosjen certs. Këtu duhet të vendosim çelësin dhe certifikatën nga qendra e certifikimit të besueshme që e kemi tashmë, si dhe të gjenerojmë certifikata të vetë-nënshkruara për eap-guest.
Ndryshoni parametrat në skedarin ca.cnf.
ca.cnf
...
default_days = 3650
default_md = sha256
...
input_password = blablabla
output_password = blablabla
...
countryName = RU
stateOrProvinceNmae = State
localityNmae = City
organizationName = NONAME
emailAddress = admin@admin.ru
commonName = "CA FreeRadius"Vlera të njëjta vendosim 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 = State
localityNmae = City
organizationName = NONAME
emailAddress = admin@admin.ru
commonName = "Server Certificate FreeRadius"Krijojmë:
makeGati. Të marra server.crt dhe server.key janë përmendur tashmë më lartë në eap-guest.
Dhe e fundit, do të shtojmë pikat tona të qasjes në skedarin client.conf. Kam i tillë 7. Për të mos e shtuar çdo pikë veçmas, do të shkruajmë vetëm rrjetin ku ndodhen ato (pikat e mia të qasjes ndodhen në VLAN të veçantë).
client APs {
ipaddr = 192.168.100.0/24
password = password_AP
}Kontrolluesi Ubiquiti
Në kontrollues do të ngrisim një rrjet të veçantë. Le të jetë 192.168.2.0/24
Shkoni te cilësimet -> profili. Krijoni një të ri:

Shkruani adresën dhe portin e serverit radius dhe fjalëkalimin që shkruajtët në skedarin clients.conf:

Krijoni një emër të ri për rrjetin pa tela. Si metodë autentikimi zgjidhni WPA-EAP (Enterprise) dhe shënoni profilin e krijuar radius:

Të gjitha i ruajmë, i aplikojmë dhe vazhdojmë.
Cilësimi i klientëve
Të fillojmë me më të vështirën!
Windows 10
Vështirësia është se Windows ende nuk di të lidhet me WiFi-në e korporatës përmes domenit. Prandaj, duhet t'i hedhim manualisht certifikatën tonë në dyqanin e certifikatave të besuara. Këtu mund të përdorim si certifikatë të vetë-nënshkruar ashtu edhe nga qendra e certifikimit. Unë do të përdor të dytën.
Më pas, duhet të krijoni një lidhje të re. Për këtë shkoni në parametrat e rrjetit dhe Internetit -> Qendra e menaxhimit të rrjeteve dhe ndarjes së përbashkët -> Krijoni dhe konfiguroni një lidhje ose rrjet të ri:



Manually enter the network name and change the security type. Then click on change connection settings and in the Security tab select network authentication â EAP-TTLS.



Go to the settings, enter the authentication confidentiality â client. As the trusted certificate authority, select the certificate we added, check the box "Do not prompt the user if server authorization fails" and for the authentication method select â unencrypted password (PAP).

Next, go to advanced settings, check the box for "Specify authentication mode". Choose the "User authentication" option and click on save credentials. Here, you will need to enter username_ldap and password_ldap



Everything is saved, apply, and close. You can connect to the new network.
Linux
I tested it on Ubuntu 18.04, 18.10, Fedora 29, 30.
To start, let's download the certificate. I did not find in Linux if there is a way to use system certificates and if there is even such a repository.
Do të lidhemi përmes domainit. Prandaj nevojitet një certifikatë e autoritetit të certifikimit nga i cili u ble certifikata jonë.
E gjithë lidhja bëhet në një dritare. Zgjidhim rrjetin tonë:

anonim â klient
domen â domeni pĂ«r tĂ« cilin Ă«shtĂ« lĂ«shuar certifikata
Android
non-Samsung
Nga versioni C 7 mund të përdorni certifikatat sistemore duke specifikuar vetëm domenin gjatë lidhjes WiFi:

domen â domeni pĂ«r tĂ« cilin Ă«shtĂ« lĂ«shuar certifikata
anonim â klient
Samsung
Siç e përmenda më lart, pajisjet Samsung nuk e kanë kapacitetin të përdorin certifikatat sistemore gjatë lidhjes WiFi dhe nuk kanë mundësi të lidhen përmes domainit. Prandaj duhen shtuar manualisht certifikatën rrënjësore të autoritetit të certifikimit (ca.pem, e marra në serverin Radius). Këtu do të përdorim atë të nënshkruar vetë.
Shkarkoni certifikatën në pajisjen tuaj dhe instaloje.
Instalimi i certifikatës



Në këtë rast, do t'ju duhet të vendosni një model për çelësin e hapjes, pin-kod ose fjalëkalim, nëse nuk është vendosur ende:


Tregova variantin e ndërlikuar të instalimit të certifikatës. Në shumicën e pajisjeve mjafton thjesht të shtypni në certifikatën e shkarkuar.
Kur certifikata të jetë instaluar, mund të kaloni te lidhja:

certifikata â specifikoni atĂ« qĂ« keni instaluar
pĂ«rdorues anonim â guest
macOS
Pajisjet Apple nga kutia mund të lidhen vetëm me EAP-TLS, por ende është e nevojshme të dorëzohet certifikata. Për të specifikuar një metodë tjetër lidhjeje, nevojitet të përdoret Apple Configurator 2. Prandaj, duhet së pari ta shkarkoni atë në Mac-in tuaj, të krijoni një profil të ri dhe të shtoni të gjitha cilësimet e nevojshme për WiFi.
Apple Configurator

Këtu specifikoni emrin e rrjetit tuaj
Lloji i SigurisĂ« â WPA2 Enterprise
Llojet e pranuara tĂ« EAP â TTLS
Emri i pĂ«rdoruesit dhe FjalĂ«kalimi â lĂ«nĂ« bosh
Autentikimi i BrendshĂ«m â PAP
Identiteti JashtĂ« â klient
Skeda Trust. Këtu specifikoni domenin tonë
E gjitha. Profili mund të ruhet, të nënshkruhet dhe të shpërndahet në pajisje.
Pas përfundimit të profilit, duhet ta shkarkoni në Mac dhe ta instaloni. Gjatë procesit të instalimit, do t'ju nevojitet të jepni username_ldap dhe password_ldap të përdoruesit:



iOS
Procesi është i njëjtë me macOS. Duhet përdorur profili (mund të jetë po ai si për macOS. Si të krijoni profil në Apple Configurator, shih mbi).
Shkarkohet profili, instalohet, jepen kredencialet, lidhemi:






Këtu përfundon. Ne e konfiguram serverin Radius, e sinkronizuam me FreeIPA dhe i thamë pikave të aksesit Ubiquiti të përdorin WPA2-EAP.
Përdoruesit e mundshëm
M: si të dërgoni profilin/certifikatën tek punonjësi?
O: Të gjitha certifikatat/profilat i mbaj në FTP me qasje përmes webit. Kam ngritur një rrjet mysafir me kufizim në shpejtësi dhe akses vetëm në internet, përveç FTP-së.
Autentikimi zgjat 2 ditë, pas së cilës konsiderohet i skaduar dhe klienti mbetet pa internet. Kështu, kur një punonjës dëshiron të lidhet me WiFi, së pari lidhet me rrjetin mysafir, hyn në FTP, shkarkon certifikatën ose profilin e nevojshëm, i instalon ato, dhe pastaj mund të lidhet me rrjetin korporativ.
M: Përse nuk të përdorim skemën me MSCHAPv2? Ajo është më e sigurt!
O: Së pari, një skemë e tillë funksionon mirë në NPS (Windows Network Policy System), në implementimin tonë është e nevojshme të konfigurohet për më tepër LDAP (FreeIpa) dhe të ruhet hash-i i fjalëkalimeve në server. Nuk është e dëshirueshme të bënim konfigurime shtesë, pasi kjo mund të çojë në probleme të ndryshme sinkronizimi. Së dyti, hash-i përbëhet nga MD4, kështu që kjo nuk e rrit ndjeshëm sigurinë.
M: A është e mundur të autorizoni pajisjet sipas adresave MAC?
O: 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 nga shumë pajisje.
M: pse përdoren këto certifikata? A nuk mund të lidhemi edhe pa to?
O: Certifikatat pĂ«rdoren pĂ«r tĂ« autentikuar serverin. Kjo do tĂ« thotĂ« se pajisja, gjatĂ« lidhjes, kontrollon nĂ«se ky Ă«shtĂ« serveri besnik apo jo. NĂ«se po, autentikimi vazhdon; ndryshe, lidhja mbyllet. Mund tĂ« lidhemi pa certifikata, por nĂ«se njĂ« keqbĂ«rĂ«s ose fqinj ngrin njĂ« server radius dhe njĂ« pikĂ« qasje me tĂ« njĂ«jtin emĂ«r si i yni, ai mund tĂ« kapĂ« lehtĂ«sisht tĂ« dhĂ«nat e pĂ«rdoruesit (mos harrojmĂ« se ato dĂ«rgohen nĂ« formĂ« tĂ« hapur). Kur pĂ«rdoret certifikati, armiku do tĂ« shohĂ« nĂ« regjistrat e tij vetĂ«m emrat tanĂ« tĂ« rreme â guest ose client dhe njĂ« gabim si â Certificate CA i Panjohur.
pak më shumë për macOSZakonisht në macOS, ribashkimi i sistemit bëhet përmes internetit. Në mënyrën e rikuperimit, Mac-i duhet të lidhet me WiFi, dhe këtu nuk do të funksionojë as WiFi ynë korporativ, as rrjeti mysafir. Personalish, ngrita një rrjet tjetër, të zakonshëm me WPA2-PSK, të fshehur, vetëm për operacione teknike. Ose mund të krijoni një USB bootable me sistemin paraprakisht. Por nëse Mac-u është pas vitit 2015, do t'ju nevojitet gjithashtu një adapter për këtë USB)
Burimi: habr.com
