Чи існує ризик безпеки для розкриття вашого файла SSH unknown_hosts?


32

Я виступаю на конференції наступного тижня про деякі програмні засоби, які я створив. Мій ноутбук буде показаний на екрані проектора під час цієї презентації. Презентація буде знята на відео та розміщена на youtube. Якщо я чомусь маю нагоду відкрити та відредагувати свій ~/.ssh/known_hostsфайл під час цієї презентації, чи повинен я відключати проектор під час цього? Чи є ризик безпеки для розкриття мого відомого файлу_hosts?


7
Чому б просто не замінити фактичну known_hostsпідробку під час презентації?
Свен

1
... або якщо ви не перевіряєте відбиток пальця хоста в першу чергу, використовуйте щось на кшталт того, ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@hostщоб обійти питання про відбиток пальців і уникати перевірок на наявні відомі_хости.
Lekensteyn

@Sven файл знаних_хостів сам по собі не є частиною презентації, лише те, що програмне забезпечення, яке я демонструю, вимагає від мене редагувати відомі_хости. Глядачам цього не потрібно бачити (тому я буду використовувати сліпе редагування, як запропонували декілька коментаторів тут), але редагування підробленого файлу known_hosts просто не здійснило мою мету.
Метт Коростофф

Відповіді:


43

Файл known_hosts містить надійні відкриті ключі для хостів, до яких ви підключились у минулому. Ці відкриті ключі можна отримати просто спробу підключитися до цих хостів. Таким чином, це не є ризиком для безпеки сам по собі.

Але: Він містить історію хостів, до яких ви підключились. Інформація може бути використана потенційним зловмисником, наприклад, для інфраструктури організації слідів. Крім того, він повідомляє потенційних зловмисників, що ви, мабуть, маєте доступ до певних хостів і що крадіжка вашого ноутбука також надасть їм доступ.

Редагувати: Щоб уникнути показу вашого відомого файлу_hosts, рекомендую скористатися ssh-keygenутилітою. ssh-keygen -R ssh1.example.orgнаприклад, видаляє надійні ключі для ssh1.example.orgваших відомих_хостів.


15

У цьому немає нічого особливо небезпечного. Однак ви можете не бажати розголошувати цю ідентифікаційну інформацію. Іноді існування господарів виявляє добрі лінії нападу для тих, хто схильний. Ви можете або скористатися ним HashKnownHosts, або ви можете редагувати файл, не дивлячись на нього.


Сліпое редагування:
sed -i 25d .ssh/known_hostsвидалить рядок 25, не розміщуючи вмісту на екрані.

HashKknownHosts
Вказує, що ssh (1) повинен мати хеш-імена хостів і адреси, коли вони додаються до ~ / .ssh / known_hosts. Ці хешовані імена можуть використовуватись звичайно за допомогою ssh (1) та sshd (8), але вони не розкривають ідентифікаційну інформацію у разі розкриття вмісту файлу. За замовчуванням - "ні". Зауважте, що існуючі імена та адреси у відомих файлах хостів не будуть конвертовані автоматично, а можуть бути хешировані вручну за допомогою ssh-keygen (1).


4
Замість того, щоб вручну обчислити номер рядка та видалити його за допомогою sed, ви також можете використовувати ssh-keygen -R example.com.
Лекенштейн

4
Ви також можете використовувати ssh-keygen -H -f ~/.ssh/known_hostsхеш усіх імен / адрес у файлі.
Бармар
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.