Настройка FortiGate для двухфакторной аутентификации через FreeRADIUS
Автор Dmitry Bukreev, Last modified by Dmitry Bukreev на 22 июля 2026 05:26 PM

Настройка FortiGate для двухфакторной аутентификации через FreeRADIUS

Введение

В данном руководстве описана настройка VPN-доступа на базе FortiGate с двухфакторной аутентификацией через FreeRADIUS в связке с Indeed AM. Используется протокол IPsec IKEv1 Aggressive Mode с XAuth.

Поддерживаемые методы аутентификации:

FreeRADIUS поддерживает протоколы PAP, CHAP, MS-CHAP, MS-CHAP-v2. В связке с Indeed AM работают следующие методы второго фактора:

  • Indeed Key Push — работает без ограничений
  • TOTP — работает без ограничений
  • MFA One-string — не поддерживается в данной конфигурации

1. Предварительные требования

  • Установленный и настроенный Indeed Access Manager 9.4 и выше
  • Установленный и настроенный Indeed Key Server 9.4 и выше
  • Установленный и настроенный Indeed FreeRADIUS Extension 9.4 и выше
  • Настроенные провайдеры аутентификации
  • FortiGate с FortiOS 8.0 и выше

1.1 Настройки со стороны MC

Для регистрации FortiGate в качестве приложения выполните следующие шаги в Консоли Администратора:

  • Войдите в Консоль Администратора Indeed AM (https://<server_fqdn>/am/mc)
  • Перейдите в раздел ПриложенияСоздать приложение, введите название приложения и нажмите Создать

  • Перейдите на вкладку RADIUS, укажите IP-адрес (или подсеть) FortiGate и нажмите Сохранить

  • Перейдите в Политики → выберите нужную политику → ПриложенияДобавить приложение → выберите созданное приложение → Добавить

  • Откройте созданное приложение, выберите метод аутентификации из доступных и нажмите Сохранить


2. Настройка FortiGate

Все настройки выполняются через CLI FortiGate. Доступ к CLI осуществляется через веб-интерфейс (кнопка >_ в правом верхнем углу) или по SSH.

2.1 Добавление Radius сервера

config user ldap edit "FreeRADIUS" set server "192.168.10.60" set secret "RadiusSecret" set auth-type pap next end

При добавлении RADIUS сервера указывается его IP адрес (set server) и общий секрет (set secret).

Параметр auth-type определяет протокол аутентификации между FortiGate и RADIUS сервером. Доступные значения: pap, chap, ms_chap, ms_chap_v2. В данной инструкции используется pap.

Проверьте подключение к Radius серверу:

diagnose test authserver radius FreeRADIUS <username> <password>

2.2 Создание группы пользователей

config user group
    edit "VPN_users"
        set member "FreeRADIUS"
    next
end

2.3 Настройка IPsec Phase 1 (IKEv1 Aggressive + XAuth)

config vpn ipsec phase1-interface edit "RA_VPN" set type dynamic set interface "port1" set ike-version 1 set mode aggressive set peertype any set net-device disable set mode-cfg enable set proposal des-md5 des-sha1 set dpd on-idle set dpd-retryinterval 10 set dpd-retrycount 3 set keylife 28800 set dhgrp 20 set xauthtype auto set authusrgrp "VPN_users" set ipv4-start-ip 10.10.10.100 set ipv4-end-ip 10.10.10.200 set ipv4-netmask 255.255.255.0 set dns-mode auto set unity-support disable set psksecret "YourPSKSecret" next end

Примечание: алгоритмы шифрования ограничены бесплатной (Evaluation) лицензией FortiGate.

При наличии полной лицензии рекомендуется использовать более стойкие алгоритмы, например aes256-sha256.

2.4 Настройка IPsec Phase 2

config vpn ipsec phase2-interface
    edit "RA_VPN_p2"
        set phase1name "RA_VPN"
        set pfs enable
        set dhgrp 20
        set keylifeseconds 3600
    next
end

2.5 Создание сетевой политики

config firewall policy
    edit 0
        set name "VPN_policy"
        set srcintf "RA_VPN"
        set dstintf "port1"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set groups "VPN_users"
        set nat enable
    next
end

3. Настройка FortiClient (десктоп)

Создайте новое VPN подключение типа IPsec VPN со следующими параметрами:

Основные:

  • Удалённый шлюз: <IP адрес FortiGate>
  • Метод аутентификации: Общий ключ (Pre-shared Key)
  • Ключ: значение из psksecret
  • Аутентификация (XAuth): Запрашивать

Расширенные настройки → IKE:

  • Версия: Version 1
  • Encapsulation: IKE UDP Port 500

Фаза 1:

  • Шифрование: DES, Аутентификация: MD5
  • Шифрование: DES, Аутентификация: SHA1
  • DH Группа: 20

Фаза 2:

  • Шифрование: DES, Аутентификация: SHA1
  • PFS: включён, DH Группа: 20


4. Проверка подключения

После подключения через FortiClient пользователю будет предложено ввести логин и пароль (XAuth). FreeRADIUS передаст запрос в Indeed AM, который в зависимости от настроенного второго фактора:

  • Push — пользователь получит уведомление на телефон и подтвердит вход
  • TOTP — FortiClient отобразит поле Answer после удачного ввода логина и пароля, пользователь введёт код из приложения-аутентификатора

События MC при удачном подключении к Fortigate VPN

Проверка активных туннелей:
get vpn ipsec tunnel summary
diagnose vpn tunnel list

Диагностика аутентификации:
diagnose debug reset
diagnose debug app ike 255
diagnose debug app fnbamd 255
diagnose debug enable

После попытки подключения:
diagnose debug disable

(0 голос(а))
Эта статья полезна
Эта статья бесполезна