Cofnięcie dostępu SSH do Państwa VPS w przypadku byłego pracownika lub zgubionego laptopa
Były pracownik, twórca stron, który zakończył pracę, albo skradziony laptop: każdy, kto miał klucz SSH do Państwa serwera, nadal może się zalogować. Zwykły klucz nie wygasa. Wszystko, czego Państwo nie usuną, działa dalej, nawet po latach. Poniżej opisujemy, jak prawidłowo odebrać dostęp do VPS.
Krok 1: przejrzenie wszystkich kluczy
Klucze są zapisane dla każdego użytkownika w ~/.ssh/authorized_keys, po jednym kluczu w wierszu. Prosimy sprawdzić każdego użytkownika, również root:
sudo sh -c 'ls -l /root/.ssh/authorized_keys /home/*/.ssh/authorized_keys' sudo ssh-keygen -lf /root/.ssh/authorized_keys sudo ssh-keygen -lf /home/anna/.ssh/authorized_keys
ssh-keygen -lf pokazuje dla każdego klucza odcisk palca i komentarz, na przykład jan@laptop. Na tej podstawie widać, do kogo lub do jakiego urządzenia należy klucz. Dlatego warto przy tworzeniu nadawać każdemu kluczowi czytelny komentarz i używać osobnego klucza dla każdego urządzenia.
- Prosimy wykonać kopię:
sudo cp /root/.ssh/authorized_keys /root/authorized_keys.bak. - Prosimy otworzyć plik za pomocą
sudo nanoi usunąć wiersz danej osoby lub danego urządzenia. - Prosimy sprawdzić w drugim oknie, czy nadal mogą się Państwo zalogować, zanim zamkną Państwo bieżącą sesję.
Czy jest tam klucz, którego Państwo nie znają i którego sami nie dodali? To sygnał alarmowy: włamywacze chętnie zostawiają własny klucz, aby później wrócić. W takim przypadku prosimy postępować zgodnie z artykułem Włamanie? Pierwsze kroki.
Krok 2: konto tej osoby
Jeśli ta osoba miała własnego użytkownika, prosimy go zablokować lub usunąć. Najpierw prosimy sprawdzić poleceniem who, kto jest aktualnie zalogowany.
| Co | Polecenie (Debian i Ubuntu) |
|---|---|
| Zablokować konto, zachować pliki | sudo usermod -L -e 1 jan |
| Zakończyć bieżące sesje i procesy | sudo pkill -u jan |
| Usunąć z grupy sudo | sudo gpasswd -d jan sudo |
| Usunąć konto wraz z katalogiem domowym | sudo deluser --remove-home jan |
-L blokuje hasło, -e 1 powoduje wygaśnięcie konta. Samo zablokowanie hasła nie zawsze zatrzymuje klucz SSH, natomiast wygaśnięcie konta tak. Mimo to prosimy usunąć klucze (krok 1). Prosimy również sprawdzić, czy w /etc/sudoers.d/ znajdują się pliki dla tej osoby oraz czy pod tą nazwą działają zaplanowane zadania: sudo crontab -l -u jan. W systemach AlmaLinux i Rocky Linux grupa administratorów nazywa się wheel, a konto usuwa się poleceniem sudo userdel -r jan.
Krok 3: zmiana haseł i sekretów
Usunięcie klucza nie wystarczy, jeśli ta osoba widziała również hasła. Prosimy zmienić wszystko, co ta osoba znała lub mogła odczytać:
- Hasło root. Można je ustawić w panelu VPS, na karcie Ustawienia, lub na serwerze poleceniem
sudo passwd root. - Hasła do baz danych i paneli administracyjnych oraz tokeny lub klucze API w plikach konfiguracyjnych i plikach
.env. Prosimy je zmienić także w usłudze, która je wydała. - Wspólne klucze do kopii zapasowych, na przykład hasło do repozytorium restic.
Krok 4: konto WebOké
Jeśli ta osoba miała dostęp do Moje WebOké, prosimy go również usunąć. Mając odpowiednie uprawnienia, można tam na przykład zarządzać VPS za pomocą panelu VPS. Prosimy przejść do Moja administracja, karta Użytkownicy, i przy tej osobie wybrać Usuń dostęp. Więcej informacji: Dodawanie dodatkowego użytkownika do kont WebOké. Zarządzanie wieloma kontami WebOké za pomocą jednego użytkownika. Jeśli kiedykolwiek udostępnili Państwo własne dane logowania, prosimy zmienić hasło, zob. Ustawianie, zmiana lub odzyskiwanie hasła.
Zgubiony lub skradziony laptop
Prosimy usunąć tylko klucz tego urządzenia, na każdym serwerze, na którym się znajdował. Na nowym urządzeniu prosimy utworzyć nowy klucz i go dodać, zob. Umieszczanie klucza na serwerze i testowanie. Jeśli klucz prywatny nie miał hasła (passphrase), należy założyć, że mógł zostać użyty, i zmienić również hasła z kroku 3. Jeśli nie mogą się Państwo zalogować, prosimy skorzystać z konsoli w panelu VPS, zob. Brak dostępu do VPS: co teraz?
authorized_keys przed jego kluczem opcję expiry-time="20261231", a po niej spację i klucz. Po tej dacie serwer automatycznie odrzuci klucz. Ponadto warto prowadzić w dokumentacji serwera listę osób z dostępem i sprawdzać ją co kwartał, zob. Bezpieczeństwo VPS: hardening, Lynis i rytm konserwacji.Jeśli w przyszłości zainstalują Państwo VPS ponownie, prosimy wpisać w polu Klucz SSH wyłącznie klucz, który nadal należy do Państwa. VPS działa w pełni w modelu samodzielnego zarządzania: o tym, kto ma dostęp do serwera, decydują Państwo sami. Pomagamy w zakresie części WebOké, takiej jak panel VPS, konsola i snapshoty.
Chcą Państwo dowiedzieć się więcej? Zapraszamy na bezpłatny kurs VPS i administrowanie serwerem Linux, lekcja 2.1 Tworzenie i używanie kluczy SSH lub lekcja 2.3 Sprytne korzystanie z SSH.
