Disgrifiwyd rhai enghreifftiau o drefnu WiFi corfforaethol eisoes. Yma byddaf yn disgrifio sut y rhoddais ateb tebyg ar waith a'r problemau y bu'n rhaid i mi eu hwynebu wrth gysylltu ar wahanol ddyfeisiau. Byddwn yn defnyddio'r LDAP presennol gyda defnyddwyr cofrestredig, yn codi FreeRadius ac yn ffurfweddu WPA2-Enterprise ar reolwr Ubnt. Mae'n ymddangos bod popeth yn syml. Gawn ni weld…
Ychydig am ddulliau EAP
Cyn bwrw ymlaen â'r dasg, mae angen i ni benderfynu pa ddull dilysu y byddwn yn ei ddefnyddio yn ein datrysiad.
O Wicipedia:
Mae EAP yn fframwaith dilysu a ddefnyddir yn aml mewn rhwydweithiau diwifr a chysylltiadau pwynt-i-bwynt. Disgrifiwyd y fformat gyntaf yn RFC 3748 a'i ddiweddaru yn RFC 5247.
Defnyddir EAP i ddewis dull dilysu, pasio bysellau, a phrosesu'r allweddi hynny gydag ategion a elwir yn ddulliau EAP. Mae yna lawer o ddulliau EAP, y ddau wedi'u diffinio gydag EAP ei hun a'u rhyddhau gan werthwyr unigol. Nid yw EAP yn diffinio'r haen gyswllt, dim ond fformat y neges y mae'n ei ddiffinio. Mae gan bob protocol sy'n defnyddio EAP ei brotocol amgáu neges EAP ei hun.
Y dulliau eu hunain:
- Mae LEAP yn brotocol perchnogol a ddatblygwyd gan CISCO. Darganfuwyd gwendidau. Ar hyn o bryd ni argymhellir ei ddefnyddio
- Mae EAP-TLS yn cael ei gefnogi'n dda ymhlith gwerthwyr diwifr. Mae'n brotocol diogel oherwydd ei fod yn olynydd i'r safonau SSL. Mae sefydlu'r cleient yn eithaf cymhleth. Mae angen tystysgrif cleient arnoch yn ogystal â'r cyfrinair. Cefnogir ar lawer o systemau
- Mae EAP-TTLS - a gefnogir yn eang ar lawer o systemau, yn cynnig diogelwch da trwy ddefnyddio tystysgrifau PKI yn unig ar y gweinydd dilysu
- Mae EAP-MD5 yn safon agored arall. Yn cynnig diogelwch lleiaf posibl. Yn agored i niwed, nid yw'n cefnogi dilysu cilyddol a chynhyrchu allweddol
- EAP-IKEv2 - yn seiliedig ar fersiwn Protocol Cyfnewid Allwedd Rhyngrwyd 2. Yn darparu cyd-ddilysiad a sefydliad allwedd sesiwn rhwng y cleient a'r gweinydd
- Mae PEAP yn ddatrysiad ar y cyd rhwng CISCO, Microsoft a RSA Security fel safon agored. Ar gael yn eang mewn cynhyrchion, yn darparu diogelwch da iawn. Yn debyg i EAP-TTLS, sydd angen tystysgrif ar ochr y gweinydd yn unig
- PEAPv0/EAP-MSCHAPv2 - ar ôl EAP-TLS, dyma'r ail safon a ddefnyddir yn eang yn y byd. Defnyddio perthynas cleient-gweinydd yn Microsoft, Cisco, Apple, Linux
- PEAPv1/EAP-GTC - Crëwyd gan Cisco fel dewis amgen i PEAPv0/EAP-MSCHAPv2. Nid yw'n diogelu data dilysu mewn unrhyw ffordd. Heb ei gefnogi ar Windows OS
- Mae EAP-FAST yn dechneg a ddatblygwyd gan Cisco i gywiro diffygion LEAP. Yn defnyddio Manylion Mynediad Gwarchodedig (PAC). Hollol anorffenedig
O'r holl amrywiaeth hwn, nid yw'r dewis yn fawr o hyd. Roedd angen y dull dilysu: diogelwch da, cefnogaeth ar bob dyfais (Windows 10, macOS, Linux, Android, iOS) ac, mewn gwirionedd, gorau oll po symlaf. Felly, disgynnodd y dewis ar EAP-TTLS ar y cyd â'r protocol PAP.
Gall y cwestiwn godi - Pam defnyddio PAP? oherwydd ei fod yn trosglwyddo cyfrineiriau yn y clir?
Ydy Mae hynny'n gywir. Bydd cyfathrebu rhwng FreeRadius a FreeIPA yn digwydd fel hyn. Yn y modd dadfygio, gallwch olrhain sut mae enw defnyddiwr a chyfrinair yn cael eu hanfon. Oes, a gadewch iddyn nhw fynd, dim ond chi sydd â mynediad i'r gweinydd FreeRadius.
Gallwch ddarllen mwy am waith EAP-TTLS
RHYDDRADIUS
Bydd FreeRadius yn cael ei godi ar CentOS 7.6. Nid oes dim byd cymhleth yma, rydym yn ei osod yn y ffordd arferol.
yum install freeradius freeradius-utils freeradius-ldap -y
Mae fersiwn 3.0.13 wedi'i osod o'r pecynnau. Gellir cymryd yr olaf
Ar ôl hynny, mae FreeRadius eisoes yn gweithio. Gallwch ddadwneud y llinell yn /etc/raddb/users
steve Cleartext-Password := "testing"
Lansio i mewn i'r gweinydd yn y modd dadfygio
freeradius -X
A gwnewch gysylltiad prawf o localhost
radtest steve testing 127.0.0.1 1812 testing123
Wedi cael ateb Wedi Derbyn Mynediad-Derbyn Id 115 o 127.0.0.1:1812 i 127.0.0.1:56081 hyd 20, mae'n golygu bod popeth yn iawn. Cer ymlaen.
Rydym yn cysylltu'r modiwl ldap.
ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/ldap
A byddwn yn ei newid ar unwaith. Mae angen FreeRadius arnom i allu cyrchu FreeIPA
mods-enable/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}})"
}
...
Ailgychwynnwch y gweinydd radiws a gwirio cydamseriad defnyddwyr LDAP:
radtest user_ldap password_ldap localhost 1812 testing123
Golygu eap yn mods-enabled/eap
Yma rydym yn ychwanegu dau enghraifft o eap. Dim ond mewn tystysgrifau ac allweddi y byddant yn wahanol. Isod byddaf yn esbonio pam mae hyn felly.
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"
}
}
Golygu pellach safle-alluogi/diofyn. Mae'r adrannau awdurdodi a dilysu o ddiddordeb.
safle-alluogi/diofyn
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
}
Yn yr adran awdurdodi, rydym yn dileu pob modiwl nad oes ei angen arnom. Nid ydym yn gadael ond ldap. Ychwanegu dilysiad cleient yn ôl enw defnyddiwr. Dyna pam y gwnaethom ychwanegu dau enghraifft o eap uchod.
Aml EAPY ffaith yw, wrth gysylltu rhai dyfeisiau, byddwn yn defnyddio tystysgrifau system ac yn nodi'r parth. Mae gennym dystysgrif ac allwedd gan awdurdod tystysgrif dibynadwy. Yn bersonol, yn fy marn i, mae gweithdrefn gysylltu o'r fath yn haws na thaflu tystysgrif hunan-lofnodedig ar bob dyfais. Ond hyd yn oed heb dystysgrifau hunan-lofnodedig, nid oedd yn gweithio allan o hyd. Ni all dyfeisiau Samsung ac Android =< 6 fersiwn ddefnyddio tystysgrifau system. Felly, rydym yn creu enghraifft ar wahân o eap-guest ar eu cyfer gyda thystysgrifau hunan-lofnodedig. Ar gyfer pob dyfais arall, byddwn yn defnyddio'r cleient eap gyda thystysgrif ymddiried ynddo. Mae'r Enw Defnyddiwr yn cael ei bennu gan y maes Anhysbys pan gysylltir y ddyfais. Dim ond 3 gwerth a ganiateir: Gwestai, Cleient a maes gwag. Mae popeth arall yn cael ei daflu. Bydd yn cael ei ffurfweddu mewn gwleidyddion. Rhoddaf enghraifft ychydig yn ddiweddarach.
Gadewch i ni olygu'r awdurdodi a dilysu adrannau yn safle-alluogi/twnnel mewnol
safle-alluogi/twnnel mewnol
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
}
Nesaf, mae angen i chi nodi yn y polisïau pa enwau y gellir eu defnyddio ar gyfer mewngofnodi dienw. Golygu polisi.d/hidlo.
Mae angen i chi ddod o hyd i linellau tebyg i hyn:
if (&outer.request:User-Name !~ /^(anon|@)/) {
update request {
Module-Failure-Message = "User-Name is not anonymized"
}
reject
}
Ac isod yn elsif ychwanegwch y gwerthoedd dymunol:
elsif (&outer.request:User-Name !~ /^(guest|client|@)/) {
update request {
Module-Failure-Message = "User-Name is not anonymized"
}
reject
}
Nawr mae angen i ni symud i'r cyfeiriadur tystysgrifau. Yma mae angen i chi roi'r allwedd a'r dystysgrif gan awdurdod tystysgrif dibynadwy, sydd gennym eisoes ac mae angen i chi gynhyrchu tystysgrifau hunan-lofnodedig ar gyfer eap-guest.
Newid y paramedrau yn y ffeil 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"
Rydym yn ysgrifennu'r un gwerthoedd yn y ffeil gweinydd.cnf. Rydym yn newid yn unig
enw cyffredin:
gweinydd.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"
Creu:
make
Yn barod. Derbyniwyd gweinydd.crt и gweinydd.key yr ydym eisoes wedi cofrestru uchod yn eap-guest.
Ac yn olaf, gadewch i ni ychwanegu ein pwyntiau mynediad at y ffeil cleient.conf. Mae gennyf 7 ohonynt.Er mwyn peidio ag ychwanegu pob pwynt ar wahân, dim ond y rhwydwaith y maent wedi'u lleoli ynddo y byddwn yn ysgrifennu (mae fy mhwyntiau mynediad mewn VLAN ar wahân).
client APs {
ipaddr = 192.168.100.0/24
password = password_AP
}
Rheolydd Ubiquiti
Rydym yn codi rhwydwaith ar wahân ar y rheolydd. Gadewch iddo fod yn 192.168.2.0/24
Ewch i gosodiadau -> proffil. Rydym yn creu un newydd:
Rydym yn ysgrifennu cyfeiriad a phorthladd y gweinydd radiws a'r cyfrinair a ysgrifennwyd yn y ffeil cleientiaid.conf:
Creu enw rhwydwaith diwifr newydd. Dewiswch WPA-EAP (Menter) fel y dull dilysu a nodwch y proffil radiws a grëwyd:
Rydym yn arbed popeth, yn gwneud cais ac yn symud ymlaen.
Sefydlu cleientiaid
Gadewch i ni ddechrau gyda'r rhai anoddaf!
Ffenestri 10
Daw'r anhawster i lawr i'r ffaith nad yw Windows yn gwybod eto sut i gysylltu â WiFi corfforaethol trwy barth. Felly, mae'n rhaid i ni lanlwytho ein tystysgrif â llaw i'r siop dystysgrif ddibynadwy. Yma gallwch ddefnyddio hunan-lofnod a chan yr awdurdod ardystio. Byddaf yn defnyddio'r ail un.
Nesaf, mae angen i chi greu cysylltiad newydd. I wneud hyn, ewch i'r gosodiadau rhwydwaith a Rhyngrwyd -> Canolfan Rhwydwaith a Rhannu -> Creu a ffurfweddu cysylltiad neu rwydwaith newydd:
Rhowch enw'r rhwydwaith â llaw a newid y math o ddiogelwch. Ar ôl i ni glicio ar newid gosodiadau cysylltiad ac yn y tab Diogelwch, dewiswch dilysu rhwydwaith - EAP-TTLS.
Rydym yn mynd i mewn i'r paramedrau, yn rhagnodi cyfrinachedd dilysu - cleient. Fel awdurdod ardystio dibynadwy, dewiswch y dystysgrif a ychwanegwyd gennym, ticiwch y blwch "Peidiwch â rhoi gwahoddiad i'r defnyddiwr os na ellir awdurdodi'r gweinydd" a dewiswch y dull dilysu - cyfrinair heb ei amgryptio (PAP).
Nesaf, ewch i'r gosodiadau uwch, rhowch dic ar "Nodwch y modd dilysu." Dewiswch "Defnyddiwr Dilysu" a chliciwch ar arbed tystlythyrau. Yma bydd angen i chi roi enw defnyddiwr_ldap a password_ldap
Rydym yn arbed popeth, yn berthnasol, yn cau. Gallwch gysylltu â rhwydwaith newydd.
Linux
Profais ar Ubuntu 18.04, 18.10, Fedora 29, 30.
Yn gyntaf, gadewch i ni lawrlwytho ein tystysgrif. Ni ddarganfyddais yn Linux a yw'n bosibl defnyddio tystysgrifau system ac a oes storfa o'r fath o gwbl.
Gadewch i ni gysylltu â'r parth. Felly, mae angen tystysgrif arnom gan yr awdurdod ardystio y prynwyd ein tystysgrif ganddo.
Gwneir pob cysylltiad mewn un ffenestr. Dewis ein rhwydwaith:
dienw-cleient
parth - y parth y cyhoeddir y dystysgrif ar ei gyfer
Android
heb fod yn Samsung
O fersiwn 7, wrth gysylltu WiFi, gallwch ddefnyddio tystysgrifau system trwy nodi'r parth yn unig:
parth - y parth y cyhoeddir y dystysgrif ar ei gyfer
dienw-cleient
Samsung
Fel yr ysgrifennais uchod, nid yw dyfeisiau Samsung yn gwybod sut i ddefnyddio tystysgrifau system wrth gysylltu â WiFi, ac nid oes ganddynt y gallu i gysylltu trwy barth. Felly, rhaid i chi ychwanegu tystysgrif gwraidd yr awdurdod ardystio â llaw (ca.pem, rydyn ni'n ei chymryd ar y gweinydd Radius). Dyma lle bydd hunan-lofnod yn cael ei ddefnyddio.
Dadlwythwch y dystysgrif i'ch dyfais a'i gosod.
Gosod Tystysgrif
Ar yr un pryd, bydd angen i chi osod y patrwm datgloi sgrin, cod pin neu gyfrinair, os nad yw eisoes wedi'i osod:
Dangosais fersiwn gymhleth o osod tystysgrif. Ar y mwyafrif o ddyfeisiau, cliciwch ar y dystysgrif wedi'i lawrlwytho.
Pan fydd y dystysgrif wedi'i gosod, gallwch fynd ymlaen i'r cysylltiad:
tystysgrif - nodwch yr un a osodwyd
defnyddiwr dienw - gwestai
MacOS
Gall dyfeisiau Apple allan o'r bocs gysylltu ag EAP-TLS yn unig, ond mae angen i chi daflu tystysgrif atynt o hyd. I nodi dull cysylltu gwahanol, mae angen i chi ddefnyddio Apple Configurator 2. Yn unol â hynny, rhaid i chi ei lawrlwytho i'ch Mac yn gyntaf, creu proffil newydd ac ychwanegu'r holl leoliadau WiFi angenrheidiol.
Cyflunydd Apple
Rhowch enw eich rhwydwaith yma
Math o Ddiogelwch - WPA2 Enterprise
Mathau EAP a Dderbynnir - TTLS
Enw Defnyddiwr a Chyfrinair - gadewch yn wag
Dilysu Mewnol - PAP
Hunaniaeth Allanol-cleient
Ymddiriedolaeth tab. Yma rydym yn nodi ein parth
I gyd. Gellir cadw'r proffil, ei lofnodi a'i ddosbarthu i ddyfeisiau
Ar ôl i'r proffil fod yn barod, mae angen i chi ei lawrlwytho i'r pabi a'i osod. Yn ystod y broses osod, bydd angen i chi nodi usernmae_ldap a password_ldap y defnyddiwr:
iOS
Mae'r broses yn debyg i macOS. Mae angen i chi ddefnyddio proffil (gallwch ddefnyddio'r un un ag ar gyfer macOS. Sut i greu proffil yn Apple Configurator, gweler uchod).
Dadlwythwch y proffil, gosodwch, nodwch y tystlythyrau, cysylltu:
Dyna i gyd. Fe wnaethom sefydlu gweinydd Radius, ei gysoni â FreeIPA, a dweud wrth APs Ubiquiti ddefnyddio WPA2-EAP.
Cwestiynau posibl
AT: sut i drosglwyddo proffil/tystysgrif i weithiwr?
AMDANO: Rwy'n storio pob tystysgrif/proffil ar ftp gyda mynediad i'r we. Wedi codi rhwydwaith gwesteion gyda therfyn cyflymder a mynediad i'r Rhyngrwyd yn unig, ac eithrio ftp.
Mae dilysu'n para am 2 ddiwrnod, ac ar ôl hynny caiff ei ailosod a chaiff y cleient ei adael heb y Rhyngrwyd. Hynny. pan fydd gweithiwr eisiau cysylltu â WiFi, mae'n cysylltu â'r rhwydwaith gwesteion yn gyntaf, yn cyrchu FTP, yn lawrlwytho'r dystysgrif neu'r proffil sydd ei angen arno, yn ei osod, ac yna'n gallu cysylltu â'r rhwydwaith corfforaethol.
AT: beth am ddefnyddio sgema gyda MSCHAPv2? Mae hi'n fwy diogel!
AMDANO: Yn gyntaf, mae cynllun o'r fath yn gweithio'n dda ar NPS (System Polisi Rhwydwaith Windows), yn ein gweithrediad mae angen ffurfweddu LDAP (FreeIpa) hefyd a storio hashes cyfrinair ar y gweinydd. Ychwanegu. nid yw'n ddoeth gwneud gosodiadau, oherwydd. gall hyn arwain at broblemau amrywiol wrth gydamseru'r uwchsain. Yn ail, mae'r hash yn MD4, felly nid yw'n ychwanegu llawer o ddiogelwch.
AT: a yw'n bosibl awdurdodi dyfeisiau trwy gyfeiriadau mac?
AMDANO: NA, nid yw hyn yn ddiogel, gall ymosodwr newid cyfeiriadau MAC, a hyd yn oed yn fwy felly ni chefnogir awdurdodiad gan gyfeiriadau MAC ar lawer o ddyfeisiau
AT: beth yn gyffredinol i'r holl dystysgrifau hyn ei ddefnyddio? allwch chi ymuno hebddynt?
AMDANO: defnyddir tystysgrifau i awdurdodi'r gweinydd. Y rhai. wrth gysylltu, mae'r ddyfais yn gwirio a yw'n weinydd y gellir ymddiried ynddo ai peidio. Os ydyw, yna mae'r dilysu'n mynd ymlaen, os na, mae'r cysylltiad ar gau. Gallwch gysylltu heb dystysgrifau, ond os yw ymosodwr neu gymydog yn sefydlu gweinydd radiws a phwynt mynediad gyda'r un enw â'n un ni gartref, gall ryng-gipio tystlythyrau'r defnyddiwr yn hawdd (peidiwch ag anghofio eu bod yn cael eu trosglwyddo mewn testun clir). A phan ddefnyddir tystysgrif, bydd y gelyn yn gweld yn ei logiau dim ond ein Enw Defnyddiwr ffug - gwestai neu gleient a gwall math - Tystysgrif CA Anhysbys
ychydig mwy am macOSFel arfer ar macOS, mae ailosod y system yn cael ei wneud trwy'r Rhyngrwyd. Yn y modd adfer, rhaid i'r Mac fod yn gysylltiedig â WiFi, ac ni fydd ein WiFi corfforaethol na'r rhwydwaith gwesteion yn gweithio yma. Yn bersonol, codais rwydwaith arall, y WPA2-PSK arferol, cudd, dim ond ar gyfer gweithrediadau technegol. Neu gallwch barhau i wneud gyriant fflach USB bootable gyda'r system ymlaen llaw. Ond os yw'r pabi ar ôl 2015, bydd angen i chi ddod o hyd i addasydd ar gyfer y gyriant fflach hwn o hyd)
Ffynhonnell: hab.com