Различные отпечатки ssh на сервере. (MITM атака?)
Когда я пытаюсь подключиться к моему серверу в Германии с моего британского ноутбука, я получаю:
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.
.....
Я удалил соответствующую строку из моего ~/.ssh/known_hosts, а затем снова ssh'ed. На сервере (через терминал ssh) я выполняю:
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
затем с моего ноутбука я делаю:
ssh-keyscan -p 22 -t rsa my_domain_or_ip.com > /tmp/ssh_host_rsa_key.pub
ssh-keygen -l -f /tmp/ssh_host_rsa_key.pub
Когда я сопоставляю результаты, я вижу, что отпечатки пальцев разные! Длина сертификата также отличается (на сервере это 2048, но удаленное сканирование показывает 1024). Отпечатки пальцев DSA тоже разные.
Проблема, вероятно, не в моей локальной сети, так как arping для сервера ip возвращает 0 результатов. Я попросил друга в Польше выполнить те же команды для меня, и он получил те же результаты.
Есть идеи о том, что происходит?
РЕДАКТИРОВАТЬ: Когда я ssh на сервер и сделать:
ssh-keyscan -p 22 -t rsa 127.0.0.1 > /tmp/ssh_localhost_rsa_key.pub
ssh-keygen -l -f /tmp/ssh_localhost_rsa_key.pub
тогда я вижу, что отпечаток пальца все еще другой! Затем, когда я делаю на сервере:
argping -c 5 server_ip
Я получаю 0 ответов.
Это очень странно!
РЕДАКТИРОВАТЬ 2 (РЕЗЮМЕ):
username@server:~$ ssh-keyscan -p 22 127.0.0.1 > /tmp/rsa.tmp
# 127.0.0.1 SSH-1.99-OpenSSH_33.33
username@server:~$ ssh-keygen -lf /tmp/rsa.tmp
1024 12:................................. 127.0.0.1 (RSA)
username@server:~$ ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
2048 32:................................. /etc/ssh/ssh_host_rsa_key.pub (RSA)
2 ответа
Проблема заключалась в том, что кто-то атаковал мой сервер с помощью эксплойта на одной или нескольких службах, которые он запускает. Решение состояло в том, чтобы переустановить всю систему, к сожалению (я боялся, что кто-то мог оставить некоторые черные ходы).
На этот раз я также следовал советам по безопасности Linux.
Изменение кэшированного ключа можно объяснить несколькими причинами:
- Вы действительно были атакованы кем-то, кто сидит между вами и вашим сервером и перехватывает ваши сессии.
- IP-адрес вашего сервера сопоставлен с несколькими реальными серверами, и вы недавно переключились на другую машину. Это может произойти, когда вы используете SSH для VIP, который может быть переключен между двумя серверами.
- Ваша серверная система была недавно переустановлена, что изменило ключ SSH.
Вы должны быть в состоянии определить, нормально это или нет.