Dobra praktyka używania tej samej pary kluczy SSH na wielu komputerach?

12

Niedawno dostałem nowy laptop do pracy i zastanawiałem się, czy dobrą praktyką byłoby używanie tej samej pary kluczy RSA, jak na moim starym laptopie roboczym. Naprawdę chciałbym nie musieć tworzyć kolejnej pary kluczy do śledzenia.

Czy jest to ogólnie rzecz biorąc dopuszczalna praktyka? Ponieważ para kluczy ma hasło, powinno być dość bezpieczne, o ile moje fizyczne maszyny są bezpieczne, prawda?

Naftuli Kay
źródło

Odpowiedzi:

4

Tak, jest bezpieczny, dopóki jest w bezpiecznych rękach, tzn. Bezpieczne są fizyczne maszyny. Oczywiście, jeśli atakujący uzyska dostęp i jest w stanie ssh na jednym komputerze, może następnie pobrać klucz z tego komputera i użyć go również na innych komputerach. Zobacz to, aby uzyskać więcej informacji.

harish.venkat
źródło
2
Tylko maszyna przechowująca klucz prywatny musi być bezpieczna.
psusi
7

Aby być nieco bardziej wyraźnym od innych odpowiedzi tutaj i innych miejsc: „bezpieczeństwo” jest tak samo bezpieczne, jak bezpieczeństwo klucza prywatnego. Jeśli ktoś może uzyskać dostęp do twoich kluczy prywatnych, możesz je wysłać pocztą e-mail lub skopiować na urządzenie USB. Następnie skopiowany klucz prywatny może być używany przez inną osobę.

Tak długo, jak klucz prywatny znajduje się w bezpiecznym systemie, nie ma problemu z przeniesieniem go na wiele komputerów.

Ale jedno powiem: nie kopiuj klucza prywatnego do zdalnego systemu. Spróbuj polegać na agencie SSH (ssh-agent lub pageant) i przekazywaniu agentów. Jeśli masz klucz prywatny w systemie zdalnym, upewnij się, że nie jest to ten sam klucz, który służy do uzyskiwania dostępu do systemu.

Arcege
źródło
1

Pojedynczy klucz na wielu komputerach z pewnością zmniejsza liczbę kluczy, które sysadmin musi obsłużyć. Mam pięć maszyn, z których mógłbym pracować (zwykle około trzech bardzo aktywnych, ale jedna może być w naprawie, a druga bardzo sporadycznie). Jeśli firma ma osiem osób takich jak ja, to 40 kluczy do administrowania zamiast 8.

Jednak kwestia, którą Arcege dość sprytnie wskazał, choć pośrednio, polega na tym, że jeśli jedna maszyna zostanie naruszona lub nawet zaginie na krótki czas, oznacza to, że nie będę już mieć dostępu z żadnej maszyny (jako mój klucz do wszystkie moje maszyny musiałyby zostać rozebrane). Z pewnością wygoda usunięcia jednego klucza z uszkodzonego lub skradzionego laptopa i kontynuacja pracy z innym komputerem jest warta kłopotów z obsługą wielu kluczy.

W jeszcze bardziej ekstremalnym przykładzie wyobraź sobie, że jestem administratorem systemu i mam laptopa skradzionego lub zhakowanego. Mój klucz musi zostać usunięty, ale aby to zrobić, potrzebuję dostępu do wszystkich systemów. Chociaż technicznie możliwe jest zastąpienie i usunięcie w ciągu jednej sesji, próba szybkiego poruszania się i objęcia wszystkich swoich podstaw, znacznie komplikuje scenariusz awaryjny.

Z drugiej strony, jeśli mam unikalne klucze dla każdej stacji roboczej, jeśli mogę dostać się do alternatywnej stacji roboczej, mogę szybko i skutecznie wykluczyć skompromitowany klucz, bez ryzyka zablokowania się.

Gdy zagłębiam się w podejście do bezpieczeństwa SSH, jasne jest, że dla prawdziwego bezpieczeństwa wszyscy powinniśmy używać obu:

  • co mamy (klucze SSH)
  • co wiemy (hasło do serwera)

Wymagane hasło obejmuje zarówno dostęp do serwera, jak i hasło do klucza. Współczynnik kłopotów rośnie, ale w miejscu, w którym mamy wszystkie trzy (klucze SSH, hasło dostępu do klucza SSH, hasło serwera), w tym momencie nie ma już ani jednego punktu awarii . Hasło do wspólnego serwera chroni również Twój zespół przed bardzo słabym hasłem klucza SSH (zwykle nie mamy kontroli nad poziomem hasła, które generują nasi koledzy - i hasłem administratora w sytuacji przedsiębiorstwa, w której mam dostęp do narzędzi do kontroli hasła, które mogę mówią ci nawet ci, którzy powinni wiedzieć lepiej, czasami tworzą szokująco słabe hasła).

Atakujący musiałby zostać zdeterminowany, a udany atak może potrwać miesiące, a nawet lata. Zmieniając od czasu do czasu hasło do serwera (co około sześć miesięcy, hasło do serwera współdzielone z systemem na poziomie przedsiębiorstwa, takim jak LastPass - pamiętaj, że istnieją również klucze SSH), w tym momencie twoje serwery cieszą się rozsądnym bezpieczeństwem (ponieważ nikt nie może połączyć gorącego SSH klucz ze starożytnym hasłem, aby się włamać).

Trzeba pomyśleć o nielegalnym dostępie do informacji poufnych (przychodzi na myśl Edward Snowden, hack Ashley Madison zajmuje drugie miejsce) jako główne ryzyko. Tylko przy użyciu zarówno kluczy, jak i haseł można naprawdę spowolnić osobę z wewnątrz.

Inne niż starożytna chińska metoda: pochowaj ich żywych po zakończeniu pracy.

Po pogrzebie zasugerowano, że poważnym naruszeniem byłoby ujawnienie tych tajemnic przez rzemieślników, którzy budowali urządzenia mechaniczne i znali ich skarby. Dlatego po zakończeniu ceremonii pogrzebowych i schowaniu skarbów wewnętrzne przejście zostało zablokowane, a zewnętrzna brama opadła, natychmiast uwięziąc wszystkich robotników i rzemieślników w środku. Nikt nie mógł uciec.

Foliovision
źródło
0

Dla kluczy użytkowników - tak, jeśli używasz bezpiecznego hasła i utworzyłeś klucz w systemie bez wad bezpieczeństwa ssh.

W przypadku kluczy serwera: nie.

Nils
źródło
0

Powiedziałbym, że dobrym nawykiem jest posiadanie różnych kluczy dla różnych grup, na przykład: praca, dom, projekt open_source_project.

Im więcej kluczy dodasz, tym bardziej skomplikowane będzie zarządzanie nimi.

AB
źródło