Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)

Ang panginahanglan sa paghatag og hilit nga pag-access sa usa ka corporate nga palibot mitungha nga mas ug mas kanunay, bisan ang imong mga tiggamit o mga kauban nga nagkinahanglan og access sa usa ka partikular nga server sa imong organisasyon.

Alang niini nga mga katuyoan, kadaghanan sa mga kompanya naggamit sa teknolohiya sa VPN, nga napamatud-an ang kaugalingon ingon usa ka luwas nga paagi aron mahatagan ang access sa mga lokal nga kapanguhaan sa organisasyon.

Ang akong kompanya dili eksepsiyon, ug kami, sama sa daghang uban pa, naggamit niini nga teknolohiya. Ug, sama sa daghang uban pa, among gigamit ang Cisco ASA 55xx isip usa ka remote access gateway.

Uban sa pagdugang sa gidaghanon sa mga hilit nga tiggamit, adunay panginahanglan nga mapadali ang pamaagi sa pag-isyu sa mga kredensyal. Apan sa samang higayon, kini kinahanglan nga buhaton nga walay pagkompromiso sa kaluwasan.

Alang sa among kaugalingon, nakakaplag kami og solusyon sa paggamit sa duha ka hinungdan nga panghimatuud aron makonektar pinaagi sa Cisco SSL VPN, gamit ang usa ka higayon nga mga password. Ug kini nga publikasyon magsulti kanimo kung giunsa ang pag-organisar sa ingon nga solusyon nga adunay gamay nga oras ug zero nga gasto alang sa kinahanglan nga software (basta adunay ka Cisco ASA sa imong imprastraktura).

Ang merkado napuno sa mga kahon nga solusyon alang sa pagmugna og usa ka higayon nga mga password, samtang nagtanyag og daghang mga kapilian alang sa pagkuha niini, bisan kini pagpadala og password pinaagi sa SMS o paggamit sa mga token, hardware ug software (pananglitan, sa usa ka mobile phone). Apan ang pangandoy alang sa pagtipig ug ang tinguha nga makatipig salapi alang sa akong amo, sa karon nga krisis, nakapangita kanako usa ka libre nga paagi aron mapatuman ang usa ka serbisyo alang sa paghimo og usa ka higayon nga mga password. Nga, bisan pa nga libre, dili kaayo ubos sa komersyal nga mga solusyon (kini kinahanglan nga matikdan dinhi nga kini nga produkto usab adunay usa ka komersyal nga bersyon, apan kami miuyon nga ang mga gasto, sa mga termino sa salapi, mahimong zero).

Mao nga, kinahanglan naton:

- Usa ka imahe sa Linux nga adunay built-in nga set sa mga himan - multiOTP, FreeRADIUS ug nginx, alang sa pag-access sa server pinaagi sa web (http://download.multiotp.net/ - Gigamit nako ang usa ka andam nga gihimo nga imahe para sa VMware)
- Aktibo nga Direktoryo nga Server
- Sa tinuud Cisco ASA (Ako, alang sa kasayon, naggamit sa ASDM)
- Bisan unsang token sa software nga nagsuporta sa mekanismo sa TOTP (Ako, pananglitan, naggamit sa Google Authenticator, apan ang parehas nga FreeOTP ang buhaton)

Dili ko moadto sa mga detalye sa pagbuklad sa imahe. Ingon usa ka sangputanan, makuha nimo ang Debian Linux nga adunay multiOTP ug FreeRADIUS nga na-install na, gi-configure aron magtrabaho kauban ug usa ka interface sa web alang sa pagdumala sa OTP.

Lakang 1. Atong sugdan ang sistema ug i-configure kini para sa atong network
Sa kasagaran, ang sistema adunay mga kredensyal sa gamut nga ugat. Sa akong hunahuna ang tanan nakatag-an nga maayo nga usbon ang password sa gamut nga tiggamit pagkahuman sa una nga pag-login. Kinahanglan usab nimo nga usbon ang mga setting sa network (ang default mao ang '192.168.1.44' nga adunay gateway nga '192.168.1.1'). Pagkahuman niana, mahimo nimong i-reboot ang sistema.

Paghimo og user sa Active Directory OTP, nga adunay password AkongSuperPassword.

Lakang 2. I-set up ang koneksyon ug i-import ang mga tiggamit sa Active Directory
Aron mahimo kini, kinahanglan namon ang pag-access sa console, ug direkta ang file multiotp.php, nga gigamit nga among i-configure ang mga setting alang sa pagkonektar sa Active Directory.

Lakaw ngadto sa direktoryo /usr/local/bin/multiotp/ ug padagana ang mosunod nga mga sugo sa tinagsa:

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

Pagtino kung gikinahanglan ang dugang (permanente) nga pin sa pagsulod sa usa ka higayon nga pin (0 o 1)

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

Pagtino kung gikinahanglan ba ang password sa domain sa pagsulod sa usa ka higayon nga pin (0 o 1)

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

Ang matang sa LDAP server gipiho (0 = normal nga LDAP server, sa among kaso 1 = Active Directory)

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

Gipiho ang pormat diin irepresentar ang username (kini nga kantidad magpagawas lamang sa username, kung wala ang domain)

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

Parehas, para lang sa grupo

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

Gipiho ang pamaagi sa pagtino kung ang usa ka tiggamit nahisakop sa usa ka grupo

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

Kung mogamit ba og luwas nga koneksyon sa LDAP server (oo, siyempre!)

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

Port para sa pagkonektar sa LDAP server

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

Address sa imong Active Directory server

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

Tinoa kung asa magsugod pagpangita alang sa mga tiggamit sa domain

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

Ipiho ang usa ka user nga adunay mga katungod sa pagpangita sa Active Directory

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

Ipiho ang password sa user aron makonektar sa Active Directory

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

Pagtakda og timeout alang sa pagkonektar sa Active Directory

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

Pagtakda og limitasyon sa panahon alang sa user import operation

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

I-aktibo ang pagsumpo sa koneksyon sa Active Directory

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

Nag-import kami sa mga tiggamit gikan sa Active Directory

Lakang 3. Paghimo og QR code para sa token
Ang tanan yano ra kaayo dinhi. Ablihi ang web interface sa OTP server sa browser, pag-log in (ayaw kalimot sa pag-usab sa default nga password alang sa admin!), Ug i-klik ang "Print" button:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
Ang resulta niini nga aksyon mahimong usa ka panid nga adunay duha ka QR code. Maisugon namon nga gibaliwala ang una niini (bisan pa sa madanihon nga inskripsiyon sa Google Authenticator / Authenticator / 2 Steps Authenticator), ug maisugon usab nga i-scan ang ikaduha nga code sa usa ka token sa software sa telepono:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
(oo, gituyo nako nga gub-on ang QR code aron dili mabasa).

Human sa pagbuhat niini nga mga aksyon sa imong aplikasyon, matag katloan ka segundo, usa ka unom ka digit nga password ang mabuhat.

Alang sa pagkamatinud-anon, mahimo nimong susihon, sa parehas nga interface:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
Pagsulod sa username ug usa ka higayon nga password gikan sa aplikasyon sa telepono. Adunay positibo nga tubag? So nipadayon mi.

Lakang 4. I-configure ug sulayan ang FreeRADIUS
Sama sa akong gihisgutan sa ibabaw, ang multiOTP na-configure na aron magtrabaho uban sa FreeRADIUS, kini nagpabilin sa pagpadagan sa mga pagsulay ug pagdugang sa impormasyon mahitungod sa among VPN gateway sa FreeRADIUS configuration file.

Mibalik kami sa console sa server, sa direktoryo /usr/local/bin/multiotp/, pagsulod:

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

Naglakip sa ingon nga mas detalyado nga pag-log.

Sa FreeRADIUS client configuration file (/etc/freeradius/clinets.conf) ikomento ang tanang linya nga may kalabotan sa localhost ug idugang ang duha ka entries:

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

- alang sa pagsulay

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

- para sa among VPN gateway.

I-restart ang FreeRADIUS ug pagsulay sa pag-log in:

radtest username 100110 localhost 1812 testing321

diin username = username, 100110 = password nga gihatag kanamo sa aplikasyon sa telepono, localhost = adres sa server sa RADIUS, 1812 - RADIUS server port, testing321 β€” password sa kliyente sa server sa RADIUS (nga among gipiho sa config).

Ang output niini nga sugo mahimong sama sa mosunod:

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

Karon kinahanglan namong siguroon nga ang user malampuson nga napamatud-an. Aron mahimo kini, atong tan-awon ang log sa multiotp mismo:

tail /var/log/multiotp/multiotp.log

Ug kung ang katapusang entry adunay:

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

Dayon maayo ang tanan, ug makapasundayag kami

Lakang 5 I-configure ang Cisco ASA
Mouyon kita nga aduna na kitay gi-configure nga grupo ug mga polisiya para sa access pinaagi sa SLL VPN, nga gi-configure kauban sa Active Directory, ug kinahanglan natong idugang ang two-factor authentication para niini nga profile.

1. Pagdugang og bag-ong AAA server nga grupo:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
2. Idugang ang among multiOTP server sa grupo:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
3. Lagda profile sa koneksyon, nga nagbutang sa grupo sa mga server sa Active Directory isip nag-unang server sa pag-authenticate:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
4. Sa tab Advanced -> Pagpamatuod pagpili usab og grupo sa mga server sa Active Directory:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
5. Sa tab Abante -> Ikaduha authentication pilia ang gibuhat nga grupo sa server diin ang multiOTP server narehistro. Timan-i nga ang Session username napanunod gikan sa nag-unang AAA server nga grupo:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
Ibutang ang mga setting ug

Ang lakang 6 mao ang katapusan
Susiha kung ang duha ka hinungdan nga panghimatuud alang sa SLL VPN nagtrabaho alang kanamo:

Adto sa 2FA (Two Factor Authentication para sa ASA SSL VPN)
Voila! Kung magkonektar pinaagi sa Cisco AnyConnect VPN Client, ang usa ka ikaduha nga usa ka higayon nga password gihangyo usab.

Nanghinaut ko nga kini nga artikulo makatabang sa usa ka tawo, ug nga kini maghatag sa usa ka tawo nga hunahunaon, kung giunsa nimo kini magamit, libre OTP server, alang sa ubang mga buluhaton. I-share sa comments kung gusto nimo.

Source: www.habr.com

Idugang sa usa ka comment