В результате ошибки в программном обеспечении, внесённой 10 апреля 2015 года, Ed25519 ключи сервера (/etc/ssh/ssh_host_ed25519_key) не пересоздавались при установке операционной системы.
В результате каждый экземпляр операционной системы имеет идентичный Ed25519 ключ сервера.
Атакующий может использовать это для компрометации данных между клиентом и сервером посредством атаки.
Образы в которых присутствует такая уязвимость:
- CentOS-71-64-minimal
- CentOS-72-64-minimal
- Debian-80-jessie-64-LAMP
- Debian-80-jessie-64-minimal
- Debian-81-jessie-64-LAMP
- Debian-81-jessie-64-minimal
- Debian-82-jessie-64-LAMP
- Debian-82-jessie-64-minimal
- Ubuntu-1404-trusty-64-minimal
- Ubuntu-1410-utopic-64-minimal
- Ubuntu-1504-vivid-64-minimal
- Ubuntu-1510-wily-64-minimal
- openSUSE-132-64-minimal
- openSUSE-421-64-minimal
Ниже будет описано, как перегенерировать Ed25519 SSH ключи.
Для замены Ed25519 ключей можно использовать команду ssh-keygen. Следующая команда создаст новый Ed25519 ключ и заменит им старый:
# ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N '' Generating public/private ed25519 key pair. /etc/ssh/ssh_host_ed25519_key already exists. Overwrite (y/n)? y Your identification has been saved in /etc/ssh/ssh_host_ed25519_key. Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub. The key fingerprint is: d5:1d:28:01:f7:c5:0f:fb:7b:43:07:08:1f:93:1c:c6 root@host The key's randomart image is: +--[ED25519 256]--+ | ..o+o=o | | .o+Eoo. | | .+o+.+ | | . o o .| | S o | | .o| | . o| | o.| | o| +-----------------+
В неподверженных уязвимости образах и в операционных системах без поддержки Ed25519 будет выводиться следующее сообщение об ошибке:
# ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N "" unknown key type ed25519
После замены ключа следует перезапустить SSH-сервер. Обратите внимание, что при следующем подключении может быть показано предупреждение:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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. The fingerprint for the ED25519 key sent by the remote host is MD5: d5:1d:28:01:f7:c5:0f:fb:7b:43:07:08:1f:93:1c:c6 Please contact your system administrator. Add correct host key in /home/user/.ssh/known_hosts to get rid of this message. Offending ED25519 key in /home/user/.ssh/known_hosts:1 Password authentication is disabled to avoid man-in-the-middle attacks. Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks. Permission denied (publickey,password).
Если отображаемый отпечаток соответствует сгенерированному ключу, то соответствующую строку можно удалить из файла known_hosts.