Dlaczego sshd wymaga bezwzględnej ścieżki?


23

Dlaczego sshdwymaga bezwzględnej ścieżki przy ponownym uruchomieniu, np. /usr/sbin/sshdZamiastsshd

Czy są jakieś konsekwencje dla bezpieczeństwa?

PS komunikat o błędzie:

# sshd
sshd re-exec requires execution with an absolute path

Odpowiedzi:


20

Dotyczy to OpenSSH od wersji 3.9.

Dla każdego nowego połączenia sshd uruchomi się ponownie, aby upewnić się, że wszystkie randomizacje w czasie wykonywania są generowane ponownie dla każdego nowego połączenia. Aby sshd mógł się ponownie uruchomić, musi znać pełną ścieżkę do siebie.

Oto cytat z informacji o wersji 3.9:

  • Spraw, aby sshd (8) uruchomił się ponownie po zaakceptowaniu nowego połączenia. Ten środek bezpieczeństwa zapewnia, że ​​wszystkie randomizacje w czasie wykonywania są ponownie stosowane dla każdego połączenia, a nie raz, przez cały czas trwania procesu głównego. Obejmuje to mapowania mmap i malloc, adresowanie bibliotek współdzielonych, kolejność mapowania bibliotek współdzielonych, pliki cookie ProPolice i StackGhost w systemach obsługujących takie rzeczy

W każdym razie zwykle lepiej jest zrestartować usługę przy użyciu skryptu inicjującego (np. /etc/init.d/sshd restart) Lub przy użyciu service sshd restart. Jeśli nic więcej, pomoże ci to sprawdzić, czy usługa uruchomi się poprawnie po następnym restarcie ...

( oryginalna odpowiedź, teraz nieistotna: Domyślam się, że /usr/sbinnie ma jej w $ PATH ).


Oczywiście jest w $ PATH, w przeciwnym razie jak mogę uzyskać ten komunikat o błędzie z sshd ;-P
daisy

6
Masz na myśli komunikat o błędzie, o którym nie wspomniałeś w swoim poście?
Jenny D.

2
Mój zły, zredagował post
stokrotkę

6

Ma to na celu zapobieżenie iniekcji sshdprogramu gdzieś w jednym z katalogów w twoim PATH i nieumyślnym uruchomieniu go. Ten post z 2004 roku już opisuje ten problem.


Chociaż ten post poprawnie opisuje problem, wnioski wyciągnięte w wątku są błędne. To nie jest błąd, to funkcja :-)
Jenny D

@JennyD Dlaczego uważasz, że to błąd? Nigdy tego nie sugerowałem.
Timo,

W poście, do którego linkujesz, jedna odpowiedź brzmiała: „Błąd wkradł się przez aktualizację do najnowszego openssh”. Żadna z odpowiedzi w tym wątku nie wspomniała o prawdziwym celu wymagającym pełnej ścieżki - niektóre wspominały ten sam powód, co robisz, co jest bardzo prawdopodobne i pokazuje, dlaczego dobrym pomysłem jest użycie pełnej ścieżki do dowolnego programu otwierającego możliwości logowania. Ale to nie jest faktyczny powód, dla którego ten program ma takie wymaganie.
Jenny D.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.