Вхід успішний, тунель піднімається, а користувач потрапляє до неправильної політики або взагалі до жодної. Ніщо в журналі FortiGate не повідомляє, що групи бракувало, бо з його боку автентифікація спрацювала, а зіставлення групи просто не запустилося. Ланцюг, який треба перевірити, містить три окремі назви, і зазвичай це не один і той самий рядок.

Три назви з трьома завданнями

Запишіть усі три, перш ніж торкатися будь-якої конфігурації, бо дві з них живуть у різних системах.

RecordIllustrative value
Directory membership checked by the RADIUS policyEngineering VPN users
Returned Fortinet-Group-Name stringvpn-engineering
FortiGate local access groupVPN-Engineering

Група каталогу — це те, що оцінює ваша політика RADIUS. Повернений атрибут — це значення всередині відповіді Access-Accept. Локальна група FortiGate — це контейнер, на який політика посилається за назвою. Плутанина будь-яких двох із них дає вхід, який працює, і авторизацію, яка не працює.

Де насправді виконується зіставлення

У своєму поясненні зіставлення груп RADIUS Fortinet зазначає Fortinet-Group-Name як типовий атрибут групи. FortiGate порівнює налаштований віддалений сервер і значення назви групи з тим, що несе відповідь, тобто порівняння йде з поверненим рядком, а не з відображуваною назвою вашої локальної групи.

Саме тому локальна група з назвою VPN-Engineering може стояти поруч із поверненим значенням vpn-engineering і не збігатися ні з чим. Регістр і написання в цьому порівнянні не косметика. Виберіть один рядок, використайте його у відповіді та посилайтеся на той самий рядок у правилі зіставлення шлюзу.

На FortiAuthenticator групу потрібно пов'язати з атрибутом і включити до відповідної політики служби RADIUS, увімкнувши керування поверненням атрибута групи там, де це застосовно.

Відповідь може бути успішною й без атрибута

Для NPS або іншого сервера RADIUS задайте в політиці умову групи каталогу, а потім налаштуйте підтримуваний атрибут відповіді. Успішна перевірка пароля сама створює Access-Accept, і Access-Accept без рядка групи — цілком допустима відповідь, яка на боці FortiGate нічого не авторизує. Це найпоширеніша форма проблеми.

Визначити групу — не те саме, що надіслати її. Це два кроки налаштування на двох різних екранах, і зазвичай виконується лише один із них.

Чому зіставлення з Any — це пастка

Зіставлення з віддаленою групою Any — законний дизайн, коли сервер RADIUS уже допускає саме ту сукупність, яка вам потрібна. Виберіть це делегування свідомо. Розширення зіставлення, щоб позбутися відсутнього атрибута, пропускає будь-який обліковий запис, який сервер RADIUS випадково прийме, включно з тими, яким доступ до VPN ніколи не передбачався. Симптом зникає, і контроль доступу тихо перестає існувати.

Якщо ви не можете назвати, кого сервер RADIUS має допускати, ви не готові до зіставлення з Any.

Зберігайте чотири записи для підтримки

Коли все ще не працює, зберіть чотири речі: вибрану політику RADIUS, фактично повернений атрибут групи, сервер FortiGate і значення, з яким його порівнювали, та отриману локальну групу. Ці чотири записи визначають місце збою, не розкриваючи паролі й не змінюючи членство в групах, щоб побачити, що станеться.

Перевірте один дозволений і один поза межами обліковий запис за реальним правилом і перевірте отриману політику та доступ до ресурсів, а також результат автентифікації. Лише ця пара скаже, чи робить зіставлення те, що ви думаєте.

Схожі статті