Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)

Þörfin fyrir að veita fjaraðgang að fyrirtækjaumhverfi kemur æ oftar fram, sama hvort það eru notendur þínir eða samstarfsaðilar sem þurfa aðgang að tilteknum netþjóni í fyrirtækinu þínu.

Í þessum tilgangi nota flest fyrirtæki VPN tækni, sem hefur sannað sig sem áreiðanlega vernduð leið til að veita aðgang að staðbundnum auðlindum stofnunarinnar.

Fyrirtækið mitt var engin undantekning og við, eins og margir aðrir, notum þessa tækni. Og eins og margir aðrir notum við Cisco ASA 55xx sem fjaraðgangsgátt.

Eftir því sem fjarnotendum fjölgar þarf að einfalda málsmeðferðina við útgáfu skilríkja. En á sama tíma þarf að gera þetta án þess að skerða öryggið.

Fyrir okkur sjálf fundum við lausn í því að nota tveggja þátta auðkenningu til að tengjast í gegnum Cisco SSL VPN, með því að nota einu sinni lykilorð. Og þetta rit mun segja þér hvernig á að skipuleggja slíka lausn með lágmarks tíma og núllkostnaði fyrir nauðsynlegan hugbúnað (að því gefnu að þú hafir nú þegar Cisco ASA í innviðum þínum).

Markaðurinn er uppfullur af kassalausnum til að búa til einskiptis lykilorð, á sama tíma og það býður upp á marga möguleika til að fá þau, hvort sem það er að senda lykilorðið með SMS eða nota tákn, bæði vélbúnað og hugbúnað (til dæmis í farsíma). En löngunin til að spara peninga og löngunin til að spara peninga fyrir vinnuveitanda minn, í núverandi kreppu, neyddi mig til að finna ókeypis leið til að innleiða þjónustu til að búa til einskiptis lykilorð. Sem, þó að það sé ókeypis, er ekki mikið síðra en viðskiptalausnir (hér ættum við að gera fyrirvara, taka fram að þessi vara hefur einnig viðskiptaútgáfu, en við samþykktum að kostnaður okkar, í peningum, verði núll).

Svo, við þurfum:

