Czy istnieje ryzyko bezpieczeństwa związane z ujawnieniem pliku znanego hosta SSH?

32

Mówię na konferencji w przyszłym tygodniu o niektórych narzędziach programowych, które stworzyłem. Podczas tej prezentacji mój laptop będzie wyświetlany na ekranie projektora. Prezentacja zostanie nagrana na wideo i opublikowana na youtube. Jeśli z jakiegoś powodu mam okazję otworzyć i edytować ~/.ssh/known_hostsplik podczas tej prezentacji, czy powinienem w tym czasie odłączyć projektor? Czy istnieje ryzyko związane z bezpieczeństwem ujawnienia mojego pliku znane_hosty?

Matt Korostoff
źródło
7
Dlaczego po prostu nie zamienić swojego faktycznego known_hostsna fałszywy podczas prezentacji?
Sven
1
... lub jeśli nie sprawdzasz odcisku palca hosta, użyj czegoś takiego, ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@hostaby ominąć pytanie o odcisk palca i uniknąć sprawdzania istniejących hostów.
Lekensteyn,
@ Nawet plik znany_hosty nie jest sam w sobie częścią prezentacji, tyle że oprogramowanie, które od czasu do czasu demonstruję, wymaga ode mnie edycji moich znanych_hostów. Publiczność nie musi tego widzieć (więc użyję ślepej edycji, jak sugeruje tu kilku komentujących), ale edytowanie fałszywego pliku znanego_hosta po prostu nie osiągnęłoby mojego celu.
Matt Korostoff,

Odpowiedzi:

43

Plik znane_hosty zawiera zaufane klucze publiczne dla hostów, z którymi łączyłeś się w przeszłości. Te klucze publiczne można uzyskać po prostu próbując połączyć się z tymi hostami. Dlatego samo w sobie nie stanowi zagrożenia bezpieczeństwa.

Ale: Zawiera historię hostów, z którymi jesteś podłączony. Informacje mogą zostać wykorzystane przez potencjalnego napastnika na przykład w infrastrukturze organizacji zajmującej powierzchnię. Informuje również potencjalnych atakujących, że prawdopodobnie masz dostęp do niektórych hostów i że kradzież laptopa da im również dostęp.

Edycja: Aby uniknąć wyświetlania pliku znanych_hostów, zalecamy skorzystanie z ssh-keygennarzędzia. ssh-keygen -R ssh1.example.orgna przykład usuwa zaufane klucze ssh1.example.orgz twoich znanych hostów.

Richard
źródło
15

Nie ma w tym nic szczególnie niebezpiecznego. Jednak możesz nie chcieć ujawnić tych informacji identyfikujących. Czasami istnienie gospodarzy ujawnia dobre linie ataku dla skłonnych. Możesz skorzystać z HashKnownHostspliku lub edytować plik bez patrzenia na niego.


Ślepa edycja:
sed -i 25d .ssh/known_hostsusunie wiersz 25 bez umieszczania zawartości na ekranie.

HashKnownHosts
Wskazuje, że ssh (1) powinien mieszać nazwy hostów i adresy, gdy zostaną dodane do ~ / .ssh / known_hosts. Te skrócone nazwy mogą być normalnie używane przez ssh (1) i sshd (8), ale nie ujawniają informacji identyfikujących w przypadku ujawnienia zawartości pliku. Domyślna wartość to „nie”. Zauważ, że istniejące nazwy i adresy w znanych plikach hostów nie zostaną automatycznie przekonwertowane, ale mogą zostać ręcznie zaszyfrowane przy użyciu ssh-keygen (1).

84104
źródło
4
Zamiast ręcznie obliczać numer linii i usuwać go za pomocą sed, możesz także użyć ssh-keygen -R example.com.
Lekensteyn,
4
Możesz także użyć ssh-keygen -H -f ~/.ssh/known_hostsdo haszowania wszystkich nazw / adresów w pliku.
Barmar,