Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)

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=0

Pë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=0

Pë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=1

Specifikon 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=1

A duhet tĂ« pĂ«rdorim njĂ« lidhje tĂ« sigurt me serverin LDAP (sigurisht — po!)

./multiotp.php -config ldap-port=636

Porti për t'u lidhur me serverin LDAP

./multiotp.php -config ldap-domain-controllers=adSRV.domain.local

Adresa 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=10

Vendosim kohën e skadimit për lidhjen me Active Directory

./multiotp.php -config ldap-time-limit=30

Vendosim një kufizim kohor për operacionin e importit të përdoruesve

./multiotp.php -config ldap-activated=1

Aktivizojmë konfigurimin e lidhjes me Active Directory

./multiotp.php -debug -display-log -ldap-users-sync

Kryejmë 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»:

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)
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:

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)
(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:

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)
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=1

Duke 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 testing321

ku 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=20

Tani 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.log

Dhe 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.1

Atë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:

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)
2. Shtojmë në grup serverin tonë multiOTP:

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)
3. Na duhet të rregullojmë profilin e lidhjes, duke vendosur si serverin kryesor të autentifikimit grupin e serverëve Active Directory:

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)
4. Në skedën Avancuar -> Autentifikimi po ashtu zgjedhim grupin e serverëve Active Directory:

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)
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:

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL VPN)
Aplikojmë cilësimet dhe

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

Shkoni te 2FA (Autentifikimi me dy faktorë për ASA SSL 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

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster