it-swarm-pt.tech

SSH quebrado para o usuário sem shell

Eu acho que minha caixa do Ubuntu foi quebrada e o hacker tentou enviar e-mail de spam (através da porta 25) com o meu computador.

Parte do /var/log/auth.log é extraída como abaixo (eu mudei o usuário real para myuser e algum endereço IP externo para 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 deveria ter logado como o Shell para myuser é /bin/false, ou seja, ele deve ser expulso imediatamente, mesmo que ele possa efetuar login. Eu não consigo logar myuser através do PuTTY também. O registro de login para o 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?

5
Kenneth L

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

Sumário executivo

Um hacker pode ignorar a proteção de usar /bin/false como o Shell para esse usuário usando encaminhamento de porta através do comando ssh como:

[[email protected]~] 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 desabilitar o encaminhamento de porta TCP em seu arquivo de configuração sshd (/etc/ssh/sshd_config em muitos sistemas):

AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Bloquear conta/senha de 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.

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


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

5
Yaron