SSH quebrado para o usuário sem shell

5

Acho que minha caixa do Ubuntu foi invadida e o hacker tentou enviar e-mail de spam (pela porta 25) com meu computador.

Parte de /var/log/auth.log é extraída como abaixo (alterei o usuário real para myuser e algum endereço IP externo em 1.2.3.x ):

Feb 20 06:07:12 ubuntu systemd-logind[954]: New session 77 of user myuser.
Feb 20 06:08:22 ubuntu sshd[21251]: error: connect_to 1.2.3.4 port 25: failed.
Feb 20 06:08:22 ubuntu sshd[21251]: error: connect_to 1.2.3.5 port 25: failed.
Feb 20 06:08:22 ubuntu sshd[21251]: error: connect_to 1.2.3.5 port 25: failed.
Feb 20 06:08:22 ubuntu sshd[21251]: error: connect_to 1.2.3.6 port 25: failed.
...(thousands of similar lines follows)...

Como a mensagem de erro foi gerada por sshd , suponho que o hacker tenha obtido acesso por meio de login no SSH como myuser . Seu respectivo registro em /etc/passwd é como abaixo:

myuser:x:1003:1004:myuser:/home/myuser:/bin/false

Suponho que o hacker não poderia fazer login como o shell de myuser is /bin/false , ou seja, ele deve ser expulso imediatamente, mesmo que ele possa efetuar login. Não consigo fazer login myuser por meio do PuTTY bem. O registro de login do meu próprio login é algo como:

Feb 22 10:26:58 ubuntu sshd[3653]: pam_unix(sshd:session): session opened for user myuser by (uid=0)
Feb 22 10:26:58 ubuntu systemd-logind[734]: New session 2 of user myuser.
Feb 22 10:26:58 ubuntu sshd[3653]: pam_unix(sshd:session): session closed for user myuser

Então, obviamente, há algo errado com minhas configurações e / ou /bin/false não está funcionando no arquivo /etc/passwd . O que há de errado com minha configuração atual e como devo corrigir a lacuna?

    
por Kenneth L 22.02.2017 / 09:22

1 resposta

5

Este artigo em commandline.ninja sobre / bin / false, / sbin / nologin e SSH parece responder à sua pergunta.

Resumo executivo

Um hacker pode ignorar a proteção de usar /bin/false como o shell desse usuário usando o encaminhamento de porta por meio do comando ssh , como:

[user@panel~] ssh -N [email protected] -L 2525:127.0.0.1:25

Correções temporárias

Desativar o encaminhamento de porta

  

O mais simples e mais drástico, se possível em seu cenário, é   simplesmente desabilite o encaminhamento de porta TCP no arquivo de configuração sshd   ( /etc/ssh/sshd_config em muitos sistemas):

AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Bloquear conta / senha do usuário

  • Edite /etc/shadow e defina a senha do usuário como *
  • Confirme que não existe nenhuma chave SSH para este usuário em seu sistema.

Senha de sombra ter * como a senha criptografada em /etc/shadow significa que a conta está bloqueada, o usuário não conseguirá fazer login via autenticação de senha mas outros métodos (por exemplo, chave SSH) ainda poderão ser permitidos .

Mais informações podem ser encontradas em commandline.ninja sobre / bin / false, / sbin / nologina e SSH .

    
por Yaron 22.02.2017 / 09:30