Recentemente, notei vários ataques ssh de força bruta no meu servidor que executam o Ubuntu e o OpenShServer. Além de tomar algumas contramedidas, naturalmente me tornei extremamente cuidadoso. Quando tentei entrar no servidor esta manhã, recebi o aviso de spoofing do DNS:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ECDSA host key for somehost.com has changed,
and the key for the corresponding IP address xx.xx.xxx.xxx
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
O endereço IP provavelmente mudou, isso não seria surpreendente. Mas eu não mudei a configuração do ubuntu recentemente. No entanto, eu reinstalei o openssh-server executando
sudo apt-get remove openssh-server
e reinstalá-lo com
sudo apt-get install openssh-server
Isso me faz pensar que a chave do host depende apenas do diretório / etc / ssh /. No meu caso, parece assim:
drwxr-xr-x 2 root root 4096 Sep 3 19:12 .
drwxr-xr-x 160 root root 12288 Sep 27 08:41 ..
-rw-r--r-- 1 root root 300261 Aug 11 18:24 moduli
-rw-r--r-- 1 root root 1756 Aug 11 18:24 ssh_config
-rw-r--r-- 1 root root 2542 Sep 3 19:09 sshd_config
-rw------- 1 root root 668 Apr 21 15:27 ssh_host_dsa_key
-rw-r--r-- 1 root root 606 Apr 21 15:27 ssh_host_dsa_key.pub
-rw------- 1 root root 227 Apr 21 15:27 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 178 Apr 21 15:27 ssh_host_ecdsa_key.pub
-rw------- 1 root root 411 Apr 21 15:27 ssh_host_ed25519_key
-rw-r--r-- 1 root root 98 Apr 21 15:27 ssh_host_ed25519_key.pub
-rw------- 1 root root 1675 Apr 21 15:27 ssh_host_rsa_key
-rw-r--r-- 1 root root 398 Apr 21 15:27 ssh_host_rsa_key.pub
-rw-r--r-- 1 root root 338 Sep 3 19:12 ssh_import_id
Hoje é 27 de setembro, então todos os arquivos ssh_host * não foram alterados desde abril. Não sei exatamente se a chave pública dos usuários influencia a chave do host. Então, só para ter certeza, eu verifiquei o diretório ssh do usuário ~ / .ssh /, que se parece com isto:
drwx------ 2 user user 4096 Sep 5 18:41 .
drwxr-xr-x 49 user user 4096 Sep 27 08:43 ..
-rw------- 1 user user 748 Apr 21 19:20 authorized_keys
-rwx------ 1 user user 3326 Jan 21 2016 id_rsa
-rw-rw-rw- 1 user user 748 Jan 21 2016 id_rsa.pub
-rw-r--r-- 1 user user 2726 Mai 3 13:00 known_hosts
Portanto, a chave pública do usuário também não mudou.
Pergunta: Há mais alguma coisa que influencie a chave do host ou a impressão digital do host? Qualquer coisa que eu não esteja levando em conta? É possível que a reinstalação do openssh-server tenha alterado a chave do host? Se sim, onde estão os arquivos atualizados?
[EDITAR]
Enquanto isso, verifiquei a impressão digital do ECDSA no próprio servidor executando (consulte this para detalhes)
$ nmap localhost --script ssh-hostkey
e a impressão digital corresponde àquela mostrada no aviso de falsificação. Portanto, parece que não o servidor mudou, mas sim o arquivo known_hosts na máquina que eu estava usando para se conectar ao servidor. Talvez Germar esteja certo e o endereço IP tenha correspondido a um servidor ao qual me conectei anteriormente. Ainda não sei exatamente por que recebi o aviso de spoofing. Mas, a menos que o comando nmap também não seja falsificado (suponho que não seja), eu deveria ter uma conexão segura.