VPN girişi RADIUS-a və kimlik provayderinizə necə çatır
VPN girişini müştəridən şlüzün RADIUS sorğusuna, onun arxasındakı kimlik provayderinə və qəbuldan sonra tətbiq olunan siyasətə qədər izləyin.
Keçən həftə istifadəçi VPN-ə daxil ola bildi və yenə də heç nəyin həll olmadığı şəbəkəyə düşdü. Müştəri qoşulduğunu bildirdi, şlüz jurnalı Access-Accept yazdı, kimlik komandası isə hesabın qaydasında olduğunu söylədi. Giriş işləmişdi; onun arxasındakı avtorizasiya işləməmişdi. VPN girişi uğursuz olduqda mən sorğunun həqiqətən keçdiyi yolu izləyirəm — müştəri, şlüz, RADIUS serveri, kimlik provayderi — və cavabı növbəti ilə uyğunsuz olan ilk addımda dayanıram.
Müştəri heç vaxt RADIUS danışmır
Laptopdakı tətbiq nə göstərsə də, onun ilk addımı VPN protokoludur: IKEv2, OpenVPN, WireGuard və ya TLS əsaslı müştəri. RADIUS həmin mübadilədə görünmür. Müştəri şlüzə sertifikatla, istifadəçi adı və parolla və ya tunel quruluşunun içində daşınan EAP üsulu ilə autentifikasiya olunur.
Bu, jurnalları oxuyarkən vacibdir, çünki istifadəçinin gördüyü ümumi autentifikasiya xətası şlüz tərəfindən artıq başqa bir şeylə danışdıqdan sonra yaradılır. Əgər müştəri şlüzə heç çatmırsa, ayıklamaq üçün RADIUS sorğusu yoxdur və RADIUS serverində keçirilən bir saat boşa gedir. Arxa hissəyə toxunmadan əvvəl tunelin ümumiyyətlə qalxdığını təsdiqləyin.
Şlüz RADIUS müştərisidir
Tunel quruluşu etimadnamələrin yoxlanmalı olduğu nöqtəyə çatdıqda, şlüz şəbəkə giriş serverinə çevrilir. O, Access-Request qurur: User-Name, parol və ya EAP yükü, NAS-IP-Address və ya NAS-Identifier və üsul tələb etdikdə Message-Authenticator. Sorğu standart olaraq UDP 1812-yə, uçot isə 1813-ə gedir. Köhnə quraşdırmalar hələ də 1645 və 1646-dan istifadə edir, buna görə bir cüt üçün yazılmış firewall qaydası çoxlu səssiz uğursuzluğu izah edir.
Hər iki tərəf bir sirr paylaşır və bu istifadəçi etimadnaməsi deyil. O, mübadiləni imzalayır və hər cavab ona qarşı yoxlanılır. Sirri iki tərəfdə fərqli qursanız, server pis sirr cavabı vermir — sorğunu atır və ya cavabın yoxlanması uğursuz olur, nəticədə şlüz fasilə bildirir. Yanlış sirr və ölü server şlüz tərəfindən eyni görünür, buna görə kataloqu günahlandırmadan əvvəl addımı müştəri aləti ilə yoxlayıram.
Protokol kiçik və köhnədir — RFC 2865 autentifikasiya mübadiləsini müəyyən edir — amma daşıdığı atributlar VPN siyasətinin çoxunun üzərində qurulduğu şeylərdir.
# ask the RADIUS server directly, from the gateway host
radtest alice 'test-password' 127.0.0.1 0 testing123
# watch the exchange the gateway actually sends
tcpdump -ni any -c 20 'udp port 1812'RADIUS serveri yalnız kimlik provayderinin önündə dura bilər
İnsanlar RADIUS və kimlik provayderini eyni qutu kimi danışırlar. Çox vaxt belə deyil. RADIUS serveri Access-Request-i alır və cavab verməzdən əvvəl başqa bir şeydən soruşur — LDAP və ya Kerberos üzərindən Active Directory, yerli istifadəçi faylı və ya xarici xidmət. LDAP və ya krb5 modulu ilə FreeRADIUS, Windows NPS və Cisco ISE hamısı bu mövqedə oturur.
Fərq hara baxacağınızı müəyyən edir. Rədd edilmiş parol RADIUS-un ötürdüyü kimlik provayderi cavabıdır. Fasilə adətən RADIUS-dan kataloqa qədər olan hissədir: vaxtı keçmiş bind hesabı, əlçatmaz kataloq və ya yanlış arxa hissəyə yönləndirilmiş sorğu. İstifadəçi adı domen şəkilçisi daşıyırsa, server ona görə marşrutlaşdıra bilər və CORP\alice və [email protected] kimi göndərilən eyni hesab fərqli yerlərə düşə bilər. Windows NPS-də Security jurnalı icazə üçün 6272, imtina üçün 6273 yazır ki, bu da qərarın ümumiyyətlə NPS-dən gəlib-gəlmədiyini bildirir.
Uğursuzluğu onu yaradan addımda oxuyun
Bir qoşula-bilmir mesajı dörd fərqli uğursuzluğu əhatə edir. Bir şeyi dəyişməzdən əvvəl simptomu onu yaradan addımla uyğunlaşdırın.
| What you see | Where it comes from | First check |
|---|---|---|
| Gateway timeout, no reply | Shared secret mismatch, UDP 1812 blocked, unknown NAS, wrong server address | tcpdump at the gateway; radtest from the gateway host |
| Immediate reject | Credentials, account state, domain suffix, RADIUS policy | NPS 6273 or the FreeRADIUS auth log; test the account directly |
| Repeated challenge or MFA loop | Access-Challenge state not returned, or a token that expired mid-flow | Client prompt timing and the State attribute in debug output |
| Accept, then no access | Authorization attributes unmapped, wrong pool, route or ACL policy | Gateway policy and the attributes in the Access-Accept |
İnsanları yanlış komandaya göndərən sonuncu sətirdir. Access-Accept etimadnamələrin qəbul edildiyini bildirir; şlüzün istifadəçini düzgün hovuza yerləşdirdiyini və ya marşrutları itələdiyini bildirmir. Qrup atributları yalnız şlüz siyasəti onları oxuyanda əhəmiyyət kəsb edir. Düzgün girişin qonaq hovuzuna düşdüyünü görmüşəm, çünki qrup xəritələnməsi RADIUS tərəfində şlüzün yoxladığından fərqli atribut üçün qurulmuşdu.
Bir girişi başdan sona izləyin
Tək bir test hesabı və bir şlüz seçin, sonra eyni cəhdi dörd nöqtədə izləyin. RADIUS tərəfində ayıklama işə salın — freeradius -X sorğunu və toxunduğu hər modulu çap edir — şlüzün autentifikasiya jurnalını izləyin və UDP mübadiləsi üçün tcpdump işlədin. Bir dəfə qoşulun və dörd izi sıra ilə oxuyun.
Görmək istədiyiniz uyğunluqdur: şlüz gözlədiyiniz istifadəçi haqqında soruşdu, RADIUS serveri gözlədiyiniz arxa hissəni seçdi, o arxa hissə qərar qaytardı və cavabdakı atributlar şlüzün tətbiq etdiyi siyasətə uyğundur. İzlərin ilk fərqləndiyi yer sizin nasazlıq xəttinizdir. Cavab heç bir qrup atributu daşımırsa, problem VPN profilində deyil, RADIUS tərəfindədir; atribut varsa və şlüz onu nəzərə almırsa, problem şlüz siyasətidir.
Orada olarkən bir təhlükəsizlik qeydi. Ortaq sirr mübadiləni qoruyur, lakin atributların çoxunu şifrələmir. Şlüz və RADIUS serveri fərqli seqmentlərdədirsə, həmin addımı TLS üzərindən RADIUS-a və ya özəl yola qoyun. Şifrələnmiş istifadəçi tuneli arxa hissə bağlantısı haqqında heç nə demir.
Bileti bağlamazdan əvvəl dörd şeyi təsdiqləyin. Şlüz RADIUS serverinə həqiqətən konfiqurasiya edildiyi portdan çata bilir. Ortaq sirr hər iki tərəfdə uyğundur. RADIUS serveri şlüzün göndərdiyi dəqiq istifadəçi adı formasını həll edir. Qəbul şlüz siyasətinin ehtiyac duyduğu atributları daşıyır. Dördü də doğru olduqda, hələ də uğursuz olan giriş autentifikasiya deyil, şlüz siyasəti problemidir.