Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)

Haja ya kutoa ufikiaji wa mbali kwa mazingira ya shirika inazidi kujitokeza mara nyingi zaidi, bila kujali ni watumiaji au washirika wako wanaohitaji ufikiaji wa seva fulani katika shirika lako.

Kwa madhumuni haya, makampuni mengi hutumia teknolojia ya VPN, ambayo imejidhihirisha kuwa njia ya kuaminika ya kutoa ufikiaji wa rasilimali za ndani za shirika.

Kampuni yangu haikuwa ubaguzi, na sisi, kama wengine wengi, tunatumia teknolojia hii. Na, kama wengine wengi, tunatumia Cisco ASA 55xx kama lango la ufikiaji wa mbali.

Kadiri idadi ya watumiaji wa mbali inavyoongezeka, kuna haja ya kurahisisha utaratibu wa kutoa vitambulisho. Lakini wakati huo huo, hii lazima ifanyike bila kuathiri usalama.

Kwa sisi wenyewe, tulipata suluhisho kwa kutumia uthibitishaji wa sababu mbili kwa kuunganisha kupitia Cisco SSL VPN, kwa kutumia nywila za wakati mmoja. Na uchapishaji huu utakuambia jinsi ya kuandaa suluhisho kama hilo kwa wakati mdogo na gharama za sifuri kwa programu muhimu (mradi tu una Cisco ASA katika miundombinu yako).

Soko limejaa suluhisho za sanduku za kutengeneza nywila za wakati mmoja, huku ukitoa chaguzi nyingi za kuzipata, iwe ni kutuma nywila kupitia SMS au kutumia ishara, vifaa na programu (kwa mfano, kwenye simu ya rununu). Lakini tamaa ya kuokoa pesa na tamaa ya kuokoa pesa kwa mwajiri wangu, katika mgogoro wa sasa, ilinilazimisha kutafuta njia ya bure ya kutekeleza huduma kwa ajili ya kuzalisha nywila za wakati mmoja. Ambayo, wakati wa bure, sio duni sana kwa ufumbuzi wa kibiashara (hapa tunapaswa kufanya uhifadhi, tukibainisha kuwa bidhaa hii pia ina toleo la kibiashara, lakini tulikubaliana kuwa gharama zetu, kwa pesa, zitakuwa sifuri).

Kwa hivyo, tutahitaji:

- Picha ya Linux iliyo na seti iliyojumuishwa ya zana - multiOTP, FreeRADIUS na nginx, za kufikia seva kupitia wavuti (http://download.multiotp.net/ - Nilitumia picha iliyotengenezwa tayari kwa VMware)
- Seva ya Saraka Inayotumika
- Cisco ASA yenyewe (kwa urahisi, ninatumia ASDM)
β€” Tokeni yoyote ya programu inayotumia utaratibu wa TOTP (mimi, kwa mfano, ninatumia Kithibitishaji cha Google, lakini FreeOTP ile ile itafanya)

Sitaingia katika maelezo ya jinsi picha inavyojitokeza. Kwa hivyo, utapokea Debian Linux iliyo na multiOTP na FreeRADIUS tayari imesakinishwa, iliyosanidiwa kufanya kazi pamoja, na kiolesura cha wavuti kwa usimamizi wa OTP.

Hatua ya 1. Tunaanzisha mfumo na kuisanidi kwa mtandao wako
Kwa chaguo-msingi, mfumo unakuja na sifa za mizizi. Nadhani kila mtu alikisia kuwa itakuwa wazo nzuri kubadilisha nenosiri la mtumiaji wa mizizi baada ya kuingia kwa mara ya kwanza. Pia unahitaji kubadilisha mipangilio ya mtandao (kwa chaguo-msingi ni '192.168.1.44' na lango '192.168.1.1'). Baada ya hapo, unaweza kuanzisha upya mfumo.

Hebu tuunde mtumiaji katika Saraka Inayotumika otp, yenye nenosiri MySuperPassword.

Hatua ya 2. Sanidi muunganisho na ulete watumiaji wa Active Directory
Ili kufanya hivyo, tunahitaji upatikanaji wa console, na moja kwa moja kwenye faili multiotp.php, kwa kutumia ambayo tutasanidi mipangilio ya uunganisho kwenye Active Directory.

Nenda kwenye saraka /usr/local/bin/multiotp/ na utekeleze amri zifuatazo kwa zamu:

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

Huamua ikiwa pini ya ziada (ya kudumu) inahitajika wakati wa kuingiza pini ya mara moja (0 au 1)

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

Huamua ikiwa nenosiri la kikoa linahitajika wakati wa kuingiza pin ya mara moja (0 au 1)

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

Aina ya seva ya LDAP imeonyeshwa (0 = seva ya kawaida ya LDAP, kwa upande wetu 1 = Saraka Inayotumika)

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

Inabainisha umbizo la kuwasilisha jina la mtumiaji (thamani hii itaonyesha jina pekee, bila kikoa)

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

Jambo lile lile, kwa kikundi tu

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

Hubainisha mbinu ya kubainisha iwapo mtumiaji ni wa kikundi

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

Je, nitumie muunganisho salama kwa seva ya LDAP (bila shaka, ndiyo!)

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

Mlango wa kuunganisha kwa seva ya LDAP

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

Anwani yako ya seva ya Saraka Inayotumika

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

Tunaonyesha mahali pa kuanza kutafuta watumiaji katika kikoa

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

Bainisha mtumiaji ambaye ana haki za utafutaji katika Active Directory

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

Bainisha nenosiri la mtumiaji ili kuunganisha kwenye Saraka Inayotumika

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

Kuweka muda wa kuisha kwa kuunganisha kwenye Active Directory

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

Tunaweka kikomo cha muda kwa operesheni ya uingizaji wa mtumiaji

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

Inawasha usanidi wa muunganisho wa Saraka Inayotumika

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

Tunaagiza watumiaji kutoka kwa Saraka Inayotumika

Hatua ya 3. Tengeneza msimbo wa QR wa tokeni
Kila kitu hapa ni rahisi sana. Fungua kiolesura cha wavuti cha seva ya OTP kwenye kivinjari, ingia (usisahau kubadilisha nenosiri la msingi la msimamizi!), na ubofye kitufe cha "Chapisha":

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
Matokeo ya kitendo hiki yatakuwa ukurasa ambao una misimbo miwili ya QR. Tunapuuza kwa ujasiri ya kwanza yao (licha ya uandishi wa kuvutia wa Kithibitishaji / Kithibitishaji cha Google / Kithibitishaji cha Hatua 2), na tena tunachanganua msimbo wa pili kwa ujasiri kuwa ishara ya programu kwenye simu:

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
(ndio, niliharibu msimbo wa QR kwa makusudi ili kuifanya isisomeke).

Baada ya kukamilisha vitendo hivi, nenosiri lenye tarakimu sita litaanza kuzalishwa katika programu yako kila baada ya sekunde thelathini.

Ili kuwa na uhakika, unaweza kuiangalia katika kiolesura sawa:

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
Kwa kuingiza jina lako la mtumiaji na nenosiri la mara moja kutoka kwa programu kwenye simu yako. Je, ulipata jibu chanya? Basi tuendelee.

Hatua ya 4. Mipangilio ya ziada na majaribio ya uendeshaji wa FreeRADIUS
Kama nilivyotaja hapo juu, multiOTP tayari imesanidiwa kufanya kazi na FreeRADIUS, kilichobaki ni kufanya majaribio na kuongeza habari kuhusu lango letu la VPN kwenye faili ya usanidi ya FreeRADIUS.

Tunarudi kwenye koni ya seva, kwenye saraka /usr/local/bin/multiotp/, ingiza:

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

Ikiwa ni pamoja na ukataji wa kina zaidi.

Katika faili ya usanidi ya wateja wa FreeRADIUS (/etc/freeradius/clinets.conf) toa maoni kwa mistari yote inayohusiana na lochost na ongeza maingizo mawili:

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

- kwa mtihani

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

- kwa lango letu la VPN.

Anzisha upya FreeRADIUS na ujaribu kuingia:

radtest username 100110 localhost 1812 testing321

ambapo username = jina la mtumiaji, 100110 = nenosiri tulilopewa na programu kwenye simu, lochost = anwani ya seva ya RADIUS, 1812 - bandari ya seva ya RADIUS, kupima321 - Nenosiri la mteja wa seva ya RADIUS (ambalo tuliainisha kwenye usanidi).

Matokeo ya amri hii yatakuwa pato takriban kama ifuatavyo:

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

Sasa tunahitaji kuhakikisha kuwa mtumiaji amethibitishwa kwa ufanisi. Ili kufanya hivyo, tutaangalia logi ya multiotp yenyewe:

tail /var/log/multiotp/multiotp.log

Na ikiwa kiingilio cha mwisho ni:

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

Kisha kila kitu kilikwenda vizuri na tunaweza kukamilisha

Hatua ya 5: Sanidi Cisco ASA
Hebu tukubaliane kwamba tayari tuna kikundi na sera zilizosanidiwa za ufikiaji kupitia SLL VPN, zilizosanidiwa pamoja na Active Directory, na tunahitaji kuongeza uthibitishaji wa vipengele viwili kwa wasifu huu.

1. Ongeza kikundi kipya cha seva ya AAA:

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
2. Ongeza seva yetu ya multiOTP kwenye kikundi:

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
3. Tunahariri wasifu wa uunganisho, kuweka kikundi cha seva ya Active Directory kama seva kuu ya uthibitishaji:

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
4. Katika kichupo Kina -> Uthibitishaji Pia tunachagua kikundi cha seva ya Active Directory:

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
5. Katika kichupo Advanced -> Sekondari uthibitishaji, chagua kikundi cha seva iliyoundwa ambayo seva ya multiOTP imesajiliwa. Kumbuka kuwa jina la mtumiaji la Kipindi limerithiwa kutoka kwa kikundi cha msingi cha seva ya AAA:

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
Weka mipangilio na

Hatua ya 6, aka ya mwisho
Wacha tuangalie ikiwa uthibitishaji wa sababu mbili hufanya kazi kwa SLL VPN:

Nenda kwa 2FA (Uthibitishaji wa sababu mbili kwa ASA SSL VPN)
Voila! Unapounganisha kupitia Mteja wa Cisco AnyConnect VPN, utaulizwa pia nenosiri la pili la wakati mmoja.

Natumaini kwamba makala hii itasaidia mtu, na kwamba itampa mtu chakula cha mawazo juu ya jinsi ya kutumia hii, bure Seva ya OTP, kwa kazi zingine. Shiriki katika maoni ikiwa unataka.

Chanzo: mapenzi.com

Kuongeza maoni