В результате ошибки в программном обеспечении, внесённой 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.

Теги: