Настройка 2FA для Mac OS
Автор Nikita Kim, Last modified by Nikita Kim на 01 августа 2024 03:59 PM

Оглавление

  1. Предварительные требования
  2. Настройка на стороне NPS сервера и Indeed AM
  3. Установка и настройка модуля PAM
  4. Включение PAM в SSH
    1. Настройка 2fa в SSH
    2. Настройка 1fa в SSH
  5. Включение PAM для локального входа
    1. Настройка 2fa для локального входа
    2. Настройка 1fa для локального входа
  6. Включение PAM для VNC подключения
    1. Настройка VNC подключения для Mac OS
    2. Настройка 2fa для VNC подключения
    3. Настройка 1fa для VNC подключения

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

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

  1. В оснастке Network Policy Server необходимо создать новый RADIUS Client, указав имя RADIUS Client’а, IP-адрес и общий секрет:
  2. Нужно также создать сетевую политику с необходимыми для Вас условиями подключения:



  3. Создадим новое приложение. В MC консоли, во вкладке “Приложения” нажмите кнопку “Добавить приложение”, в появившемся окне выберите модуль интеграции NPS RADIUS Extension и дайте название, нажмите кнопку “Создать”:




  4. Откройте созданное приложение, укажите IP-адрес RADIUS Client’а (тот же самый IP-адрес, что мы указывали в оснастке NPS) и нажмите сохранить:



  5. Далее откройте в MC консоли вкладку “Политики”, выберите политику (либо, если её нет, то создайте, а затем выберите её), нажмите кнопку “Добавить приложение” и выберите созданное ранее приложение:




  6. Во вкладке “Область действия” добавьте пользователей (можно также добавить группу из AD), которые в дальнейшем будут аутентифицироваться через Indeed AM:


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

  1. Выполните установку инструментов командной строки XCode:

    xcode-select --install

  2. Выполните установку менеджера сторонних пакетов HomeBrew:

    $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  3. Загрузите программу wget:

    $brew install wget

  4. Загрузите исходный код модуля pam_radius_auth:

    $ wget https://github.com/FreeRADIUS/pam_radius/archive/release_2_0_0.tar.gz
    $ tar -xzvf release_2_0_0.tar.gz

  5. Скомпилируйте модуль:

    $ cd pam_radius-release_2_0_0
    $ ./configure
    $ make

  6. Скопируйте модуль в /usr/local/lib:

    $ cp pam_radius_auth.so /usr/local/lib

  7. Скопируйте файл конфигурации модуля в /etc:

    $ sudo cp /usr/local/lib/pam_radius-release_2_0_0/pam_radius_auth.conf /etc/

  8. Настройте подключение к серверу NPS с модулем NPS RADIUS Extension в файле конфигурации модуля:

    $ sudo nano /etc/pam_radius_auth.conf



    В файле конфигурации лежит секретный ключ. Рекомендуем настроить права доступа к файлу только для учетной записи root:

    $ sudo chmod 0600 /etc/pam_radius_auth.conf

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

  1. Сделайте backup конфигурационного файла “sshd_config:

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

  2. Откройте конфигурационный файл “/etc/ssh/sshd_config” и раскомментируйте строки:

    AuthenticationMethods keyboard-interactive:pam
    ChallengeResponseAuthentication yes
    UsePAM yes



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

  1. Сделайте backup конфигурационного файла “sshd”:

    sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.backup

  2. Добавьте в конфигурационный файл следующую строку:

    auth required /usr/local/lib/pam_radius_auth.so conf=/etc/pam_radius_auth.conf



  3. В MC консоли, во вкладке “Политики”, откройте политику, а затем созданное ранее приложение. В нём выберите метод аутентификации “Indeed Key”: