Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)

Kabutuhan pikeun nyayogikeun aksés jarak jauh ka lingkungan perusahaan beuki sering muncul, henteu paduli naha pangguna anjeun atanapi mitra anu peryogi aksés ka server khusus dina organisasi anjeun.

Pikeun tujuan ieu, seuseueurna perusahaan nganggo téknologi VPN, anu parantos ngabuktikeun dirina janten cara anu dipercaya pikeun nyayogikeun aksés kana sumber daya lokal organisasi.

Perusahaan kuring henteu aya pengecualian, sareng kami, sapertos seueur anu sanés, nganggo téknologi ieu. Na, kawas loba batur, kami nganggo Cisco ASA 55xx salaku gateway aksés jauh.

Nalika jumlah pangguna jarak jauh naék, aya kabutuhan pikeun nyederhanakeun prosedur pikeun ngaluarkeun kredensial. Tapi dina waktos anu sareng, ieu kedah dilakukeun tanpa kompromi kaamanan.

Pikeun diri urang, kami mendakan solusi dina ngagunakeun auténtikasi dua-faktor pikeun nyambungkeun via Cisco SSL VPN, nganggo kecap konci hiji waktos. Sareng ieu publikasi bakal nyarioskeun ka anjeun kumaha ngatur solusi sapertos kitu kalayan waktos minimal sareng biaya nol kanggo parangkat lunak anu diperyogikeun (sayogi anjeun parantos ngagaduhan Cisco ASA dina infrastruktur anjeun).

Pasar pinuh ku solusi kotak-kotak pikeun ngahasilkeun kecap konci sakali, bari nawiskeun seueur pilihan pikeun kéngingkeunana, janten ngirim kecap konci liwat SMS atanapi nganggo token, boh hardware sareng software (contona, dina telepon sélulér). Tapi kahayang pikeun nyimpen duit jeung kahayang pikeun nyimpen duit dunungan kuring, dina krisis ayeuna, kapaksa kuring pikeun manggihan cara bébas pikeun nerapkeun layanan pikeun generating kecap akses hiji-waktos. Nu, bari bébas, teu pira inferior kana solusi komérsial (di dieu urang kudu nyieun reservasi a, noting yén produk ieu ogé boga versi komérsial, tapi urang sapuk yén waragad urang, dina duit, bakal enol).

Ku kituna, urang kudu:

