Evitar o upload de chaves ssh usando vsftp

1

Estou configurando o vsftpd para uploads de um dispositivo na minha rede. O FTP é necessário por motivos herdados. Isso é algo que eu não posso mudar, não importa o quanto eu gostaria de mudar. Então, por favor, não sugira que eu não use ftp! Essa interface é gravada no firmware de um dispositivo com o qual devo fazer interface e não posso alterar ou controlar.

Meu problema: Eu quero impedir o acesso ao shell (ou qualquer outro tipo de acesso além da transferência de arquivos) na medida do possível.

Estou configurando um shell de /usr/sbin/nologin . No interesse da defesa em profundidade (para mitigar alterações acidentais no shell, por exemplo), estou interessado em quaisquer outras idéias que você possa ter.

Por exemplo, estou pensando em criar um diretório .ssh no diretório pessoal da conta, de propriedade root:root mode 0550, com o bit imutável definido. Isso seria impedir que a conta do dispositivo configurasse o acesso SSH por conta própria.

Existe uma maneira melhor de impedir que as chaves SSH sejam carregadas via vsftpd? Existem outros arquivos ou diretórios que você "proibiria" de serem carregados no interesse da segurança?

    
por tmd 11.06.2013 / 07:54

1 resposta

2

Eu daria um passo atrás e desativaria o SSH para essa (s) conta (s).

Em seu sshd_config , você pode listar quais usuários podem fazer login via SSH ou listar quais usuários não são permitidos. As palavras-chave relevantes são

AllowGroups
         This keyword can be followed by a list of group name patterns, separated by
         spaces.  If specified, login is allowed only for users whose primary group or
         supplementary group list matches one of the patterns.
AllowUsers
         This keyword can be followed by a list of user name patterns, separated by
         spaces.  If specified, login is allowed only for user names that match one of
         the patterns.

e suas contrapartes DenyUsers e DenyGroups .

Você também pode confundir o problema alterando o nome do arquivo de chaves autorizadas ssh, para que, mesmo que alguém enviasse um arquivo para .ssh/authorized_keys , o SSH não usasse esse arquivo. A palavra-chave relevante é

AuthorizedKeysFile
         Specifies the file that contains the public keys that can be used for user
         authentication.  

Ou você pode optar por rejeitar a autenticação por chave ssh, embora eu geralmente não recomende isso.

Adição:

Você também pode usar a opção deny_file do vsftpd para limitar os uploads de arquivos dentro do ftpd, e eu devo aconselhá-lo a dar uma olhada em sua configuração pam para impedir que usuários efetuem login através de outros métodos além do SSH. / p>     

por 11.06.2013 / 11:31