sshd에 절대 경로가 필요한 이유는 무엇입니까?


23

왜 않습니다 sshd다시 시작할 때 예, 절대 경로를 필요로 /usr/sbin/sshd하기보다는sshd

보안 관련 사항이 있습니까?

PS 오류 메시지 :

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

답변:


20

버전 3.9 이후의 OpenSSH에만 해당됩니다.

모든 새로운 연결에 대해 sshd는 다시 실행되어 모든 새로운 연결에 대해 모든 실행 시간 무작위 화가 다시 생성되도록합니다. sshd가 다시 실행 되려면 전체 경로를 알아야합니다.

다음은 3.9 릴리스 노트에서 인용 한 내용입니다.

  • 새 연결을 수락하면 sshd (8)가 다시 실행되도록합니다. 이 보안 조치는 마스터 프로세스의 수명 동안 모든 실행 시간 무작위 화가 각 연결에 대해 한 번이 아니라 다시 적용되도록합니다. 여기에는 mmap 및 malloc 매핑, 공유 라이브러리 주소 지정, 공유 라이브러리 매핑 순서, 이러한 기능을 지원하는 시스템의 ProPolice 및 StackGhost 쿠키가 포함됩니다.

어쨌든 일반적으로 init 스크립트 (예 :) /etc/init.d/sshd restart또는을 사용하여 서비스를 다시 시작하는 것이 좋습니다 service sshd restart. 다른 것이 없으면 다음에 다시 부팅 한 후 서비스가 제대로 시작되는지 확인하는 데 도움이됩니다 ...

( 원래 답변, 이제는 관련이 없음 : 첫 번째 추측은 /usr/sbin$ PATH에없는 것입니다. )


물론 $ PATH에, 나는 SSHD의 ;-P에서 에러 메시지를 얻을 수 있습니다 그렇지 않으면 그 방법
데이지

6
게시물에 언급하지 않은 오류 메시지를 의미합니까?
Jenny D

2
내 나쁜, 게시물을 편집
데이지

6

이것은 누군가 sshd가 당신의 디렉토리 중 하나의 어딘가에 프로그램 을 주입하지 못하게 PATH 하고 실수로 프로그램을 실행하는 것을 방지합니다. 2004 년 의이 게시물 은 이미 문제를 설명합니다.


해당 게시물에 문제가 올바르게 설명되어 있지만 스레드에 그려진 결론은 잘못되었습니다. 그것은 버그가 아닙니다, 그것은 기능입니다 :-)
Jenny D

@JennyD 왜 이것이 버그라고 생각합니까? 나는 그것을 암시하지 않았다.
Timo

귀하가 링크 한 게시물에서 한 가지 응답은 "최신 openssh 로의 업그레이드를 통해 버그가 발생했습니다"였습니다. 해당 스레드의 답변 중 전체 경로가 필요한 실제 이유는 언급하지 않았습니다. 일부는 동일한 이유를 언급했으며, 이는 그럴듯하고 로그인 가능성을 여는 프로그램에 전체 경로를 사용하는 것이 좋은 이유를 보여줍니다. 그러나 이것이 특정 요구 사항을 가진 특정 프로그램의 실제 이유는 아닙니다.
Jenny D
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.