Nevojat për të ofruar akses të largët në ambientin korporativ po rriten gjithnjë e më shumë, pa marrë parasysh nëse janë përdoruesit tanë apo partnerët që kërkojnë akses në ndonjë server në organizatën tuaj.
Për këto qëllime, shumica e kompanive përdorin teknologjinë VPN, e cila ka shkëlqyer si një mënyrë e sigurt për të ofruar akses në burimet lokale të organizatës.
Kompania ime nuk ishte njĂ« pĂ«rjashtim, dhe ne gjithashtu, ashtu si shumĂ« tĂ« tjerĂ«, pĂ«rdorim kĂ«tĂ« teknologji. Dhe si shumĂ« tĂ« tjerĂ«, pĂ«rdorim, si njĂ« portĂ« pĂ«r akses tĂ« largĂ«t â Cisco ASA 55xx.
Me rritjen e numrit të përdoruesve të largët, lind nevoja për të lehtësuar procedurën e dhënies së credencialeve. Por në të njëjtën kohë, kjo duhet të bëhet pa kompromise mbi sigurinë.
Për veten tonë, ne gjetëm zgjidhje në aplikimin e autentifikimit me dy faktorë për lidhjen përmes Cisco SSL. VPN, me përdorimin e fjalëkalimeve njëherësh. Ky publikim do të tregojë se si të organizoni një zgjidhje të tillë me shpenzime minimale kohore dhe pa shpenzime për softin e nevojshëm (me kusht që Cisco ASA të jetë tashmë në infrastrukturën tuaj).
Tregu është i mbushur me zgjidhje kutish për gjenerimin e fjalëkalimeve njëherëshe, duke ofruar shumë mundësi për marrjen e tyre, qoftë përmes dërgimit të fjalëkalimit përmes SMS-ëve, ose duke përdorur token, qoftë harduerik, apo softuerik (p.sh. në telefonin mobil). Por, tërheqja për kursim dhe dëshira për të kursyer para për punëdhënësin tim, në kushtet e krizës aktuale, më kanë shtyrë të gjej një mënyrë falas për të realizuar një shërbim për gjenerimin e fjalëkalimeve njëherëshe. Ky shërbim, megjithëse falas, nuk i jap shumë pas njëzgjidhjeve tregtare (duhet të theksohet se ky produkt ka gjithashtu një version komercial, por ne u dakorduam se shpenzimet, në para, do të ishin zero).
Pra, na nevojiten:
â NjĂ« imazh Linux me njĂ« paketĂ« mjetesh tĂ« integruara â multiOTP, FreeRADIUS dhe nginx, pĂ«r akses nĂ« server nĂ«pĂ«rmjet uebit (http://download.multiotp.net/ â unĂ« pĂ«rdora njĂ« imazh tĂ« gatshĂ«m pĂ«r VMware)
â Server Active Directory
â Cisco ASA (pĂ«r lehtĂ«si, unĂ« pĂ«rdor ASDM)
â Ădo token softuerik qĂ« mbĂ«shtet mekanizmin TOTP (p.sh., unĂ« pĂ«rdor Google Authenticator, por edhe FreeOTP do tĂ« funksiononte)
Nuk do të hyj në detajet e rregullimit të imazhit. Në fund do të merrni Debian Linux me multiOTP dhe FreeRADIUS të instaluar tashmë, të konfiguruar për të punuar së bashku dhe një ndërfaqe në internet për administrimin e OTP.
Hapi 1. Inicioni sistemin dhe konfiguroni për rrjetin tuaj
Sistemi është në dispozicion me të dhënat e identifikimit root root. Mendoj se të gjithë e kuptoni se do të ishte mirë të ndryshonit fjalëkalimin e përdoruesit root pas hyrjes së parë. Gjithashtu, është e nevojshme të ndryshoni cilësimet e rrjetit (në përputhje, kjo është '192.168.1.44' me kalimin '192.168.1.1'). Pas kësaj, mund të rinisni sistemin.
Në Active Directory do të krijojmë përdoruesin otp, me fjalëkalim MySuperPassword.
Hapi 2. Konfigurojmë lidhjen dhe importojmë përdoruesit e Active Directory
Për këtë do na nevojitet qasje në konsolë, dhe, konkretisht, skedari multiotp.php, me anë të të cilit do të konfigurojmë parametrat e lidhjes me Active Directory.
Shkoni në direktorinë /usr/local/bin/multiotp/ dhe ekzekutojmë radhazi komandat e mëposhtme:
./multiotp.php -config default-request-prefix-pin=0Përcakton nëse kërkohet një PIN tjetër (të përhershëm) gjatë futurjes së PIN-it të përkohshëm (0 ose 1)
./multiotp.php -config default-request-ldap-pwd=0Përcakton nëse kërkohet futja e fjalëkalimit të domenit gjatë futurjes së PIN-it të përkohshëm (0 ose 1)
./multiotp.php -config ldap-server-type=1Specifikon llojin e serverit LDAP (0 = server LDAP i zakonshëm, në rastin tonë 1 = Active Directory)
./multiotp.php -config ldap-cn-identifier="sAMAccountName"Specifikon në çfarë forme duhet të paraqitet emri i përdoruesit (kjo vlerë do të japë vetëm emrin, pa domenin)
./multiotp.php -config ldap-group-cn-identifier="sAMAccountName"E njëjta, për grupin
./multiotp.php -config ldap-group-attribute="memberOf"Specifikon metodën e përcaktimit të përkatësisë së përdoruesit në grup
./multiotp.php -config ldap-ssl=1A duhet tĂ« pĂ«rdorim njĂ« lidhje tĂ« sigurt me serverin LDAP (sigurisht â po!)
./multiotp.php -config ldap-port=636Porti për t'u lidhur me serverin LDAP
./multiotp.php -config ldap-domain-controllers=adSRV.domain.localAdresa e serverit tuaj Active Directory
./multiotp.php -config ldap-base-dn="CN=Users,DC=domain,DC=local"Specifikojmë se nga ku fillon kërkimi i përdoruesve në domen
./multiotp.php -config ldap-bind-dn="otp@domain.local"Specifikojmë përdoruesin që ka të drejta kërkimi në Active Directory
./multiotp.php -config ldap-server-password="MySuperPassword"Shkruajmë fjalëkalimin e përdoruesit për t'u lidhur me Active Directory
./multiotp.php -config ldap-network-timeout=10Vendosim kohën e skadimit për lidhjen me Active Directory
./multiotp.php -config ldap-time-limit=30Vendosim një kufizim kohor për operacionin e importit të përdoruesve
./multiotp.php -config ldap-activated=1Aktivizojmë konfigurimin e lidhjes me Active Directory
./multiotp.php -debug -display-log -ldap-users-syncKryejmë importin e përdoruesve nga Active Directory
Hapi 3. Gjenerojmë QR-kodin për tokenin
Këtu gjithçka është mjaft e thjeshtë. Hapim ndërfaqen web të serverit OTP në shfletues, identifikohemi (mos harroni të ndryshoni fjalëkalimin e administratorit nga parazgjedhja!) dhe klikojmë butonin «Print»:

Rezultati i këtij veprimi do të jetë një faqe, e cila përmban dy QR-koda. E harrojmë qetësisht të parin (pavarësisht nga shkruhet me tërheqëse Google Authenticator / Authenticator / 2 Steps Authenticator), dhe gjithashtu skanojmë kodin e dytë në tokenin softuerik në telefon:

(po, e kam prishur qëllimisht QR-kodin për ta bërë atë të pa lexueshëm).
Pas kryerjes së këtyre veprimeve, në aplikacionin tuaj çdo tridhjetë sekonda do të fillojë të gjenerohet një fjalëkalim me gjashtë shifra.
Për siguri, mund të bëni verifikimin në të njëjtën ndërfaqe:

Futni emrin e përdoruesit dhe një kod të përkohshëm nga aplikacioni në telefon. Marrë një përgjigje pozitive? Atëherë kalojmë më tej.
Hapi 4. Rregullojmë dhe testojmë funksionimin e FreeRADIUS
Siç e pĂ«rmenda mĂ« sipĂ«r â multiOTP tashmĂ« Ă«shtĂ« konfiguruar pĂ«r tĂ« punuar me FreeRADIUS, Ă«shtĂ« e nevojshme tĂ« kryhen testet dhe tĂ« shtohet informacioni pĂ«r portĂ«n VPN nĂ« konfigurimin e FreeRADIUS.
Kthehemi në konsolën e serverit, në direktorinë /usr/local/bin/multiotp/, shkruajmë:
./multiotp.php -config debug=1
./multiotp.php -config display-log=1Duke përfshirë kështu një regjistrim më të detajuar.
Në skedarin e konfigurimit të klientëve FreeRADIUS (/etc/freeradius/clinets.conf) komentojmë të gjitha rreshtat e lidhura me localhost dhe shtojmë dy regjistrime:
client localhost {
ipaddr = 127.0.0.1
secret = testing321
require_message_authenticator = no
}â pĂ«r testin
client 192.168.1.254/32 {
shortname = CiscoASA
secret = ConnectToRADIUSSecret
}â pĂ«r portĂ«n tonĂ« VPN.
Rini FreeRADIUS dhe provoni të autentikoheni:
radtest username 100110 localhost 1812 testing321ku username = emri i përdoruesit, 100110 = fjalëkalimi, që na u dha nga aplikacioni në telefon, localhost = adresa e serverit RADIUS, 1812 = porta e serverit RADIUS, testing321 = fjalëkalimi i klientit të serverit RADIUS (që e kemi specifikuar në konfigurim).
Rezultati i kësaj komande do të jetë një dalje, që do të duket përafërsisht kështu:
Dërgimi i Kërkesës së Aksesi të id 44 në 127.0.0.1 portin 1812
User-Name = "username"
User-Password = "100110"
NAS-IP-Address = 127.0.1.1
NAS-Port = 1812
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Paketa e Pranimit të Aksesit nga hosti 127.0.0.1 port 1812, id=44, gjatësi=20Tani na nevojitet të sigurohemi që përdoruesi ka kaluar me sukses autentifikimin. Për këtë, ne do të shikojmë në logun e vetë multiotp:
tail /var/log/multiotp/multiotp.logDhe nëse regjistrimi i fundit atje do të jetë:
2016-09-01 08:58:17 notice username User OK: Përdoruesi username u gjithësisht lidh me sukses nga 127.0.0.1
2016-09-01 08:58:17 debug Debug Debug: 0 OK: Tokeni u pranuar nga 127.0.0.1Atëherë gjithçka ka shkuar me sukses, dhe mund të ekzekutojmë
Hapi 5. Konfigurimi i Cisco ASA
Marrim parasysh se tashmë kemi një grup të konfiguruar dhe politika për qasje në VPN SSL, të cilat janë konfiguruar në lidhje me Active Directory, dhe na nevojitet të shtojmë autentifikimin me dy faktorë për këtë profil.
1. Shtojmë një grup të ri servera AAA:

2. Shtojmë në grup serverin tonë multiOTP:

3. Na duhet të rregullojmë profilin e lidhjes, duke vendosur si serverin kryesor të autentifikimit grupin e serverëve Active Directory:

4. Në skedën Avancuar -> Autentifikimi po ashtu zgjedhim grupin e serverëve Active Directory:

5. Në skedën Avancuar -> Sekondar autentifikimi zgjedhim grupin e serverëve të krijuar, ku është regjistruar multiOTP-server. Theksojmë se emri i sesionit trashëgohet nga grupi primar i serverëve AAA:

Aplikojmë cilësimet dhe
Hapi 6, i fundit
Kontrollojmë nëse kemi dyfaktorin e autentifikimit për SLL VPN:

Vua-la! Kur lidhemi përmes Cisco AnyConnect VPN Client, do të kërkohet gjithashtu një kod tjetër, një herësh, për password.
Shpresoj se ky artikull do tĂ« ndihmojĂ« dikĂ« dhe se do tâi japĂ« dikujt ide se si mund tĂ« pĂ«rdoret ky, falas OĐąĐ-server, pĂ«r detyra tĂ« tjera. Ndani nĂ« komentet nĂ«se keni dĂ«shirĂ«.
Burimi: habr.com
