Tak, jest to jeden z problemów z kluczami SSH bez hasła. Jeśli przechowujesz klucz prywatny na serwerze A, który pozwala połączyć się z serwerem B, uzyskanie dostępu do serwera A skutecznie uzyskuje dostęp do serwera B. (Nie jest odwrotnie, nie jest prawdą - uzyskanie dostępu do serwera B nie spowoduje natychmiastowy kompromis z serwerem A, zakładając, że nie masz skonfigurowanych kluczy SSH, aby umożliwić logowanie bez hasła w tym kierunku.
Istnieje kilka sposobów na złagodzenie tego:
- Jeśli proces nie musi być w pełni zautomatyzowany, dodaj hasło do kluczy SSH. (Prawdopodobnie to nie zadziała, ponieważ zauważysz, że jest to kopia zapasowa)
- W przypadku logowania bez hasła za pomocą własnego konta na wielu komputerach zalecam utworzenie klucza zabezpieczonego hasłem dla każdego komputera, na którym fizycznie wpiszesz, i użycie agenta SSH do przechowywania klucza w pamięci podczas jego używania. Przekazywanie agentów powinno umożliwiać „przeskakiwanie” z hosta na hosta bez tworzenia kluczy na każdym hoście zdalnym.
- W przypadku zautomatyzowanych kluczy SSH bez hasła, zalecam ograniczenie poleceń, które klawisz może uruchamiać. W swoim
authorized_keys
pliku poprzedź każdy klucz:
command="<allowed command line here>",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
8-9 lat temu pracowałem we wspólnym środowisku użytkowników z setkami lokalnych użytkowników, a logowanie oparte na kluczach SSH zostało wyłączone, ponieważ nie było sposobu na egzekwowanie zasad haseł na kluczach. Tak długo, jak w pełni kontrolujesz scenariusz, obecnie klucze SSH są zdecydowanie lepsze niż zwykłe używanie haseł.
W każdym środowisku, które kontrolowałem, zawsze byłem prawdziwym zwolennikiem minimalnego możliwego przywileju dla kont serwisowych.
W takim przypadku sugeruję upewnienie się, że konto użytkownika na zdalnym serwerze może uruchamiać tylko mały, ściśle określony zestaw plików wykonywalnych. Aby to zrobić, możesz użyć wielu kont na stronie zdalnej i sudo.
Nawet w tym przypadku nadal występują lokalne błędy związane z eskalacją przywilejów, więc bądź skrupulatny i dokładnie monitoruj błędy bezpieczeństwa.
źródło