Различные «RequiredAuthentications2» для подсистем sshd и sftp

Различные «RequiredAuthentications2» для подсистем sshd и sftp

В настоящее время мы используем двухфакторную аутентификацию на наших серверах SSH, поэтому в нашем sshd_config есть «RequiredAuthentications2 publickey,keyboard-interactive» (publickey для ключа, keyboard-interactive — для двухфакторной аутентификации, которая обрабатывается через PAM).

Чтобы облегчить задачу нашим разработчикам, мы хотим отключить требование двухфакторной аутентификации для подсистемы SFTP.

Я уже искал что-то вроде «Match subsystem sftp» (вроде доступной «Match Group», где я мог бы впоследствии определить только «RequiredAuthentications2 publickey»), но, похоже, это невозможно.

Еще я хотел проверить PAM, есть ли возможность определить отдельную конфигурацию для подсистемы sftp (судя по всему, это невозможно, служба для pam всегда «ssh») или можно ли добавить в конфигурацию pam sshd что-то вроде «auth [success=1 default=ignore] pam_succeed_if.so quiet subsystem in sftp»

Есть какие-нибудь подсказки? (кроме настройки другого экземпляра sshd только для sftp с другими настройками)

решение1

Вместо того, чтобы пытаться ослабить безопасность с помощью группового правила, я бы использовал безопасность по умолчанию и ужесточил ее с помощью групповых правил. Вот пример, который требует двухфакторной аутентификации для users, но не sftp-users.

# Only these groups can connect
AllowGroups users sftp-users

Match Group users
    RequiredAuthenticatios2 publickey,keyboard-interactive

Match Group sftp-users 
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no

Я успешно прототипировал это в системе Ubuntu, моя страница руководства sshd_config указана AuthenticationMethodsвместо RequiredAuthenticatios1и RequiredAuthenticatios2в странице руководства системы CentOS. Эквивалентная строка была

    AuthenticationMethods publickey,password

Связанный контент