VPN кирүү RADIUS жана сиздин идентификация провайдериңизге кантип жетет
VPN кирүүнү клиенттен дарбазанын RADIUS сурамына, анын артындагы идентификация провайдерине жана кабыл алуудан кийин колдонулуучу саясатка чейин көзөмөлдөңүз.
Өткөн аптада колдонуучу VPNге кире алды, бирок эч нерсе чечилбеген тармакка түштү. Клиент туташты деди, дарбаза журналы Access-Accept деди, ал эми идентификация тобу каттоо эсеби жакшы деди. Кирүү иштеген; анын артындагы авторизация иштеген жок. VPN кирүү ишке ашпаганда, мен сурам чындыгында жүргөн жол менен жүрөм — клиент, дарбаза, RADIUS сервери, идентификация провайдери — жана жообу кийинкисине туура келбеген биринчи кадамда токтойм.
Клиент эч качан RADIUS тилинде сүйлөбөйт
Ноутбуктагы колдонмо эмнени көрсөтсө да, анын биринчи кадамы VPN протоколу: IKEv2, OpenVPN, WireGuard же TLS негизиндеги клиент. RADIUS бул алмашууда көрүнбөйт. Клиент дарбаза алдында сертификат, колдонуучу аты жана сырсөз менен, же туннел жөндөөсүндө ташылуучу EAP ыкмасы менен аутентификацияланат.
Бул журналдарды окууда маанилүү, анткени колдонуучу көргөн жалпы аутентификация катасын дарбаза башка нерсе менен сүйлөшкөндөн кийин пайда кылат. Эгер клиент дарбазага такыр жетпесе, оңдоого RADIUS сурамы жок, жана RADIUS серверинде өткөрүлгөн бир саат текке кетет. Backendге тийүүдөн мурун туннелдин такыр көтөрүлгөнүн тастыктаңыз.
Дарбаза — RADIUS клиенти
Туннел жөндөөсү каттоо маалыматтарын текшерүү керек болгон чекитке жеткенде, дарбаза тармактык кирүү серверине айланат. Ал Access-Request түзөт: User-Name, сырсөз же EAP жүктөмү, NAS-IP-Address же NAS-Identifier, жана ыкма талап кылганда Message-Authenticator. Сурам демейки боюнча UDP 1812ге, ал эми эсеп 1813кө жөнөтүлөт. Эски жайгаштыруулар дагы эле 1645 жана 1646ны колдонушат, ошондуктан бир жупка жазылган firewall эрежеси көптөгөн үнсүз ишке ашпоолорду түшүндүрөт.
Эки тарап бир сырды бөлүшөт жана ал колдонуучунун каттоо маалыматы эмес. Ал алмашууга кол коёт жана ар бир жооп ага каршы текшерилет. Сырды эки тарапта башкача жөндөсөңүз, сервер туура эмес сыр деп жооп бербейт — ал сурамды таштайт же жооп текшерүүдөн өтпөйт, ошондуктан дарбаза убакыттын бүткөнүн билдирет. Туура эмес сыр менен өлүк сервер дарбазадан бирдей көрүнөт, ошондуктан каталогду күнөөлөөдөн мурун кадамды клиент куралы менен текшерем.
Протокол кичине жана эски — RFC 2865 аутентификация алмашуусун аныктайт — бирок ал ташыган атрибуттар VPN саясатынын көбүнүн негизи.
# 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 сервери идентификация провайдеринин алдыңкы бети гана болушу мүмкүн
Адамдар RADIUS жана идентификация провайдери жөнүндө бир кутуча деп айтышат. Көп учурда андай эмес. RADIUS сервери Access-Request алып, жооп берүүдөн мурун башка нерседен сурайт — LDAP же Kerberos аркылуу Active Directory, жергиликтүү колдонуучу файлы же тышкы кызмат. LDAP же krb5 модулу менен FreeRADIUS, Windows NPS жана Cisco ISE ушул орунда турат.
Айырмачылык кайда кароону чечет. Четке кагылган сырсөз — RADIUS өткөрүп берген идентификация провайдеринин жообу. Убакыттын бүтүшү адатта RADIUSтан каталогго чейинки бөлүк: мөөнөтү өткөн bind эсеби, жеткиликсиз каталог же туура эмес backendге жөнөтүлгөн сурам. Колдонуучу атында домен суффикси болсо, сервер ошого жараша маршруттай алат, жана CORP\alice жана [email protected] катары жөнөтүлгөн ошол эле эсеп башка жерлерге түшүшү мүмкүн. Windows NPSте Security журналы уруксат үчүн 6272, баш тартуу үчүн 6273 жазат, бул чечим NPSтен келгенин билдирет.
Ишке ашпоону аны пайда кылган кадамдан окуңуз
Бир туташа албайм билдирүүсү төрт түрдүү ишке ашпоону камтыйт. Бир нерсени өзгөртүүдөн мурун симптомду аны пайда кылган кадамга дал келтириңиз.
| 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 |
Акыркы сап — адамдарды туура эмес топко жөнөткөн сап. Access-Accept каттоо маалыматтары кабыл алынганын билдирет; дарбаза колдонуучуну туура poolго койгонун же маршруттарды түрткөнүн билдирбейт. Топ атрибуттары дарбаза саясаты аларды окуганда гана маанилүү. Туура кирүү конок poolуна түшкөнүн көрдүм, анткени топторду салыштыруу RADIUS тарабында дарбаза текшерген атрибуттан башка атрибутка жөндөлгөн.
Бир кирүүнү башынан аягына чейин көзөмөлдөңүз
Бир сыноо эсебин жана бир дарбазаны тандаңыз, анан ошол эле аракетти төрт чекитте байкаңыз. RADIUS тарабында оңдоо ишин баштаңыз — freeradius -X сурамды жана ал тийген ар бир модулду басып чыгарат — дарбазанын аутентификация журналын көзөмөлдөңүз жана UDP алмашуу үчүн tcpdump иштетиңиз. Бир жолу туташып, төрт изди ирети менен окуңуз.
Көргүңүз келгени — макулдашуу: дарбаза күткөн колдонуучу жөнүндө сурады, RADIUS сервери күткөн backendди тандады, ал backend чечим кайтарды, жана жооптогу атрибуттар дарбаза колдонгон саясатка туура келет. Издер эң оболу айырмаланган жер — сиздин бузулуу сызыгыңыз. Эгер жоопто топ атрибуту жок болсо, маселе VPN профилинде эмес, RADIUS тарабында; эгер атрибут бар болуп, дарбаза аны этибарга албаса, маселе дарбаза саясатында.
Ошол жерде жүргөндө бир коопсуздук эскертүүсү. Жалпы сыр алмашууну коргойт, бирок атрибуттардын көбүн шифрлебейт. Эгер дарбаза менен RADIUS сервери ар кайсы сегменттерде болсо, ошол кадамды TLS аркылуу RADIUSка же жеке жолго коюңуз. Шифрленген колдонуучу туннели backend байланышы жөнүндө эч нерсе айтпайт.
Билетти жабуудан мурун төрт нерсени тастыктаңыз. Дарбаза RADIUS серверине чындыгында жөндөлгөн порт аркылуу жете алат. Жалпы сыр эки тарапта дал келет. RADIUS сервери дарбаза жөнөткөн колдонуучу атынын так формасын чечет. Кабыл алуу дарбаза саясатына керектүү атрибуттарды ташыйт. Төртөө тең аткарылса, дагы эле ишке ашпаган кирүү — аутентификация эмес, дарбаза саясатынын маселеси.