Чи відображає повідомлення "автентичність хоста не можна" в SSH відображати ризик безпеки?


19

Щоразу, коли я підключаюся до нового SSH-сервера зі свого комп’ютера, я отримую це повідомлення:

The authenticity of host '[censored]:censored ([0.0.0.0]:censored)' can't be established.
RSA key fingerprint is SHA256:censored.
Are you sure you want to continue connecting (yes/no)?

Чому SSH мене про це питає?

Чи є у мене ризик підключитися до випадкового сервера SSH?

Або це просто для того, щоб переконатися, що сервер, до якого ви підключаєтесь, не був зламаний?


Ви використовуєте пароль або ключ для входу?
kasperd

1
Існує кілька кращих способів розподілу ключів хоста, ніж довіра під час першого використання; це відносно незахищений робочий процес. Хост-ключі можуть поширюватися через LDAP; через підписані записи DNS; може бути підписаний з органами сертифікації SSH; і т.д. Що сказати - то , що ви бачите тут , вказує на те, що ваш сайт налаштований «ледачий шлях» (який майже все!), який є менш безпечним , ніж йти на подальші довжини , щоб зробити все правильно.
Чарльз Даффі

Відповіді:


29

Він запитує вас, оскільки він ніколи раніше не був зв’язаний з цим хостом.

Якщо ви перебуваєте в безпечному середовищі, то ви дізнаєтеся відбиток віддаленого хоста та порівняєте його за першим з'єднанням - якщо відбиток пальця відповідає тому, що ви знаєте, він повинен бути чудовим. Якщо ви перебуваєте в менш захищеному середовищі, ви можете просто прийняти це під час першого з'єднання.

Після того, як ви сказали " Так, я довіряю цьому хост-ключу і хочу, щоб він був пов'язаний з цим ім'ям хоста / IP ", клієнт SSH запам'ятає це для вас ... Якщо з будь-якої причини (перевстановіть / нові ключі хоста / новий машина / людина посередині) ключ не відповідає при наступному з'єднанні, ви побачите попередження, як показано нижче:

$ ssh baloo
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 ECDSA key sent by the remote host is
SHA256:Su0uy/4BcRcpmyLfxO9ndlcda52F8uct6yWNp7Sa92M.
Please contact your system administrator.
Add correct host key in /home/attie/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/attie/.ssh/known_hosts:65
  remove with:
  ssh-keygen -f "/home/attie/.ssh/known_hosts" -R baloo
ECDSA host key for baloo has changed and you have requested strict checking.
Host key verification failed.

У цій ситуації, якщо ви знаєте, що віддалений хост дійсно змінений, ви можете продовжити ... можливо, перевірити правильність відбитка пальця.

Якщо ви не впевнені, або знаєте, що віддалений хост не повинен був змінюватися, то він підкаже вас про потенційну атаку.


4
Це принцип TOFU: Trust On First Use
Патрік Мевзек

2
Погоджено, TOFU - це не чудова ідея - особливо, якщо вам потрібно бути впевненим ... Ваша думка та підхід залежать від вашої моделі потоку.
Attie

1
Однак про ефективність цього див. Cs.auckland.ac.nz/~pgut001/pubs/defending.pdf , стор. 45-48.
Joker_vD

Цікаві слайди, спасибі за обмін @Joker_vD
Attie

1
@PatrickMevzek Проблема полягає в тому, що вся наша модель комп'ютерного "довіри" в основному полягає в деталі булевого рівня, тоді як у реальному світі практична модель довіри (наприклад, те, що ми інтуїтивно використовуємо в міжлюдських відносинах) більше схожа на умовна ймовірність: враховуючи вимогу суб'єкта господарювання, ми маємо певну впевненість, що суб'єкт господарювання буде його дотримуватися, і ми обмежуємо наш ризик пропорційно цьому.
mtraceur

9

Коли ви отримуєте це повідомлення, SSH просто каже: "Я ніколи не бачив цього комп'ютера, тому не можу бути впевнений, хто це говорить. Чи ви йому довіряєте?" Після цього ви можете сказати, що ви їй довіряєте, і в майбутньому ваш комп'ютер запам'ятає, а не запитає вас знову.

В ідеалі, щоб довіритись цьому, вам слід вручну порівняти ключ, наданий з ключем на сервері (як ви б довірили ключ GPG, перевіривши, що особа, якій ви вважаєте, належить, може насправді генерувати відкритий ключ). Хоча насправді люди цим не турбуються (принаймні, з моїх знань).

Справжня вигода отримується від кожного наступного підключення до сервера. Якщо SSH скаржиться на той сервер, якому ви вже довіряли, що він не той самий сервер, є ймовірність, що ви стали жертвою атаки MiTM.

Якщо ви перебуваєте в мережі, де ви впевнені, що немає атаки "Людина в середині", і це перший раз, коли ви підключаєтесь до комп'ютера, тоді вам слід сміливо приймати ключ. (хоча якщо ви працюєте над якоюсь секретною урядовою місією, можливо, попросіть свого системного адміністратора перевірити відбиток пальців перед тим, як підключитися)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.