Настройка 2FA для Astra Linux
Автор Vladislav Fomichev, Last modified by Sanal Badzhaev на 07 марта 2025 05:36 PM

Оглавление

  1. Настройка на стороне NPS сервера и Indeed AM
    1. Настройка 2fa для входа в Astra Linux
    2. Настройка 1fa для входа в Astra Linux

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

  • Установленный и настроенный Indeed AM 8.2.2 и выше.
  • Установленный и настроенный Indeed AM NPS RADIUS Extension.
  • Установленные провайдеры, в данной инструкции используется Indeed AM Software TOTP
  • Для использования аутентификации с помощью Push также требуется и Indeed Key Server.
  • Машина с OC Astra в домене.

Настройка на стороне Indeed AM NPS RADIUS Extension

  1. В оснастке Network Policy Server необходимо создать новый RADIUS Client, указав имя RADIUS Client’а, IP-адрес или подсеть (например ip/24) и общий секрет:
  2. Нужно также создать сетевую политику с необходимыми параметрами подключения:
  3. Создадим новое приложение. В Management Console(далее - MC), во вкладке “Приложения” нажмите кнопку “Добавить приложение”, в появившемся окне, выберите модуль интеграции NPS RADIUS Extension и дайте название, нажмите кнопку “Создать”:
  4. Откройте созданное приложение, укажите IP-адрес RADIUS Client’а или подсеть (например ip/24) и нажмите "Сохранить":
  5. Далее во вкладке “Политики”, выберите политику (если её нет, то создайте, а затем выберите её), нажмите кнопку “Добавить приложение” и выберите созданное ранее приложение:
  6. Далее необходимо выбрать метод аутентификации и сохранить настройку:
  7. Во вкладке “Область действия” добавьте пользователей на которых будет распространятся данная политика:
  8. На сервере NPS, настроить политику Challenge-Response: Сообщение пользователю:

Подключение репозитория Debian

  1. Выполните обновление списков пакетов: sudo apt update
  2. На текущий момент Astra Linux не имеет собственного пакета PAM(Pluggable Authentication Modules), поэтому необходимо подключить репозиторий Debian. Подключение репозиториев - это нормальная практика, рекомендуемая в официальной документации Astra: ссылка
  3. Установите пакет debian-archive-keyring, содержащий ключи к репозиториям Debian: sudo apt install debian-archive-keyring
  4. Добавить описание репозиториев, например, в файл /etc/apt/sources.list.d/repos.list:
    • Для Astra Linux Special Edition 1.8:
    • deb https://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
    • Для Astra Linux Common Edition 2.12:
    • deb https://archive.debian.org/debian/ stretch main contrib non-free
  5. После подключения репозитория обновите пакеты: sudo apt update

    Установка и настройка модуля PAM

    1. После успешного подключения репозитория Debian выполните установку пакета “libpam-radius-auth”: sudo apt install libpam-radius-auth
    2. Настройте подключение к Radius серверу. Откройте и отредактируйте файл, где задается подключение к Radius серверу: sudo  nano /etc/pam_radius_auth.conf
    3. Укажите в файле IP адрес сервера, общий секрет и таймаут. Пример настройки: 192.168.1.2 secret 60
    4. Включите аутентификацию через модуль PAM для требуемых сценариев.

    Включение PAM в SSH

    В сценарии SSH поддерживаются все методы аутентификации, которые поддерживает Indeed AM NPS Extension. Также можно настроить цепочку аутентификации с OTP таким образом, чтобы запрос OTP был первым. 

    Настройка 2fa в SSH

    1. Откройте для редактирования файл с настройками SSH: sudo nano /etc/ssh/sshd_config
    2. В файле включите следующие настройки:
      KbdInteractiveAuthentication yes
      UsePAM yes
    3. Откройте для редактирования файл с настройкой SSH для модуля PAM: sudo nano /etc/pam.d/sshd
    1. Для включения 2FA достаточно добавить с требованием использования модуля PAM и отключением аутентификации по умолчанию:
      #@include common-auth
      auth required pam_radius_auth.so
    2. При такой настройке 2FA будет запрашиваться для всех пользователей, в том числе и локальных, что будет вызывать ошибку, т.к. таких пользователей в домене нет. Чтобы локальные пользователи или определенные пользователи на машине могли выполнять подключение в обход PAM модуля, рекомендуется настроить исключения, например, для группы. Исключения можно настроить с помощью модуля “pam_succeed_if.so”.
      auth [success=2 default=ignore] pam_succeed_if.so user notingroup astra-admin
      auth [success=ok default=ignore] pam_localuser.so
      auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
      auth required pam_radius_auth.so
      1. В первой строке задается правило - если пользователь не состоит в группе “astra-admin”, то 2 правила после будут пропущены. 
      2. Если пользователь состоит в группе, то будут использоваться модули для локальной аутентификации.
      3. Более подробно про настройку правил по ссылке.
    3. Сохраните изменения в файле.
    4. Перезапустите службу ssh.
    sudo systemctl restart sshd.service

    Проверьте подключение по SSH. В данном примере настроена аутентификация с использованием Software OTP:


    Настройка цепочки OTP + пароль и 1FA

    • Откройте файл с настройками SSH для PAM: sudo nano /etc/pam.d/sshd
    • После строки подключения модуля добавьте строку подключения модуля базовой аутентификации: @include common-auth
      1. При такой настройке будет отрабатывать логика: ОТП + Пароль.
    • Перезапустите службу ssh.
    sudo systemctl restart sshd.service
    • Если требуется 1FA аутентификация, то подключать модуль common-auth не требуется.
    • В данной конфигурации, требуется чтобы у пользователя была настроена персонализация.
    • В MC, в соответствующей политике, в RADIUS приложении выберите нужный метод аутентификации (Программный генератор TOTP).
    • Проверьте работу модуля.


    Включение PAM для локального входа

    Настройка 2fa для входа в Astra Linux

    В Astra SE с версии 1.8 и CE с версии 2.12 можно использовать все методы аутентификации, которые поддерживает Indeed AM NPS Extension.

      1. Откройте для редактирования файл с настройкой локального входа для модуля PAM: sudo nano /etc/pam.d/fly-dm
      2. Добавьте настройки подключения с использованием PAM и исключение для группы “astra-admin”.
        auth [success=2 default=ignore] pam_succeed_if.so user notingroup astra-admin
        auth [success=ok default=ignore] pam_localuser.so
        auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
        auth required pam_radius_auth.so
      3. Так же данные параметры необходимо добавить в файл экрана блокировки: sudo nano /etc/pam.d/fly-wm
      4. Проверьте работу модуля.
      5. При вводе данных доменного пользователя подключение выдаст запрос, на ввод дополнительного фактора.

      Настройка 1fa для входа в Astra Linux

      Данная настройка актуальна для версии Indeed AM 8.2 и выше.
      В Astra Linux можно заменить ввод доменного пароля на одноразовый код.

        1. Откройте для редактирования файл с настройкой локального входа для модуля PAM: sudo nano /etc/pam.d/fly-dm.
        2. Закомментируйте строку @include common auth.
        3. Под строкой @include common-password добавьте настройки подключения с использованием PAM и исключение для группы “astra-admin”:
          auth [success=2 default=ignore] pam_succeed_if.so user notingroup astra-admin
          auth [success=ok default=ignore] pam_localuser.so
          auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
          auth required pam_radius_auth.so
        4. Так же данные параметры необходимо добавить в файл экрана блокировки: sudo nano /etc/pam.d/fly-wm
        5. В данной конфигурации, требуется чтобы у пользователя была настроена персонализация.
        6. В MC, в соответствующей политике, в RADIUS приложении выберите нужный метод аутентификации (Программный генератор TOTP).

      Включение PAM для RDP подключения

      В данной инструкции используется модуль xrdp для RDP подключения. Данный модуль не поддерживает отображение окна для ввода OTP.

      Поэтому при настройке 2FA, использование методов аутентификации с вводом ОТП технически невозможно. В данном сценарии возможно использование только Push.

      • Откройте для редактирования файл с настройкой xrdp для модуля PAM: sudo nano /etc/pam.d/xrdp-sesman
      • Добавьте настройки подключения с использованием PAM и исключение для группы “astra-admin”. 
      auth [success=2 default=ignore] pam_succeed_if.so user notingroup astra-admin
      auth [success=ok default=ignore] pam_localuser.so
      auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
      auth required pam_radius_auth.so
      • Сохраните изменения и перезапустите службу xrdp: sudo systemctl restart xrdp
      • Проверьте работу модуля

      Если требуется 1FA аутентификация, а в качестве аутентификатора использовать метод ОТП, то Вам необходимо:

      1. В MC, в соответствующей политике, в RADIUS приложении выберите нужный метод аутентификации (Программный генератор TOTP).
      2. В место доменного пароля, необходимо ввести код из приложения.

      Дополнительно

      Персонализация - это зашифрованный доменный пароль пользователя, записанный в базу данных AM.

      Для этого необходимо авторизоваться под данным пользователем в консоль UC, нажать на провайдер "Windows Password", выбрать "Зарегистрировать" и ввести повторно Windows Password.



          Вложения 
           
           fly-dm (1.02 кБ)
           sshd (1.06 кБ)
           xrdp-sesman (0.47 кБ)
           sshd_config (0.28 кБ)
          (4 голос(а))
          Эта статья полезна
          Эта статья бесполезна

          Портал технической поддержки компании Индид