Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)

Bezwen pou bay aksè aleka nan yon anviwònman antrepriz ap parèt pi plis ak pi souvan, kèlkeswa si se itilizatè ou yo oswa patnè ki bezwen aksè nan yon sèvè patikilye nan òganizasyon w lan.

Pou rezon sa yo, pifò konpayi yo sèvi ak teknoloji VPN, ki pwouve tèt li se yon fason serye pwoteje pou bay aksè a resous lokal òganizasyon an.

Konpayi mwen an pa t gen okenn eksepsyon, e nou menm, tankou anpil lòt moun, sèvi ak teknoloji sa a. Epi, tankou anpil lòt moun, nou itilize Cisco ASA 55xx kòm yon pòtay aksè aleka.

Kòm kantite itilizatè aleka ogmante, gen yon bezwen senplifye pwosedi a pou bay kalifikasyon yo. Men, an menm tan, sa a dwe fèt san yo pa konpwomèt sekirite.

Pou tèt nou, nou jwenn yon solisyon nan lè l sèvi avèk de-faktè otantifikasyon pou konekte atravè Cisco SSL VPN, lè l sèvi avèk yon sèl-fwa modpas. Ak piblikasyon sa a pral di w ki jan yo òganize yon solisyon konsa ak yon tan minimòm ak zewo pri pou lojisyèl ki nesesè yo (bay ke ou deja gen Cisco ASA nan enfrastrikti ou).

Mache a plen ak solisyon bwat pou jenere modpas yon sèl fwa, pandan y ap ofri yon anpil nan opsyon pou jwenn yo, kit li voye modpas la atravè SMS oswa lè l sèvi avèk marqueur, tou de pyès ki nan konpitè ak lojisyèl (pa egzanp, sou yon telefòn mobil). Men, dezi pou ekonomize lajan ak dezi pou ekonomize lajan pou patwon mwen an, nan kriz aktyèl la, fòse m 'jwenn yon fason gratis aplike yon sèvis pou jenere modpas yon sèl fwa. Ki, pandan y ap gratis, se pa anpil enferyè a solisyon komèsyal (isit la nou ta dwe fè yon rezèvasyon, sonje ke pwodwi sa a tou gen yon vèsyon komèsyal, men nou te dakò ke depans nou an, nan lajan, yo pral zewo).

Se konsa, nou bezwen:

- Yon imaj Linux ak yon seri zouti entegre - multiOTP, FreeRADIUS ak nginx, pou jwenn aksè nan sèvè a atravè entènèt la (http://download.multiotp.net/ - Mwen itilize yon imaj pare pou VMware)
— Sèvè anyè aktif
- Cisco ASA tèt li (pou konvenyans, mwen itilize ASDM)
— Nenpòt siy lojisyèl ki sipòte mekanis TOTP (mwen, pou egzanp, sèvi ak Google Authenticator, men FreeOTP a pral fè)

Mwen pa pral antre nan detay sou fason imaj la dewoulman. Kòm yon rezilta, w ap resevwa Debian Linux ak multiOTP ak FreeRADIUS deja enstale, konfigirasyon pou travay ansanm, ak yon koòdone entènèt pou administrasyon OTP.

Etap 1. Nou kòmanse sistèm nan ak konfigirasyon li pou rezo ou
Pa default, sistèm nan vini ak kalifikasyon rasin rasin. Mwen panse ke tout moun te devine ke li ta yon bon lide yo chanje modpas itilizatè rasin apre premye koneksyon an. Ou bezwen tou chanje anviwònman rezo yo (pa default li se '192.168.1.44' ak pòtay la '192.168.1.1'). Apre sa, ou ka rdemare sistèm lan.

Ann kreye yon itilizatè nan Active Directory otp, ak modpas MySuperPassword.

Etap 2. Mete kanpe koneksyon an ak enpòte itilizatè Active Directory
Pou fè sa, nou bezwen aksè nan konsole a, ak dirèkteman nan dosye a multiotp.php, lè l sèvi avèk ki nou pral konfigirasyon anviwònman koneksyon nan Active Directory.

Ale nan anyè /usr/local/bin/multiotp/ epi egzekite kòmandman sa yo nan vire:

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

Detèmine si yon PIN adisyonèl (pèmanan) nesesè lè w ap antre nan yon PIN yon sèl fwa (0 oswa 1)

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

Detèmine si yon modpas domèn obligatwa lè w ap antre yon PIN yon sèl fwa (0 oswa 1)

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

Ki kalite sèvè LDAP endike (0 = sèvè LDAP regilye, nan ka nou an 1 = Anyè aktif)

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

Espesifye fòma pou prezante non itilizatè a (valè sa a pral montre sèlman non an, san domèn nan)

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

Menm bagay, sèlman pou yon gwoup

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

Espesifye yon metòd pou detèmine si yon itilizatè fè pati yon gwoup

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

Èske mwen ta dwe itilize yon koneksyon an sekirite ak sèvè LDAP la (nan kou - wi!)

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

Pò pou konekte ak sèvè LDAP la

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

Adrès sèvè Active Directory ou a

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

Nou endike ki kote yo kòmanse chèche itilizatè yo nan domèn nan

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

Espesifye yon itilizatè ki gen dwa rechèch nan Active Directory

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

Espesifye modpas itilizatè a pou konekte ak Active Directory

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

Mete delè pou konekte ak Active Directory

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

Nou mete yon limit tan pou operasyon enpòte itilizatè a

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

Aktive konfigirasyon koneksyon an Active Directory

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

Nou enpòte itilizatè yo soti nan Active Directory

Etap 3. Jenere yon kòd QR pou siy la
Tout bagay isit la trè senp. Louvri koòdone wèb la nan sèvè OTP la nan navigatè a, konekte (pa bliye chanje modpas la default pou admin la!), epi klike sou bouton an "Enprime":

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
Rezilta aksyon sa a pral yon paj ki gen de kòd QR. Nou avèk fòs konviksyon inyore premye nan yo (malgre enskripsyon atire Google Authenticator / Authenticator / 2 Steps Authenticator), epi ankò nou avèk fòs konviksyon eskane dezyèm kòd la nan yon siy lojisyèl sou telefòn la:

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
(wi, mwen fè espre gate QR kòd la pou fè li lizib).

Apre w fin ranpli aksyon sa yo, yon modpas ki gen sis chif pral kòmanse pwodwi nan aplikasyon w lan chak trant segonn.

Pou asire w, ou ka tcheke li nan koòdone nan menm:

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
Lè w antre non itilizatè ou an ak yon sèl modpas nan aplikasyon an sou telefòn ou. Èske ou te resevwa yon repons pozitif? Se konsa, nou avanse sou.

Etap 4. Lòt konfigirasyon ak tès operasyon FreeRADIUS
Kòm mwen mansyone pi wo a, multiOTP deja konfigirasyon pou travay ak FreeRADIUS, tout sa ki rete se fè tès yo epi ajoute enfòmasyon sou pòtay VPN nou an nan dosye a konfigirasyon FreeRADIUS.

Nou retounen nan konsole sèvè a, nan anyè a /usr/local/bin/multiotp/, antre:

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

Ki gen ladan enregistrement plis detay.

Nan dosye a konfigirasyon kliyan FreeRADIUS (/etc/freeradius/clinets.conf) kòmante soti tout liy ki gen rapò ak lokalost epi ajoute de antre:

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

- pou tès

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

— pou pòtay VPN nou an.

Rekòmanse FreeRADIUS epi eseye konekte:

radtest username 100110 localhost 1812 testing321

kote non itilizatè = non itilizatè, 100110 = modpas aplikasyon an ba nou sou telefòn la, lokalost = Adrès sèvè RADIUS, 1812 - pò sèvè RADIUS, tès321 — RADIUS sèvè modpas kliyan (ki nou espesifye nan konfigirasyon an).

Rezilta a nan lòd sa a pral pwodiksyon apeprè jan sa a:

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

Koulye a, nou bezwen asire w ke itilizatè a avèk siksè otantifye. Pou fè sa, nou pral gade nan boutèy la nan multiotp tèt li:

tail /var/log/multiotp/multiotp.log

Men, si dènye antre a gen:

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

Lè sa a, tout bagay ale byen epi nou ka konplete

Etap 5: Konfigirasyon Cisco ASA
Ann dakò ke nou deja gen yon gwoup configuré ak règleman pou aksè atravè SLL VPN, konfigirasyon an konjonksyon avèk Active Directory, epi nou bezwen ajoute otantifikasyon de faktè pou pwofil sa a.

1. Ajoute yon nouvo gwoup sèvè AAA:

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
2. Ajoute sèvè multiOTP nou an nan gwoup la:

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
3. Nou edite pwofil koneksyon, mete gwoup sèvè Active Directory la kòm sèvè otantifikasyon prensipal la:

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
4. Nan tab la Avanse -> Otantifikasyon Nou chwazi tou gwoup sèvè Active Directory:

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
5. Nan tab la Avanse -> Segondè otantifikasyon, chwazi gwoup sèvè ki te kreye kote sèvè multiOTP a anrejistre. Remake byen ke non itilizatè Sesyon an eritye nan gwoup sèvè prensipal AAA la:

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
Aplike paramèt yo ak

Etap 6, aka dènye a
Ann tcheke si otantifikasyon de-faktè ap travay pou SLL VPN:

Ale nan 2FA (otantifikasyon de faktè pou ASA SSL VPN)
Voila! Lè w konekte atravè Cisco AnyConnect VPN Client, w ap mande w tou pou yon dezyèm modpas yon sèl fwa.

Mwen espere ke atik sa a pral ede yon moun, e ke li pral bay yon moun manje pou reflechi sou kòman yo sèvi ak sa a, gratis Sèvè OTP, pou lòt travay. Pataje nan kòmantè yo si ou vle.

Sous: www.habr.com

Add nouvo kòmantè