Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)

Ingurune korporatibo batera urruneko sarbidea emateko beharra gero eta sarriago sortzen ari da, ez du axola zure erabiltzaileak edo bazkideak diren zure erakundeko zerbitzari jakin baterako sarbidea behar dutenak.

Helburu horietarako, enpresa gehienek VPN teknologia erabiltzen dute, erakundearen tokiko baliabideetara sarbidea emateko modu fidagarrian babestuta dagoela frogatu duena.

Nire enpresa ez zen salbuespena izan, eta guk, beste askok bezala, teknologia hau erabiltzen dugu. Eta, beste asko bezala, Cisco ASA 55xx erabiltzen dugu urruneko sarbide atebide gisa.

Urruneko erabiltzaileen kopurua handitu ahala, kredentzialak emateko prozedura sinplifikatu beharra dago. Baina, aldi berean, segurtasuna arriskuan jarri gabe egin behar da.

Guk, irtenbide bat aurkitu dugu Cisco SSL VPN bidez konektatzeko bi faktoreko autentifikazioa erabiltzean, behin-behineko pasahitzak erabiliz. Eta argitalpen honek esango dizu nola antolatu behar den softwarerako denbora gutxieneko eta zero kostuekin halako irtenbide bat (baldin eta zure azpiegituran Cisco ASA baduzu).

Merkatua behin-behineko pasahitzak sortzeko kaxa-soluzioz beteta dago, eta horiek lortzeko aukera asko eskaintzen ditu, izan pasahitza SMS bidez bidaliz edo tokenak erabiliz, bai hardwarea bai softwarea (adibidez, telefono mugikorrean). Baina dirua aurrezteko gogoak eta nire enpresaburuarentzat dirua aurrezteko gogoak, egungo krisian, behin-behineko pasahitzak sortzeko zerbitzua ezartzeko modu librea bilatzera behartu ninduten. Hori, doakoa izan arren, ez da irtenbide komertzialak baino askoz gutxiago (hemen erreserba bat egin beharko genuke, produktu honek bertsio komertziala ere baduela kontuan izanda, baina gure kostuak, dirutan, zero izango direla adostu genuen).

Beraz, behar dugu:

