Hin mînakên organîzekirina WiFi ya pargîdanî berê hatine vegotin. Li vir ez ê diyar bikim ka min çawa çareseriyek bi vî rengî pêk anî û pirsgirêkên ku ez pê re rû bi rû bûm dema ku bi cîhazên cihêreng ve girêdayî bûm. Em ê LDAP-a heyî bi bikarhênerên qeydkirî re bikar bînin, FreeRadius bilind bikin û WPA2-Enterprise li ser kontrolkerê Ubnt mîheng bikin. Her tişt hêsan xuya dike. Ka em bibînin…
Hinekî li ser rêbazên EAP
Berî ku em bi peywirê re bimeşin, pêdivî ye ku em biryar bidin ka em ê di çareseriya xwe de kîjan rêbazê erêkirinê bikar bînin.
Ji Wîkîpediya:
EAP çarçoveyek pejirandinê ye ku pir caran di torên bêtêl û girêdanên xal-bi-xal de tê bikar anîn. Format yekem car di RFC 3748 de hate şirove kirin û di RFC 5247 de hate nûve kirin.
EAP ji bo bijartina rêbazek pejirandinê, derbaskirina bişkojkan, û pêvajokirina wan bişkojan bi pêvekên ku jê re rêbazên EAP têne gotin tê bikar anîn. Gelek rêbazên EAP-ê hene, hem bi EAP-ê bixwe re têne destnîşankirin û hem jî ji hêla firoşkarên kesane ve têne berdan. EAP qatê girêdanê diyar nake, ew tenê forma peyamê diyar dike. Her protokola ku EAP-ê bikar tîne xwedan protokola vegirtina peyama EAP-ê ye.
Rêbaz bi xwe:
- LEAP protokolek xwedan e ku ji hêla CISCO ve hatî pêşve xistin. Qelsiyên dîtin. Niha nayê pêşniyar kirin ku bikar bînin
- EAP-TLS di nav firoşkarên wireless de baş tê piştgirî kirin. Ew protokolek ewledar e ji ber ku ew serketiya standardên SSL-ê ye. Sazkirina xerîdar pir tevlihev e. Ji bilî şîfreyê ji we re sertîfîkayek xerîdar hewce dike. Li ser gelek pergalan piştgirî kirin
- EAP-TTLS - li ser gelek pergalan bi berfirehî tê piştgirî kirin, bi karanîna sertîfîkayên PKI tenê li ser servera verastkirinê ewlekariya baş peyda dike
- EAP-MD5 standardek din vekirî ye. Ewlekariya hindiktirîn pêşkêşî dike. Zehf e, piştrastkirina hevdu û nifşa sereke piştgirî nake
- EAP-IKEv2 - li ser bingeha Protokola Veguheztina Mifteya Înternetê guhertoya 2-ê ye. Di navbera xerîdar û serverê de erêkirina hevdu û sazkirina mifteya danişînê peyda dike
- PEAP çareseriyek hevbeş a CISCO, Microsoft û Ewlekariya RSA wekî standardek vekirî ye. Di hilberan de bi berfirehî peyda dibe, ewlehiya pir baş peyda dike. Mîna EAP-TTLS, li ser serverê tenê sertîfîkayek hewce dike
- PEAPv0 / EAP-MSCHAPv2 - piştî EAP-TLS, ev duyemîn standarda ku bi berfirehî tê bikar anîn li cîhanê ye. Têkiliya xerîdar-server li Microsoft, Cisco, Apple, Linux bikar anîn
- PEAPv1 / EAP-GTC - Ji hêla Cisco ve wekî alternatîfek PEAPv0 / EAP-MSCHAPv2 ve hatî afirandin. Bi tu awayî daneyên erêkirinê naparêze. Li ser Windows OS nayê piştgirî kirin
- EAP-FAST teknîkek e ku ji hêla Cisco ve hatî pêşve xistin da ku kêmasiyên LEAP rast bike. Krediya Gihîştina Parastî (PAC) bikar tîne. Bi tevahî neqediya
Ji van hemî cihêrengiyê, bijarte hîn jî ne mezin e. Rêbaza pejirandinê hewce bû: Ewlekariya baş, piştgirî li ser hemî cîhazan (Windows 10, macOS, Linux, Android, iOS) û, bi rastî, sadetir, çêtir. Ji ber vê yekê, hilbijartin bi protokola PAP-ê re li ser EAP-TTLS ket.
Dibe ku pirs derkeve - Çima PAP bikar bînin? ji ber ku ew şîfreyên zelal dişîne?
Erê rast e. Têkiliya di navbera FreeRadius û FreeIPA de dê bi vî rengî pêk were. Di moda debugê de, hûn dikarin bişopînin ka navê bikarhêner û şîfreyê çawa têne şandin. Erê, û dev ji wan berdin, tenê we gihîştina servera FreeRadius heye.
Hûn dikarin di derbarê xebata EAP-TTLS de bêtir bixwînin
FreeRADIUS
Em ê FreeRadius nûve bikin CentOS 7.6. Li vir tiştek tevlihev tune, em wê bi awayê asayî saz dikin.
yum install freeradius freeradius-utils freeradius-ldap -y
Guhertoya 3.0.13 ji pakêtan tê saz kirin. Ya paşîn dikare were girtin
Piştî wê, FreeRadius jixwe dixebite. Hûn dikarin rêzê di /etc/raddb/users de şîrove nekin
steve Cleartext-Password := "testing"
Di moda debugê de dest bi serverê bikin
freeradius -X
Û ji localhost ve têkiliyek testê çêbikin
radtest steve testing 127.0.0.1 1812 testing123
Bersiv girt Ji 115: 127.0.0.1 heta 1812: 127.0.0.1 dirêjahiya 56081 20-a Gihîştin-Qebûlkirinê wergirt., ev tê vê wateyê ku her tişt baş e. Berdewam bike.
Em modulê girêdidin ldap.
ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/ldap
Û em ê di cih de biguherînin. Pêdiviya me bi FreeRadius heye ku bikaribe xwe bigihîne FreeIPA
mods-çalak / 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}})"
}
...
Pêşkêşkara radiusê ji nû ve bidin destpêkirin û hevdemkirina bikarhênerên LDAP-ê kontrol bikin:
radtest user_ldap password_ldap localhost 1812 testing123
Eap di guherandinê de mods-çalak / eap
Li vir em du mînakên eap zêde dikin. Ew ê tenê di sertîfîka û kilîtan de cûda bibin. Li jêr ez ê rave bikim ka çima wusa ye.
mods-çalak / 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"
}
}
Guhertoya bêtir malper-çalak/default. Beşên destûrkirin û piştrastkirin balkêş in.
malper-çalak/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
}
Di beşa destûrnameyê de, em hemî modulên ku ne hewce ne jê dikin. Em tenê ldap dihêlin. Bi navê bikarhêner verastkirina xerîdar zêde bikin. Ji ber vê yekê me li jor du mînakên eap zêde kirin.
Multi EAPRastî ev e ku dema ku hin cîhazan ve girêdidin, em ê sertîfîkayên pergalê bikar bînin û domainê diyar bikin. Sertîfîkayek û mifteyek me ji rayedarek sertîfîkayê pêbawer heye. Bi kesane, bi dîtina min, pêvajoyek pêwendiyek wusa ji avêtina sertîfîkayek xwe-îmzakirî li ser her cîhazê hêsantir e. Lê bêyî sertîfîkayên xwe-îmzakirî jî, dîsa jî bi ser neket. Amûrên Samsung û guhertoyên Android =< 6 nikarin sertîfîkayên pergalê bikar bînin. Ji ber vê yekê, em ji wan re bi sertîfîkayên xwe-îmzakirî mînakek veqetandî ya eap-mêvan diafirînin. Ji bo hemî amûrên din, em ê eap-muwekîlê bi sertîfîkayek pêbawer bikar bînin. Dema ku cîhaz tê girêdan Navê Bikarhêner ji hêla qada Anonîm ve tê destnîşankirin. Tenê 3 nirx têne destûr kirin: Mêvan, Xerîdar û qada vala. Her tiştên din têne avêtin. Ew ê di siyasetmedaran de were mîheng kirin. Ez ê hinekî paşê mînakek bidim.
Werin em beşên destûrdayînê biguhezînin û di nav de rast bikin site-çalak / hundir-tunel
site-çalak / hundir-tunel
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
}
Dûv re, hûn hewce ne ku di polîtîkayan de diyar bikin ka kîjan nav dikarin ji bo têketina nenas bikar bînin. Editing polîtîka.d/filter.
Hûn hewce ne ku rêzikên mîna vê bibînin:
if (&outer.request:User-Name !~ /^(anon|@)/) {
update request {
Module-Failure-Message = "User-Name is not anonymized"
}
reject
}
Û li jêr di elsif de nirxên xwestinê zêde bikin:
elsif (&outer.request:User-Name !~ /^(guest|client|@)/) {
update request {
Module-Failure-Message = "User-Name is not anonymized"
}
reject
}
Naha divê em biçin pelrêça sertîfîkayên. Li vir hûn hewce ne ku mift û sertîfîkayê ji rayedarek sertîfîkayê pêbawer, ya ku me berê heye û pêdivî ye ku ji bo eap-mêvan sertîfîkayên xwe-îmzakirî biafirînin.
Guhertina parametreyên di pelê de 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 = [email protected]
commonName = "CA FreeRadius"
Em heman nirxan di pelê de dinivîsin server.cnf. Em tenê diguherin
CommonName:
server.cnf
...
default_days = 3650
default_md = sha256
...
input_password = blablabla
output_password = blablabla
...
countryName = RU
stateOrProvinceNmae = State
localityNmae = City
organizationName = NONAME
emailAddress = [email protected]
commonName = "Server Certificate FreeRadius"
Xûliqandin:
make
Amade. Wergirtin server.crt и server.key Me berê li jor di eap-mêvan de tomar kir.
Û di dawiyê de, em xalên gihîştina xwe li pelê zêde bikin kiriyar.conf. 7 ji wan hene. Ji bo ku em her xalek ji hev cuda zêde nekin, em ê tenê tora ku ew tê de ne binivîsin (xalên gihîştina min di VLANek cihê de ne).
client APs {
ipaddr = 192.168.100.0/24
password = password_AP
}
Kontrolkerê Ubiquiti
Em torgilokek veqetandî li ser kontrolkerê bilind dikin. Bila 192.168.2.0/24 be
Herin mîhengan -> profîlê. Em yekî nû ava dikin:
Em navnîşan û porta servera radius û şîfreya ku di pelê de hatî nivîsandin dinivîsin xerîdar.conf:
Navekî nû ya torê ya bêtêl biafirînin. WPA-EAP (Enterprise) wekî rêbaza pejirandinê hilbijêrin û profîla radyoya çêkirî diyar bikin:
Em her tiştî xilas dikin, serlêdan dikin û diçin.
Sazkirina mişteriyan
Ka em bi ya herî dijwar dest pê bikin!
Windows 10
Zehmetî di rastiyê de tê ku Windows hîn nizane ka meriv çawa bi navgîniyek domainek bi WiFi-ya pargîdanî ve girêdide. Ji ber vê yekê, pêdivî ye ku em bi destan sertîfîkaya xwe li dikana sertîfîkaya pêbawer bar bikin. Li vir hûn dikarin hem xwe-îmzakirî û hem jî ji desthilatdariya pejirandinê bikar bînin. Ez ê ya duyemîn bikar bînim.
Piştre, hûn hewce ne ku pêwendiyek nû çêbikin. Ji bo vê yekê, biçin mîhengên torê û Înternetê -> Navenda Torgilok û Parvekirinê -> Têkiliyek an torgilokek nû çêbikin û mîheng bikin:
Bi destan navê torê têkevin û celebê ewlehiyê biguherînin. Piştî ku em li ser bitikînin mîhengên girêdanê biguherînin û di tabloya Ewlekariyê de, verastkirina torê - EAP-TTLS hilbijêrin.
Em dikevin nav parametreyan, nepenîtiya erêkirinê destnîşan dikin - kirrîxwaz. Wekî rayedarek pejirandî ya pêbawer, sertîfîkaya ku me lê zêde kiriye hilbijêrin, qutiya "Heke server nekare destûr were dayîn dawetnameyek ji bikarhêner re nede" û rêbaza erêkirinê hilbijêrin - şîfreya neşîfrekirî (PAP).
Dûv re, herin mîhengên pêşkeftî, tîkek li ser "Moda rastkirinê diyar bikin" bixin. "Authentication Bikarhêner" hilbijêrin û li ser bikirtînin pêbawerên xilas bike. Li vir hûn ê hewce bikin ku navnîşa bikarhêner_ldap û password_ldap binivîsin
Em her tiştî xilas dikin, serlêdan dikin, digirin. Hûn dikarin bi tora nû ve girêdayî bibin.
Linux
Min li Ubuntu 18.04, 18.10, Fedora 29, 30 ceriband.
Pêşî, bila em sertîfîkaya xwe dakêşin. Min di Linux-ê de nedît ka gelo meriv dikare sertîfîkayên pergalê bikar bîne û gelo bi tevahî firotgehek wusa heye.
Werin em bi domainê ve girêbidin. Ji ber vê yekê, em hewceyê sertîfîkayek ji saziya pejirandinê ya ku sertîfîkaya me jê hatî kirîn hewce ye.
Hemî girêdan di yek pencereyê de têne çêkirin. Hilbijartina tora me:
nenas-mişterî
domain - domaina ku sertîfîka jê tê derxistin
Android
ne-Samsung
Ji guhertoya 7-ê, dema ku WiFi ve girêdide, hûn dikarin sertîfîkayên pergalê bikar bînin û tenê domainê destnîşan bikin:
domain - domaina ku sertîfîka jê tê derxistin
nenas-mişterî
Samsung
Wekî ku min li jor nivîsî, cîhazên Samsung-ê nizanin ka meriv çawa sertîfîkayên pergalê bikar tîne dema ku bi WiFi-yê ve girêdayî ye, û ew ne xwediyê kapasîteya girêdana bi navgînek domainê ne. Ji ber vê yekê, divê hûn bi destan sertîfîkaya root ya desthilatdariya pejirandinê zêde bikin (ca.pem, em wê li ser servera Radius digirin). Li vir e ku dê bixwe-îmza were bikar anîn.
Sertîfîkaya cîhaza xwe dakêşin û saz bikin.
Sazkirina Sertîfîkayê
Di heman demê de, hûn ê hewce bikin ku şêwaza vekirina ekranê, koda pînê an şîfreyê saz bikin, heke ew jixwe nehatiye saz kirin:
Min guhertoyek tevlihev a sazkirina sertîfîkayekê nîşan da. Li ser piraniya cîhazan, bi tenê li ser sertîfîkaya dakêşandî bikirtînin.
Dema ku sertîfîka hate saz kirin, hûn dikarin pêwendiyê bidomînin:
sertîfîka - ya ku hatî saz kirin destnîşan bike
bikarhênerê nenas - mêvan
MacOS
Amûrên Apple yên ji qutiyê tenê dikarin bi EAP-TLS ve girêbidin, lê dîsa jî hûn hewce ne ku sertîfîkayekê bavêjin wan. Ji bo destnîşankirina rêbazek pêwendiyek cûda, hûn hewce ne ku Apple Configurator 2 bikar bînin. Li gorî vê yekê, divê hûn pêşî li Mac-a xwe dakêşin, profîlek nû biafirînin û hemî mîhengên WiFi yên pêwîst lê zêde bikin.
Apple Configurator
Navê tora xwe li vir binivîse
Tîpa Ewlekariyê - WPA2 Enterprise
Tîpên EAP-ê yên pejirandî - TTLS
Navê Bikarhêner û Şîfre - vala bihêlin
Nasnameya Navxweyî - PAP
Nasnameya Derveyî-mişterî
Tabloya pêbaweriyê. Li vir em domaina xwe diyar dikin
Gişt. Profîl dikare were hilanîn, îmzekirin û li cîhazan were belavkirin
Piştî ku profîlek amade bû, hûn hewce ne ku wê li poppy dakêşin û saz bikin. Di pêvajoya sazkirinê de, hûn ê hewce bikin ku bikarhêner usernmae_ldap û password_ldap destnîşan bikin:
iOS
Pêvajo mîna macOS-ê ye. Pêdivî ye ku hûn profîlek bikar bînin (hûn dikarin heman wekî macOS-ê bikar bînin. Meriv çawa di Apple Configurator de profîlek çêbike, li jor binêre).
Profîl dakêşin, saz bikin, pêbaweran binivîsin, girêdan:
Navê pêger. Me serverek Radius saz kir, wê bi FreeIPA re hevdeng kir, û ji Ubiquiti AP re got ku WPA2-EAP bikar bînin.
Pirsên gengaz
In: meriv çawa profîlek / sertîfîkayek ji karmendek re veguhezîne?
About: Ez hemî sertîfîkayan/profilan li ser FTP-ê bi gihîştina tevneyê hildibijêrim. Tora mêvanan bi sînorek bilez û gihîştina tenê Înternetê, ji bilî ftp, bilind kir.
Nasname 2 rojan dom dike, piştî ku ew ji nû ve tê verast kirin û xerîdar bêyî Internetnternetê dimîne. Va. Dema ku karmendek bixwaze bi WiFi-yê ve girêbide, ew pêşî bi tora mêvanan ve girêdide, têkeve FTP-ê, sertîfîka an profîla ku jê re hewce dike dakêşîne, wan saz dike, û dûv re dikare bi tora pargîdanî ve girêbide.
In: çima şema bi MSCHAPv2 bikar neynin? Ew ewletir e!
About: Pêşîn, nexşeyek wusa li ser NPS (Pergala Siyaseta Tora Windows-ê) baş dixebite, di pêkanîna me de pêdivî ye ku LDAP (FreeIpa) jî were mîheng kirin û şîfreyên şîfreyê li ser serverê hilînin. Lêzêdekirin. ne şîret e ku meriv mîhengan bike, ji ber. ev dikare bibe sedema pirsgirêkên cihêreng ên hevdemkirina ultrasoundê. Ya duyemîn, hash MD4 e, ji ber vê yekê ew pir ewlehiyê zêde nake.
In: Ma gengaz e ku meriv cîhazên bi navnîşanên mac-ê destûr bide?
About: NA, ev ne ewle ye, êrîşkar dikare navnîşanên MAC-ê biguhezîne, û hêj bêtir destûrnameya ji hêla navnîşanên MAC-ê ve li ser gelek cîhazan nayê piştgirî kirin.
In: bi gelemperî van hemî sertîfîkayan ji bo çi bikar bînin? hûn dikarin bêyî wan tevlî bibin?
About: sertîfîka ji bo destûrdayîna serverê têne bikar anîn. Ewan. dema ku tê girêdan, cîhaz kontrol dike ka ew serverek e ku dikare pê pêbawer be an na. Ger wusa be, wê hingê verastkirin berdewam dike, heke ne wusa be, girêdan girtî ye. Hûn dikarin bêyî sertîfîkayan girêbidin, lê heke êrîşkar an cîranek serverek radius û xalek gihîştinê bi heman navî ya me li malê saz bike, ew dikare bi hêsanî pêbaweriyên bikarhêner bigire (ji bîr nekin ku ew bi nivîsek zelal têne şandin). Û gava ku sertîfîkayek were bikar anîn, dijmin dê di têketinên xwe de tenê Navê Bikarhênerê me yê xeyalî - mêvan an xerîdar û xeletiyek celebê - Belgeya CA ya nenas bibîne
hinekî bêtir li ser macOSBi gelemperî li ser macOS-ê, ji nû ve sazkirina pergalê bi riya Înternetê tê kirin. Di moda başbûnê de, pêdivî ye ku Mac bi WiFi ve were girêdan, û ne WiFi ya pargîdaniya me û ne jî tora mêvan dê li vir bixebitin. Bi kesane, min torgilokek din, WPA2-PSK-ya asayî, veşartî, tenê ji bo operasyonên teknîkî rakir. An jî hûn dikarin di pêş de bi pergalê re ajokerek flash USB-ya bootable çêbikin. Lê heke poppy piştî 2015-an be, hûn ê dîsa jî hewce bikin ku ji bo vê ajokera flash-ê adapterek bibînin)
Source: www.habr.com