Diferentes "RequiredAuthentications2" para subsistema sshd e sftp

Diferentes "RequiredAuthentications2" para subsistema sshd e sftp

atualmente estamos usando uma autenticação de 2 fatores em nossos servidores SSH, então temos "RequiredAuthentications2 publickey,keyboard-interactive" em nosso sshd_config (publickey para a chave, teclado interativo é para o 2factor que é tratado via PAM)

Para facilitar as coisas para nossos desenvolvedores, queremos desabilitar o requisito 2factor para o subsistema sftp.

Já procurei por algo como "Match subsystem sftp" (como o 'Match Group' disponível onde poderia definir posteriormente apenas "RequiredAuthentications2 publickey", mas parece que não é possível.

Outra coisa que verifiquei foi verificar o PAM, se existe a possibilidade de definir uma configuração separada para o subsistema sftp (parece que isso não é possível, o serviço para pam é sempre 'ssh') ou se eu poderia ter algo em meu sshd pam conf como "auth [success = 1 default = ignorar] pam_succeed_if.so subsistema silencioso em sftp"

Alguma dica? (além de configurar outra instância sshd apenas para sftp com uma configuração diferente)

Responder1

Em vez de tentar diminuir a segurança com uma regra de grupo, eu usaria a segurança padrão e reforçaria as regras de grupo. Aqui está um exemplo que requer autenticação de dois fatores para users, mas não 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

Eu criei um protótipo com sucesso em um sistema Ubuntu, minha página de manual sshd_config especificada AuthenticationMethodsem vez da RequiredAuthenticatios1página RequiredAuthenticatios2de manual do sistema CentOS. A linha equivalente foi

    AuthenticationMethods publickey,password

informação relacionada