- Linux mynd með innbyggðu verkfærasetti - multiOTP, FreeRADIUS og nginx, til að komast á netþjóninn í gegnum vefinn (http://download.multiotp.net/ - ég notaði tilbúna mynd fyrir VMware)
— Active Directory Server
— Cisco ASA sjálft (til þæginda nota ég ASDM)
— Hvaða hugbúnaðarlykil sem styður TOTP vélbúnaðinn (ég nota til dæmis Google Authenticator, en sama FreeOTP mun gera)

Ég mun ekki fara í smáatriði um hvernig myndin þróast. Fyrir vikið færðu Debian Linux með multiOTP og FreeRADIUS þegar uppsett, stillt til að vinna saman og vefviðmót fyrir OTP stjórnun.

Skref 1. Við ræsum kerfið og stillum það fyrir netið þitt
Sjálfgefið er að kerfið sé með rótarupplýsingar. Ég held að allir hafi giskað á að það væri góð hugmynd að breyta lykilorði rótnotanda eftir fyrstu innskráningu. Þú þarft líka að breyta netstillingunum (sjálfgefið er það '192.168.1.44' með gáttinni '192.168.1.1'). Eftir það geturðu endurræst kerfið.

Búum til notanda í Active Directory OTP, með lykilorði MySuperPassword.

Skref 2. Settu upp tenginguna og flyttu Active Directory notendur inn
Til að gera þetta þurfum við aðgang að stjórnborðinu og beint að skránni multiotp.php, þar sem við munum stilla tengingarstillingar í Active Directory.

Farðu í möppu /usr/local/bin/multiotp/ og framkvæma eftirfarandi skipanir til skiptis:

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

Ákveður hvort viðbótar (varanlegt) pinna þarf þegar slegið er inn einu sinni pinna (0 eða 1)

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

Ákveður hvort lénslykilorðs sé krafist þegar pinna er slegið inn í eitt skipti (0 eða 1)

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

Gerð LDAP þjóns er tilgreind (0 = venjulegur LDAP þjónn, í okkar tilviki 1 = Active Directory)

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

Tilgreinir á hvaða sniði notandanafnið á að birta (þetta gildi sýnir aðeins nafnið, án lénsins)

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

Sama hlutur, aðeins fyrir hóp

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

Tilgreinir aðferð til að ákvarða hvort notandi tilheyri hópi

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

Ætti ég að nota örugga tengingu við LDAP netþjóninn (auðvitað - já!)

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

Gátt til að tengjast LDAP þjóninum

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

Active Directory netfangið þitt

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

Við tilgreinum hvar á að byrja að leita að notendum á léninu

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

Tilgreindu notanda sem hefur leitarréttindi í Active Directory

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

Tilgreindu lykilorð notanda til að tengjast Active Directory

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

Stillir tímamörk fyrir tengingu við Active Directory

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

Við setjum tímamörk fyrir innflutning notenda

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

Virkjar Active Directory tengingarstillingar

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

Við flytjum inn notendur frá Active Directory

Skref 3. Búðu til QR kóða fyrir táknið
Hér er allt ákaflega einfalt. Opnaðu vefviðmót OTP netþjónsins í vafranum, skráðu þig inn (ekki gleyma að breyta sjálfgefna lykilorðinu fyrir stjórnandann!) og smelltu á „Prenta“ hnappinn:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
Niðurstaðan af þessari aðgerð verður síða sem inniheldur tvo QR kóða. Við hunsum djarflega þann fyrsta af þeim (þrátt fyrir aðlaðandi áletrunina Google Authenticator / Authenticator / 2 Steps Authenticator), og aftur skönnum við djarflega seinni kóðann í hugbúnaðartákn í símanum:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
(já, ég skemmdi QR kóða vísvitandi til að gera hann ólæsanlegan).

Eftir að hafa lokið þessum aðgerðum mun sex stafa lykilorð byrja að myndast í forritinu þínu á þrjátíu sekúndna fresti.

Til að vera viss geturðu athugað það í sama viðmóti:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
Með því að slá inn notandanafn og einu sinni lykilorð úr forritinu í símanum þínum. Fékkstu jákvæð viðbrögð? Svo við höldum áfram.

Skref 4. Viðbótaruppsetning og prófun á FreeRADIUS aðgerð
Eins og ég nefndi hér að ofan, er multiOTP nú þegar stillt til að vinna með FreeRADIUS, allt sem er eftir er að keyra próf og bæta upplýsingum um VPN gátt okkar við FreeRADIUS stillingarskrána.

Við snúum aftur í miðlaraborðið, í möppuna /usr/local/bin/multiotp/, koma inn:

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

Þar á meðal ítarlegri skráningu.

Í stillingarskrá FreeRADIUS biðlara (/etc/freeradius/clinets.conf) athugasemd út allar línur sem tengjast localhost og bættu við tveimur færslum:

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

- til prófunar

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

- fyrir VPN gátt okkar.

Endurræstu FreeRADIUS og reyndu að skrá þig inn:

radtest username 100110 localhost 1812 testing321

þar sem notandanafn = notendanafn, 100110 = lykilorð gefið okkur af forritinu í símanum, localhost = RADIUS miðlara vistfang, 1812 — RADIUS miðlara tengi, prófun321 — RADIUS miðlara biðlara lykilorð (sem við tilgreindum í stillingunni).

Niðurstaða þessarar skipunar verður birt um það bil sem hér segir:

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

Nú þurfum við að ganga úr skugga um að notandinn sé auðkenndur. Til að gera þetta munum við skoða skráningu multiotp sjálfs:

tail /var/log/multiotp/multiotp.log

Og ef síðasta færslan þar er:

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

Þá gekk allt vel og við getum klárað

Skref 5: Stilltu Cisco ASA
Við skulum samþykkja að við höfum nú þegar stilltan hóp og stefnur fyrir aðgang í gegnum SLL VPN, stillt í tengslum við Active Directory, og við þurfum að bæta við tvíþættri auðkenningu fyrir þetta snið.

1. Bættu við nýjum AAA netþjónahópi:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
2. Bættu multiOTP þjóninum okkar við hópinn:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
3. Við ritstýrum tengingarsnið, stillir Active Directory miðlarahópinn sem aðal auðkenningarþjónn:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
4. Í flipanum Ítarlegt -> Authentication Við veljum einnig Active Directory miðlarahópinn:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
5. Í flipanum Advanced -> Secondary auðkenning, veldu stofnaða miðlarahópinn sem multiOTP miðlarinn er skráður í. Athugaðu að Session notandanafnið er erft frá aðal AAA netþjónahópnum:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
Notaðu stillingar og

Skref 6, einnig það síðasta
Við skulum athuga hvort tveggja þátta auðkenning virkar fyrir SLL VPN:

Farðu í 2FA (Tveggja þátta auðkenning fyrir ASA SSL VPN)
Voila! Þegar þú tengist í gegnum Cisco AnyConnect VPN viðskiptavin, verður þú einnig beðinn um annað, einu sinni lykilorð.

Ég vona að þessi grein muni hjálpa einhverjum og að hún gefi einhverjum umhugsunarefni um hvernig á að nota þetta, ókeypis OTP þjónn, fyrir önnur verkefni. Deildu í athugasemdum ef þú vilt.

Heimild: www.habr.com

Bæta við athugasemd