Eu tenho esta cadeia de entrada de log (e semelhante repetidamente) no meu servidor:
Nov 24 07:38:59 server sshd[28676]: SSH: Server;Ltype: Version;Remote: 54.38.81.12-40482;Protocol: 2.0;Client: OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
Nov 24 07:38:59 server sshd[28676]: SSH: Server;Ltype: Kex;Remote: 54.38.81.12-40482;Enc: aes128-cbc;MAC: [email protected];Comp: none [preauth]
Nov 24 07:39:00 server sshd[28676]: SSH: Server;Ltype: Authname;Remote: 54.38.81.12-40482;Name: anonymous [preauth]
Nov 24 07:39:00 server sshd[28676]: Accepted none for anonymous from 54.38.81.12 port 40482 ssh2
Nov 24 07:39:01 server sshd[28681]: refused local port forward: originator 127.0.0.1 port 46338, target 167.114.159.146 port 80
Nov 24 07:39:01 server sshd[28681]: refused local port forward: originator 127.0.0.1 port 47552, target 167.114.159.146 port 80
...
Nov 24 07:39:19 server sshd[28681]: Disconnected from 54.38.81.12
Tenho certeza de que este foi um ataque de hackers, mas como saber se foi bem-sucedido? Especialmente incerto é a mensagem “Aceito nenhum por anônimo”. Isso significa que eu tenho uma conta de usuário chamada anônimo que tem permissão para entrar sem senha e o hacker logado como anônimo e tentou encaminhar algumas portas locais (e pode haver alguns que foram encaminhados com sucesso para não serem logados)?
Tentou fazer login como anônimo de uma forma padrão da rede local ( ssh anonymous@server
), mas recebeu uma mensagem permissão negada .
Se eu não tiver sido hackeado, como me proteger contra esse tipo de ataque? Já instalou fail2ban por causa de outras entradas de log suspeitas, mas isso aconteceu após a instalação.
Editar 1:
Verificou o arquivo /etc/ssh/sshd_config
e descobriu que PermitEmptyPasswords
foi definido como no
. Então, isso deve ser OK.
Editar 2:
Eu não tenho experiência com o sistema de arquivos /proc
, mas foi o que descobri:
user@server:~$ sudo file /proc/5931/exe
/proc/5931/exe: broken symbolic link to /usr/bin/sshd
user@server:~$ sudo which sshd
/usr/sbin/sshd
OK, o utilitário file
diz que é um link simbólico quebrado, mas se eu tentar sudo hexdump /proc/5931/exe
, obtenho os dados. Isso é normal?
Editar 3:
Agora eu sei qual é o motivo de Editar 2. Eu misturo dois sistemas juntos. Eu corro um Debian Stretch chrooted em um Synology NAS. E existem processos tanto do Debian quanto do Synology DSM no sistema de arquivos / proc. Cada um dos sistemas tem outro local do executável sshd.
Editar 4:
Isso é o que o less /proc/*/cmdline
mostra:
/usr/bin/sshd^@
sshd: user [priv]
sshd: user@pts/4^@
/usr/sbin/sshd^@
sshd: user [priv]
sshd: user@pts/3^@
Editar 5:
Sei que o que é mostrado aqui não é o login suspeito em si. (Substitua user
pelo meu nome de usuário (anonimiza completamente essa saída).) O problema é que eu preciso capturar o processo enquanto o usuário anônimo está logado. Ele desconecta de repente para que eu possa veja o processo ao vivo. Como forjar uma armadilha para que eu possa reagir ao login do usuário anônimo ?
Percebeu que o usuário anônimo está presente apenas no sistema Synology DSM. É possível que os logs do sistema DSM sejam escritos também no Debian? Tentei desativar os serviços FTP e SFTP porque esse usuário pertence ao grupo ftp , mas o usuário permanece lá. Não há nem o comando passwd
nem usermod
no sistema DSM, por isso não sei como desativar o acesso para esse usuário. anônimo tem seu shell configurado como /sbin/nologin
, portanto, não deve ser possível fazer login via SSH e tentar encaminhar o canal.
Editar 6:
Examinou a configuração do SSH no sistema Synology DSM. Bem, houve algumas configurações que eu mudei:
#PermitEmptyPasswords no
- > sem comentário
# allow the use of the none cipher
#NoneEnabled no # uncommented