2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)

Korporativ mühitə uzaqdan girişin təmin edilməsi ehtiyacı, təşkilatınızdakı müəyyən bir serverə giriş ehtiyacı olan istifadəçiləriniz və ya tərəfdaşlarınız olsun, getdikcə daha tez-tez yaranır.

Bu məqsədlər üçün əksər şirkətlər təşkilatın yerli resurslarına çıxışı təmin etmək üçün təhlükəsiz üsul kimi özünü sübut edən VPN texnologiyasından istifadə edir.

Mənim şirkətim də istisna deyil və biz də bir çoxları kimi bu texnologiyadan istifadə edirik. Və bir çox başqaları kimi biz də Cisco ASA 55xx-dən uzaqdan giriş qapısı kimi istifadə edirik.

Uzaqdan istifadə edənlərin sayının artması ilə etimadnamələrin verilməsi prosedurunun asanlaşdırılmasına ehtiyac var. Ancaq eyni zamanda, bu, təhlükəsizliyə xələl gətirmədən edilməlidir.

Özümüz üçün birdəfəlik parollardan istifadə edərək Cisco SSL VPN vasitəsilə qoşulmaq üçün iki faktorlu autentifikasiyadan istifadə etməklə həll tapdıq. Və bu nəşr sizə lazımi proqram təminatı üçün minimal vaxt və sıfır xərclə belə bir həlli necə təşkil edəcəyinizi izah edəcək (infrastrukturunuzda artıq Cisco ASA olması şərti ilə).

Bazar birdəfəlik parollar yaratmaq üçün qutu həlləri ilə doludur, eyni zamanda onları əldə etmək üçün bir çox seçim təklif edir, istər SMS vasitəsilə parol göndərmək, istərsə də həm aparat, həm də proqram təminatı (məsələn, mobil telefonda) tokenlərdən istifadə etməklə. Ancaq əmanət istəyi və işəgötürənim üçün pul yığmaq istəyi, indiki böhranda məni birdəfəlik parollar yaratmaq üçün pulsuz bir xidmət tətbiq etməyə vadar etdi. Hansı ki, pulsuz olmasına baxmayaraq, kommersiya həllərindən çox da geri qalmır (burada qeyd etmək lazımdır ki, bu məhsulun da kommersiya versiyası var, lakin biz razılaşdıq ki, pul baxımından xərclər sıfır olacaq).

Beləliklə, biz lazımdır:

- Veb vasitəsilə serverə daxil olmaq üçün daxili alətlər dəsti olan Linux şəkli - multiOTP, FreeRADIUS və nginx (http://download.multiotp.net/ - VMware üçün hazır təsvirdən istifadə etdim)
— Active Directory Server
- Əslində Cisco ASA (mən rahatlıq üçün ASDM istifadə edirəm)
- TOTP mexanizmini dəstəkləyən hər hansı proqram nişanı (mən, məsələn, Google Authenticator istifadə edirəm, lakin eyni FreeOTP edəcək)

Şəklin açılmasının təfərrüatlarına varmayacağam. Nəticədə siz artıq quraşdırılmış multiOTP və FreeRADIUS ilə birlikdə işləmək üçün konfiqurasiya edilmiş Debian Linux və OTP administrasiyası üçün veb interfeys əldə edəcəksiniz.

Addım 1. Biz sistemi işə salırıq və onu şəbəkəmiz üçün konfiqurasiya edirik
Varsayılan olaraq, sistem kök kök etimadnaməsi ilə gəlir. Düşünürəm ki, hamı ilk girişdən sonra kök istifadəçinin parolunu dəyişməyin yaxşı olacağını təxmin etdi. Siz həmçinin şəbəkə parametrlərini dəyişdirməlisiniz (defolt olaraq '192.168.1.44' şluz ilə '192.168.1.1'). Bundan sonra sistemi yenidən başlada bilərsiniz.

Active Directory-də istifadəçi yaradın OTP, parol ilə MySuperPassword.

Addım 2. Bağlantı qurun və Active Directory istifadəçilərini idxal edin
Bunu etmək üçün konsola və birbaşa fayla daxil olmalıyıq multiotp.php, ondan istifadə edərək Active Directory-yə qoşulmaq üçün parametrləri konfiqurasiya edəcəyik.

Kataloqa keçin /usr/local/bin/multiotp/ və aşağıdakı əmrləri bir-bir yerinə yetirin:

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

Birdəfəlik pin (0 və ya 1) daxil edilərkən əlavə (daimi) pin tələb olunub-olunmadığını müəyyən edir.

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

Birdəfəlik pin (0 və ya 1) daxil edilərkən domen parolunun tələb olunub-olunmadığını müəyyən edir.

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

LDAP serverinin növü müəyyən edilmişdir (0 = normal LDAP server, bizim vəziyyətimizdə 1 = Active Directory)

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

İstifadəçi adının təmsil olunacağı formatı müəyyən edir (bu dəyər domen olmadan yalnız istifadəçi adını verəcəkdir)

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

Eyni, yalnız qrup üçün

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

İstifadəçinin qrupa aid olub-olmadığını müəyyən etmək üçün metodu müəyyənləşdirir

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

LDAP serverinə təhlükəsiz bağlantıdan istifadə edib-etməmək (bəli, əlbəttə!)

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

LDAP serverinə qoşulmaq üçün port

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

Active Directory serverinizin ünvanı

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

Domendə istifadəçiləri axtarmağa haradan başlamaq lazım olduğunu göstərin

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

Active Directory-də axtarış hüququ olan istifadəçini göstərin

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

Active Directory-ə qoşulmaq üçün istifadəçi parolunu göstərin

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

Active Directory-ə qoşulmaq üçün vaxt aşımı təyin edilir

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

İstifadəçi idxal əməliyyatı üçün vaxt məhdudiyyəti təyin edin

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

Active Directory əlaqə konfiqurasiyasını aktivləşdirin

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

Biz istifadəçiləri Active Directory-dən idxal edirik

Addım 3. Token üçün QR kodu yaradın
Burada hər şey son dərəcə sadədir. Brauzerdə OTP serverinin veb interfeysini açın, daxil olun (admin üçün standart parolu dəyişməyi unutmayın!) və "Çap et" düyməsini sıxın:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
Bu hərəkətin nəticəsi iki QR kodu olan bir səhifə olacaq. Onlardan birincisinə cəsarətlə məhəl qoymuruq (cazibədar Google Authenticator / Authenticator / 2 Steps Authenticator yazısına baxmayaraq) və ikinci kodu telefondakı proqram nişanına yenidən cəsarətlə skan edirik:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
(bəli, oxunmaz etmək üçün QR kodunu qəsdən qarışdırdım).

Tətbiqinizdə bu hərəkətləri etdikdən sonra hər otuz saniyədə altı rəqəmli parol yaradılacaq.

Sədaqət üçün eyni interfeysdə yoxlaya bilərsiniz:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
Telefondakı proqramdan istifadəçi adı və birdəfəlik parolun daxil edilməsi. Müsbət cavab aldınız? Beləliklə, davam edirik.

Addım 4. FreeRADIUS-u konfiqurasiya edin və sınaqdan keçirin
Yuxarıda qeyd etdiyim kimi, multiOTP artıq FreeRADIUS ilə işləmək üçün konfiqurasiya olunub, testlər aparmaq və FreeRADIUS konfiqurasiya faylına VPN şlüzümüz haqqında məlumat əlavə etmək qalır.

Server konsoluna, kataloqa qayıdırıq /usr/local/bin/multiotp/, daxil edin:

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

Beləliklə, daha ətraflı giriş daxil olmaqla.

FreeRADIUS müştəri konfiqurasiya faylında (/etc/freeradius/clinets.conf) ilə əlaqəli bütün sətirləri şərh edin localhost və iki giriş əlavə edin:

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

- test üçün

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

- VPN şlüzümüz üçün.

FreeRADIUS-u yenidən başladın və daxil olmağa çalışın:

radtest username 100110 localhost 1812 testing321

hara istifadəçi adı = istifadəçi adı, 100110 = telefondakı proqram tərəfindən bizə verilən parol, localhost = RADIUS server ünvanı, 1812 — RADIUS server portu, test321 — RADIUS server müştərisinin parolu (konfiqurasiyada göstərdiyimiz).

Bu əmrin çıxışı aşağıdakı kimi olacaq:

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

İndi istifadəçinin autentifikasiyasının uğurla həyata keçirildiyinə əmin olmalıyıq. Bunu etmək üçün multiotp jurnalının özünə baxacağıq:

tail /var/log/multiotp/multiotp.log

Və əgər son giriş varsa:

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

Sonra hər şey yaxşı oldu və biz çıxış edə bilərik

Addım 5 Cisco ASA-nı konfiqurasiya edin
Razılaşaq ki, artıq Active Directory ilə birlikdə konfiqurasiya edilmiş SLL VPN vasitəsilə daxil olmaq üçün konfiqurasiya edilmiş qrupumuz və siyasətlərimiz var və bu profil üçün iki faktorlu autentifikasiya əlavə etməliyik.

1. Yeni AAA server qrupu əlavə edin:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
2. Qrupa multiOTP serverimizi əlavə edin:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
3. Qayda əlaqə profili, Active Directory serverləri qrupunu əsas autentifikasiya serveri kimi təyin edin:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
4. Nişanda Qabaqcıl -> Doğrulama həmçinin Active Directory serverləri qrupunu seçin:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
5. Nişanda Qabaqcıl -> Orta autentifikasiya multiOTP serverinin qeydiyyatdan keçdiyi yaradılmış server qrupunu seçin. Qeyd edək ki, Session istifadəçi adı əsas AAA server qrupundan miras alınıb:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
Parametrləri tətbiq edin və

6-cı addım sonuncudur
SLL VPN üçün iki faktorlu autentifikasiyanın bizim üçün işlədiyini yoxlayın:

2FA-a keçin (ASA SSL VPN üçün iki faktorlu autentifikasiya)
Voila! Cisco AnyConnect VPN Client vasitəsilə qoşulduqda ikinci birdəfəlik parol da tələb olunacaq.

Ümid edirəm ki, bu məqalə kiməsə kömək edəcək və kiməsə düşünmək üçün qida verəcək, bundan necə istifadə edə bilərsiniz, sərbəst OTP server, digər tapşırıqlar üçün. İstəyirsinizsə şərhlərdə paylaşın.

Mənbə: www.habr.com

Добавить комментарий