- Linux irudi bat tresna-multzo integratua duena - multiOTP, FreeRADIUS eta nginx, zerbitzaria web bidez sartzeko (http://download.multiotp.net/ - VMwarerako prest egindako irudi bat erabili nuen)
β€” Active Directory zerbitzaria
- Cisco ASA bera (erosotasunerako, ASDM erabiltzen dut)
β€” TOTP mekanismoa onartzen duen edozein software-token (Nik, adibidez, Google Authenticator erabiltzen dut, baina FreeOTP berdina egingo du)

Ez dut irudia nola garatzen den xehetasunetan sartuko. Ondorioz, Debian Linux multiOTP eta FreeRADIUS dagoeneko instalatuta, elkarrekin lan egiteko konfiguratuta eta OTP administratzeko web interfazea jasoko duzu.

1. urratsa. Sistema abiarazten dugu eta zure sarerako konfiguratzen dugu
Lehenespenez, sistema root root kredentzialak ditu. Uste dut denek asmatu zutela ideia ona litzatekeela root erabiltzailearen pasahitza lehen saioa hasi ondoren aldatzea. Sarearen ezarpenak ere aldatu behar dituzu (lehenespenez '192.168.1.44' da '192.168.1.1' atebidearekin). Ondoren, sistema berrabiarazi dezakezu.

Sor dezagun erabiltzaile bat Active Directory-n otp, pasahitzarekin NireSuperPasahitza.

2. urratsa. Konfiguratu konexioa eta inportatu Active Directory erabiltzaileak
Horretarako, kontsolarako sarbidea behar dugu, eta zuzenean fitxategira multiotp.php, zeinaren bidez Active Directory-rako konexio-ezarpenak konfiguratuko ditugu.

Joan direktoriora /usr/local/bin/multiotp/ eta exekutatu agindu hauek txandaka:

./multiotp.php -config default-request-prefix-pin=0

Pin gehigarri (iraunkorra) behar den zehazten du behin-behineko pin bat (0 edo 1) sartzerakoan

./multiotp.php -config default-request-ldap-pwd=0

Domeinuko pasahitza beharrezkoa den zehazten du behin-behineko pin bat sartzerakoan (0 edo 1)

./multiotp.php -config ldap-server-type=1

LDAP zerbitzari mota adierazten da (0 = LDAP zerbitzari arrunta, gure kasuan 1 = Active Directory)

./multiotp.php -config ldap-cn-identifier="sAMAccountName"

Erabiltzaile-izena aurkezteko formatua zehazten du (balio honek izena bakarrik bistaratuko du, domeinurik gabe)

./multiotp.php -config ldap-group-cn-identifier="sAMAccountName"

Gauza bera, talde baterako bakarrik

./multiotp.php -config ldap-group-attribute="memberOf"

Erabiltzaile bat talde batekoa den ala ez zehazteko metodo bat zehazten du

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

LDAP zerbitzarirako konexio segurua erabili behar al dut (jakina, bai!)

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

LDAP zerbitzariarekin konektatzeko ataka

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

Zure Active Directory zerbitzariaren helbidea

./multiotp.php -config ldap-base-dn="CN=Users,DC=domain,DC=local"

Domeinuko erabiltzaileak bilatzen non hasi behar den adierazten dugu

./multiotp.php -config ldap-bind-dn="[email protected]"

Zehaztu Active Directory-n bilaketa-eskubideak dituen erabiltzaile bat

./multiotp.php -config ldap-server-password="MySuperPassword"

Zehaztu erabiltzailearen pasahitza Active Directory-ra konektatzeko

./multiotp.php -config ldap-network-timeout=10

Active Directory-ra konektatzeko denbora-muga ezartzea

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

Erabiltzaileen inportazio eragiketarako denbora-muga ezarri dugu

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

Active Directory konexioaren konfigurazioa aktibatzea

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

Erabiltzaileak inportatzen ditugu Active Directory-tik

3. urratsa. Sortu QR kodea tokenerako
Hemen dena oso erraza da. Ireki OTP zerbitzariaren web interfazea arakatzailean, hasi saioa (ez ahaztu administratzailearen pasahitz lehenetsia aldatzea!), eta egin klik "Inprimatu" botoian:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
Ekintza honen emaitza bi QR kode dituen orri bat izango da. Ausardiaz baztertzen dugu lehenengoa (Google Authenticator / Authenticator / 2 Steps Authenticator inskripzio erakargarria izan arren), eta berriro ausardiaz eskaneatzen dugu bigarren kodea telefonoko software-token batean:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
(bai, nahita hondatu nuen QR kodea irakurgaitza izan zedin).

Ekintza hauek amaitu ondoren, sei digituko pasahitza sortzen hasiko da zure aplikazioan hogeita hamar segundorik behin.

Ziur ziurtatzeko, interfaze berean egiaztatu dezakezu:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
Zure telefonoko aplikaziotik zure erabiltzaile-izena eta behin-behineko pasahitza sartuz. Erantzun positiboa jaso al duzu? Beraz, aurrera egiten dugu.

4. urratsa. FreeRADIUS funtzionamenduaren konfigurazio eta proba osagarriak
Goian aipatu dudan bezala, multiOTP FreeRADIUSekin lan egiteko konfiguratuta dago jada, probak egitea eta gure VPN atebideari buruzko informazioa FreeRADIUS konfigurazio fitxategira gehitzea besterik ez da geratzen.

Zerbitzariaren kontsolara itzultzen gara, direktoriora /usr/local/bin/multiotp/, sartu:

./multiotp.php -config debug=1
./multiotp.php -config display-log=1

Erregistro zehatzagoa barne.

FreeRADIUS bezeroen konfigurazio fitxategian (/etc/freeradius/clinets.conf) iruzkin ezazu erlazionatutako lerro guztiak localhost eta gehitu bi sarrera:

client localhost {
        ipaddr = 127.0.0.1
        secret          = testing321
        require_message_authenticator = no
}

- proba egiteko

client 192.168.1.254/32 {
        shortname =     CiscoASA
        secret =        ConnectToRADIUSSecret
}

- gure VPN atebiderako.

Berrabiarazi FreeRADIUS eta saiatu saioa hasten:

radtest username 100110 localhost 1812 testing321

non erabiltzailea = erabiltzaile izena, 100110 = telefonoan aplikazioak eman digun pasahitza, localhost = RADIUS zerbitzariaren helbidea, 1812 - RADIUS zerbitzariaren ataka, testing321 β€” RADIUS zerbitzariaren bezeroaren pasahitza (konfigurazioan zehaztu genuen).

Komando honen emaitza gutxi gorabehera honela aterako da:

Sending Access-Request of id 44 to 127.0.0.1 port 1812
        User-Name = "username"
        User-Password = "100110"
        NAS-IP-Address = 127.0.1.1
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=44, length=20

Orain ziurtatu behar dugu erabiltzailea behar bezala autentifikatu dela. Horretarako, multiotp-ren erregistroa bera ikusiko dugu:

tail /var/log/multiotp/multiotp.log

Eta azken sarrera badago:

2016-09-01 08:58:17     notice  username  User    OK: User username successfully logged in from 127.0.0.1
2016-09-01 08:58:17     debug           Debug   Debug: 0 OK: Token accepted from 127.0.0.1

Orduan dena ondo atera zen eta osatu dezakegu

5. urratsa: Konfiguratu Cisco ASA
Onar dezagun dagoeneko konfiguratuta dauzkagula talde bat eta SLL VPN bidez sartzeko politikak, Active Directory-rekin batera konfiguratuta, eta profil honi bi faktoreko autentifikazioa gehitu behar diogula.

1. Gehitu AAA zerbitzari-talde berri bat:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
2. Gehitu gure multiOTP zerbitzaria taldera:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
3. Guk editatzen dugu konexio profila, Active Directory zerbitzari taldea autentifikazio zerbitzari nagusi gisa ezarriz:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
4. Fitxan Aurreratua -> Autentifikazioa Active Directory zerbitzari taldea ere hautatzen dugu:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
5. Fitxan Aurreratua -> DBH autentifikazioa, hautatu multiOTP zerbitzaria erregistratuta dagoen sortutako zerbitzari-taldea. Kontuan izan Saioko erabiltzaile-izena AAA zerbitzari talde nagusitik heredatzen dela:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
Aplikatu ezarpenak eta

6. urratsa, azkena
Egiaztatu dezagun bi faktoreko autentifikazioak funtzionatzen duen SLL VPN-rako:

Joan 2FAra (ASA SSL VPNrako bi faktoreko autentifikazioa)
Voila! Cisco AnyConnect VPN Bezeroaren bidez konektatzean, bigarren pasahitz bat ere eskatuko zaizu.

Espero dut artikulu honek norbaiti lagunduko diola eta hau nola erabili hausnartzeko aukera emango diola. doan OTP zerbitzaria, beste zeregin batzuetarako. Partekatu iruzkinetan nahi baduzu.

Iturria: www.habr.com

Gehitu iruzkin berria