- Gambar Linux anu diwangun ku set alat - multiOTP, FreeRADIUS sareng nginx, pikeun ngaksés server ngalangkungan wéb (http://download.multiotp.net/ - Abdi nganggo gambar anu siap-siap pikeun VMware)
- Server Diréktori Aktif
- Cisco ASA sorangan (pikeun genah, kuring nganggo ASDM)
- Sakur token parangkat lunak anu ngadukung mékanisme TOTP (Kuring, contona, nganggo Google Authenticator, tapi FreeOTP anu sami bakal dilakukeun)

Kuring moal balik kana detil kumaha gambar unfolds. Hasilna, anjeun bakal nampi Debian Linux kalayan multiOTP sareng FreeRADIUS parantos dipasang, dikonpigurasikeun pikeun gawé bareng, sareng antarmuka wéb pikeun administrasi OTP.

Lengkah 1. Urang initiate sistem jeung ngonpigurasikeun eta pikeun jaringan Anjeun
Sacara standar, sistemna nganggo Kapercayaan akar akar. Jigana sarerea ditebak yen eta bakal jadi ide nu sae pikeun ngarobah sandi pamaké root sanggeus login munggaran. Anjeun ogé kedah ngarobih setélan jaringan (sacara standar nyaéta '192.168.1.44' sareng gateway '192.168.1.1'). Saatos éta, anjeun tiasa reboot sistem.

Hayu urang nyieun pamaké dina Active Directory otp, kalawan sandi MySuperPassword.

Lengkah 2. Nyetél sambungan jeung impor pamaké Active Directory
Jang ngalampahkeun ieu, urang peryogi aksés ka konsol, sarta langsung ka file multiotp.php, ngagunakeun mana urang bakal ngonpigurasikeun setélan sambungan ka Active Directory.

Pindah ka diréktori /usr/local/bin/multiotp/ sareng laksanakeun paréntah di handap ieu sakaligus:

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

Nangtukeun naha pin tambahan (permanén) diperyogikeun nalika ngalebetkeun pin hiji waktos (0 atanapi 1)

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

Nangtukeun naha kecap akses domain diperyogikeun nalika ngalebetkeun pin hiji waktos (0 atanapi 1)

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

Jinis server LDAP dituduhkeun (0 = server LDAP biasa, bisi urang 1 = Active Directory)

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

Nangtukeun format pikeun nampilkeun nami pangguna (nilai ieu ngan ukur nunjukkeun nami, tanpa domain)

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

Hal anu sarua, ngan pikeun grup

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

Nangtukeun métode pikeun nangtukeun naha hiji pamaké milik grup

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

Naha kuring kedah nganggo sambungan anu aman ka server LDAP (tangtosna - leres!)

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

Port pikeun nyambungkeun ka server LDAP

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

Alamat pangladén Active Directory anjeun

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

Kami nunjukkeun dimana ngamimitian milarian pangguna dina domain

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

Sebutkeun pangguna anu gaduh hak milarian dina Active Directory

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

Sebutkeun kecap akses pamaké pikeun nyambung ka Active Directory

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

Nyetél waktos béak pikeun nyambungkeun ka Active Directory

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

Urang nyetel wates waktu pikeun operasi impor pamaké

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

Ngaktipkeun konfigurasi sambungan Active Directory

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

Urang ngimpor pamaké ti Active Directory

Lengkah 3. Ngahasilkeun kode QR pikeun token
Sagalana di dieu pisan basajan. Buka antarbeungeut wéb server OTP dina browser, log in (ulah hilap ngarobih sandi standar pikeun admin!), Teras pencét tombol "Citak":

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
Hasil tina tindakan ieu bakal janten halaman anu ngandung dua kode QR. Kami wani teu malire anu kahiji di antarana (sanaos prasasti anu pikaresepeun Google Authenticator / Authenticator / 2 Steps Authenticator), sareng deui urang wani nyeken kode kadua kana token parangkat lunak dina telepon:

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
(enya, Kuring ngahaja manja kodeu QR sangkan teu bisa dibaca).

Saatos ngalengkepan tindakan ieu, kecap konci genep digit bakal mimiti dihasilkeun dina aplikasi anjeun unggal tilu puluh detik.

Pikeun mastikeun, anjeun tiasa pariksa dina antarmuka anu sami:

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
Ku cara nuliskeun ngaran pamaké anjeun sarta sandi hiji-waktos tina aplikasi dina telepon anjeun. Naha anjeun nampi réspon anu positif? Ku kituna urang ngaléngkah.

Lengkah 4. Konfigurasi tambahan sarta nguji operasi FreeRADIUS
Sakumaha anu didadarkeun di luhur, multiOTP parantos dikonpigurasi pikeun damel sareng FreeRADIUS, anu sésana nyaéta ngajalankeun tés sareng nambihan inpormasi ngeunaan gateway VPN kami ka file konfigurasi FreeRADIUS.

Urang balik deui ka konsol server, ka diréktori /usr/local/bin/multiotp/, asupkeun:

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

Kaasup logging langkung rinci.

Dina file konfigurasi klien FreeRADIUS (/etc/freeradius/clinets.conf) mairan kaluar sagala baris patali jeung localhost sareng tambahkeun dua éntri:

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

- pikeun ujian

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

— pikeun gateway VPN urang.

Balikan deui FreeRADIUS sareng cobian asup:

radtest username 100110 localhost 1812 testing321

di mana ngaran pamaké = ngaran pamaké, 100110 = sandi anu dipasihkeun ka kami ku aplikasi dina telepon, localhost = alamat server RADIUS, 1812 - port server RADIUS, testing321 - sandi klien server RADIUS (anu kami dieusian dina config).

Hasil paréntah ieu bakal kaluaran kira-kira saperti kieu:

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

Ayeuna urang kudu mastikeun yén pamaké geus hasil dioténtikasi. Jang ngalampahkeun ieu, urang bakal ningali log multiotp sorangan:

tail /var/log/multiotp/multiotp.log

Sareng upami éntri terakhir aya:

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

Teras sadayana lancar sareng urang tiasa ngalengkepan

lengkah 5: Konpigurasikeun Cisco ASA
Hayu urang satuju yén urang geus boga grup ngonpigurasi sarta kawijakan pikeun aksés via SLL VPN, ngonpigurasi ditéang jeung Active Directory, sarta kami kudu nambahan auténtikasi dua-faktor pikeun profil ieu.

1. Tambahkeun grup server AAA anyar:

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
2. Tambahkeun server multiOTP kami ka grup:

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
3. Urang edit profil sambungan, netepkeun grup server Active Directory salaku server auténtikasi utama:

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
4. Dina tab Canggih -> Auténtikasi Urang ogé milih grup server Active Directory:

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
5. Dina tab Maju -> Menengah auténtikasi, pilih grup server dijieun nu server multiOTP didaptarkeun. Catet yén ngaran pamaké Sesi diwariskeun ti grup pangladén AAA primér:

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
Larapkeun setélan jeung

Lengkah 6, alias anu terakhir
Hayu urang parios upami auténtikasi dua faktor tiasa dianggo pikeun SLL VPN:

Buka 2FA (Auténtikasi dua faktor pikeun ASA SSL VPN)
Voila! Nalika nyambungkeun via Klién Cisco AnyConnect VPN, anjeun ogé bakal dipénta kecap konci anu kadua.

Kuring miharep éta artikel ieu bakal nulungan batur, sarta yén éta bakal masihan batur dahareun pikeun pamikiran ngeunaan kumaha carana make ieu, bébas server OTP, pikeun tugas séjén. Bagikeun dina koméntar upami anjeun hoyong.

sumber: www.habr.com

Tambahkeun komentar