Co naprawdę oznacza nierozpoznany klucz SSH
Klucz SSH wymieniony na koncie GitHub to poświadczenie, które może uwierzytelnić się jako to konto. Zobaczenie klucza, którego nie rozpoznajesz, jest powodem do zbadania sprawy, a nie wnioskiem. Klucz może należeć do urządzenia, o którym zapomniałeś, do konfiguracji byłego członka zespołu, do starego laptopa lub do czegoś, czego nie autoryzowałeś. Bezpieczne podejście polega na ustaleniu właściciela i celu przed usunięciem czegokolwiek, ponieważ usunięcie klucza używanego przez legalny proces pracy zepsuje ten proces.
GitHub traktuje kilka rzeczy jako osobne ścieżki dostępu. Osobisty klucz SSH, klucz wdrożeniowy przypisany do repozytorium i autoryzowana aplikacja OAuth to różne mechanizmy o różnych zakresach. Audyt jednego nie jest audytem pozostałych.
GitHub zaleca audyt kluczy SSH, kluczy wdrożeniowych i autoryzowanych aplikacji jako osobnych ścieżek dostępu. Źródło
Lista kontrolna przed i po
Użyj jej jako roboczej listy. Kolumna „przed” dotyczy zbierania faktów; kolumna „po” dotyczy potwierdzania wyniku.
| Etap | Sprawdzenie | Dlaczego to ważne |
|---|---|---|
| Przed | Wypisz każdy klucz SSH widoczny na koncie wraz z jego tytułem i widocznym odciskiem lub szczegółem utworzenia | Potrzebujesz pełnego obrazu, zanim zdecydujesz, który wpis jest nieznany |
| Przed | Dopasuj każdy klucz do urządzenia lub osoby, którą możesz nazwać | Klucz bez nazwy to ten, który trzeba zakwestionować |
| Przed | Zapytaj, czy jakiś bieżący proces pracy zależy od klucza (kompilacje, wdrożenia, wspólna maszyna) | Usunięcie klucza w aktywnym użyciu psuje ten proces |
| Przed | Sprawdź, czy ten sam dostęp jest również przyznany przez klucze wdrożeniowe lub autoryzowane aplikacje | To osobne ścieżki i wymagają własnego przeglądu |
| Przed | Zdecyduj o postępowaniu: zachować, zastąpić czy usunąć | Klucz nieaktualny może wymagać zastąpienia, a nie prostego usunięcia |
| Po | Potwierdź, że klucz nie pojawia się już na liście kluczy SSH konta | Widoczna lista to pierwsze potwierdzenie |
| Po | Potwierdź, że dotknięty proces pracy nadal działa lub że masz ścieżkę zastępczą | Usunięcie nie powinno zostawić legalnego procesu bez wyjścia |
| Po | Zanotuj, co usunąłeś i kiedy, bez zapisywania samego materiału klucza | Notatka pomaga w przyszłych audytach |
Usuwanie klucza SSH konta
Samo usunięcie odbywa się w ustawieniach konta. Udokumentowana ścieżka GitHub to Settings, a następnie SSH and GPG keys, gdzie możesz przejrzeć klucze SSH konta i usunąć te, których nie rozpoznajesz lub które są nieaktualne.
W Settings, SSH and GPG keys przejrzyj klucze SSH konta i usuń te, których nie rozpoznajesz lub które są nieaktualne. Źródło
Zachowaj wąski zakres. Ten krok usuwa klucz SSH konta. Nie usuwa kluczy wdrożeniowych, nie unieważnia autoryzowanych aplikacji ani nie zmienia zawartości repozytoriów. Jeśli audyt wykazał problemy w tych obszarach, zajmij się nimi jako osobnymi zadaniami.
Legalne procesy pracy do rozważenia przed usunięciem
Nie każdy nieznany klucz jest wrogi. Przed działaniem rozważ te typowe sytuacje:
- Urządzenie, którego już nie używasz. Stary laptop lub maszyna służbowa może nadal mieć zarejestrowany klucz. Jeśli nadal masz urządzenie, możesz potwierdzić dopasowanie; jeśli nie, usunięcie jest zwykle właściwym krokiem.
- Wspólna lub zespołowa maszyna. Ktoś inny mógł dodać klucz w legalnym celu. Potwierdź z właścicielem przed usunięciem.
- Konfiguracja wdrożenia lub automatyzacji. Jeśli klucz jest używany przez zaplanowany proces, usunięcie go może zatrzymać ten proces. Najpierw zidentyfikuj zależność.
- Klucz, który utworzyłeś i zapomniałeś. Tytuły i daty utworzenia często odświeżają pamięć. Jeśli możesz dopasować go do własnej wcześniejszej konfiguracji, możesz zdecydować się go zachować lub zastąpić, zamiast usuwać.
W razie wątpliwości bezpieczniejsza kolejność to: zidentyfikuj, następnie zastąp kluczem, który kontrolujesz, a potem usuń stary wpis. To utrzymuje działającą ścieżkę, podczas gdy zamykasz nieznaną.
Czego ten proces nie robi
Usunięcie klucza SSH to działanie punktowe, a nie pełne czyszczenie konta. Nie:
- unieważnia aplikacji OAuth ani innych autoryzowanych integracji;
- usuwa kluczy wdrożeniowych z repozytoriów;
- dowodzi, kto utworzył klucz i dlaczego;
- potwierdza, że nie istnieje żadna inna ścieżka dostępu.
Traktuj każdy z tych punktów jako osobne sprawdzenie. Audyt to zestaw małych, weryfikowalnych kroków, a nie jeden przełącznik.
Gdzie pasuje wyszukiwanie nazwy użytkownika, a gdzie nie
Publiczne wyszukiwanie nazwy użytkownika może pomóc zobaczyć, z czym znany identyfikator wydaje się być powiązany na publicznych platformach. To przydatny kontekst, gdy próbujesz zrozumieć tożsamość lub ślad online. Nie jest to sposób na sprawdzenie ustawień konta GitHub i nie może powiedzieć, kto jest właścicielem klucza SSH. TraceSeek, aplikacja omawiana przez TruthsSeek, sprawdza znane publiczne nazwy użytkowników na ponad 3 000 platform i zwraca pierwsze skanowanie w 20–30 sekund, przy czym pierwsze skanowanie jest bezpłatne. Nie obsługuje ustawień GitHub, a publiczne dopasowanie to trop, nie dowód własności.
Bezpieczne obchodzenie się z poświadczeniami
Nigdy nie publikuj klucza prywatnego, tokena ani pełnego poświadczenia w czacie, zgłoszeniu, zrzucie ekranu lub poście na forum. Jeśli potrzebujesz pomocy w zidentyfikowaniu klucza, udostępnij tylko niejawne szczegóły, takie jak jego tytuł lub widoczny odcisk, i tylko osobie, której ufasz. Jeśli podejrzewasz, że klucz został ujawniony, usunięcie go z konta to jeden krok; rotacja wszystkiego, co od niego zależało, to osobna decyzja, którą należy podjąć świadomie.