Отключите модуль PAM для группы

Я недавно включил двухфакторную аутентификацию с помощью аутентификатора Google на моем сервере SSH. Однако я теперь сталкиваюсь с проблемой:

У меня есть другая группа пользователей на моем сервере, который я использую для SFTP, но та группа больше не может войти в систему, с тех пор 2FA не настраивается для пользователей в группе. Действительно ли возможно отключить модуль аутентификатора Google для той группы? Включение его для пользователей в группе не является опцией, потому что многочисленные пользователи будут использовать эту учетную запись.

PS: Я использую openssh-server

9
задан 27 December 2016 в 03:52

3 ответа

Можно использовать pam_succeed_if модуль (см. страницу руководства), перед pam_google_authenticator для пропуска этой части для группы:

# the other authentication methods, such as @include common-auth
auth [success=1 default=ignore] pam_succeed_if.so user ingroup group
auth required pam_google_authenticator ...
12
ответ дан 23 November 2019 в 04:57

Некоторые клиенты SFTP могут обработать 2FA. Например, я использую 2FA с FileZilla и WinSCP, и они работают. Также у меня есть аутентификация ssh-ключа установки, и она работает рядом с 2FA.

Однако Ваш вопрос интересен, и я сделал краткий обзор. Я нашел этот ответ .

Так, это возможно (и легко) выполнять отдельные ssh экземпляры. Я уже тестируюсь это.

  1. Делают отдельные копии sshd_config файл.

    $ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_pwd
    $ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_2fa
    
  2. Редактирование эти новые config файлы. Одной из вещей, которые необходимо изменить, является shh порт. Согласно примеру:

    2.a) sshd_config_pwd определенные строки:

    Port 1022
    ...
    PasswordAuthentication yes
    ChallengeResponseAuthentication no
    UsePAM no
    

    2.b) sshd_config_2fa определенные строки:

    Port 2022
    ...
    PasswordAuthentication no
    ChallengeResponseAuthentication yes
    UsePAM yes
    
  3. Открывают необходимые порты в брандмауэр. Согласно примеру:

    $ sudo ufw limit 1022
    $ sudo ufw limit 2022
    
  4. Выполнение новые ssh экземпляры:

    $ sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_pwd
    $ sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_2fa
    

Вот именно.

1
ответ дан 23 November 2019 в 04:57

Следующее сделает двухфакторную аутентификацию Google обязательной для всех пользователей
,кроме пользователей, принадлежащих к группе sudo и admin
(это означает, что если у пользователя из группы sudo или admin не настроена двухфакторная аутентификация, она будет аутентифицировать его/ее на основе их открытого ключа):

Файл: /etc/pam.d/sshd

auth required pam_google_authenticator.so nullok
auth optional pam_succeed_if.so user ingroup sudo
auth optional pam_succeed_if.so user ingroup admin

Файл: /etc/ssh/sshd_config

AuthenticationMethods publickey,keyboard-interactive
UsePAM yes
ChallengeResponseAuthentication yes

Результаты:

          |  Belongs to sudo or  |  Has 2FA Already Setup      |  Authentication Result
          |  admin group         |  in ~/.google_authenticator | 
----------+----------------------+-----------------------------+------------------------
User A    |          NO          |       NO                    | DENIED LOGIN UNTIL 2FA IS SETUP
User B    |          YES         |       NO                    | CAN LOGIN (PRIVATE/PUBLIC KEY USED)

User C    |          NO          |       YES                   | CAN LOGIN (PRIVATE/PUBLIC KEY AND 2FA USED)

User D    |          YES         |       YES                   | CAN LOGIN (PRIVATE/PUBLIC KEY AND 2FA USED)

Согласно документации Google Authenticator README.md:

nullok

PAM требует хотя бы одного ответа SUCCESS от модуля, и nullok заставляет этот модуль сказать IGNORE. Это означает, что если эта опция используется, по крайней мере один другой модуль должен сказать УСПЕХ. Один из способов сделать это — добавить требуемую аутентификацию pam_permit.so в конец конфигурации PAM.

Это делает использование nullok здесь безопасным.

0
ответ дан 22 April 2020 в 14:36

Другие вопросы по тегам:

Похожие вопросы: