6

env 변수를 ssh 쉘에 전달하기 위해 PermitUserEnvironment~/.ssh/environment 파일에 관한 내용을 읽었습니다. 공식 sshd docs과 몇 가지 다른 리소스는이를 수행 할 때 발생할 수있는 보안 위험을 설명합니다.ssh의 PermitUserEnvironment 보안 위험

Enabling environment processing may enable users to bypass access restrictions in some configurations using mechanisms such as LD_PRELOAD. 

PermitUserEnvironment을 활성화 할 때 발생할 수있는 보안 문제는 무엇입니까? 이러한 환경 변수에서 DB 연결 세부 정보를 보려고했는데, 이는 좋습니다.

감사

그것은 당신이 사용자 정의 쉘을 사용하여 몇 가지 방법으로 사용자를 제한 할 경우에의

답변

3

- 사용자가 표준을 차단함으로써 그들은 원격 컴퓨터에서 자신의 사용자로 코드를 실행할 수 있습니다 LD_PRELOAD를 설정할 수있는 경우 라이브러리 호출.

~/.ssh/environment 또는 ~/.ssh/environment를 수정할 수있는 경우 셸을 동적으로 링크 된/bin/false로 설정하여 SFTP 전용 사용자의 로그인을 사용하지 않도록 설정하는 간단한 예가 될 수 있습니다. .ssh/authorized_keys 그러면 LD_PRELOAD = nefarious.so를 추가 할 수 있습니다.

+0

그래서 일반 Bash 계정을 제공하는 일반 셸 로그인에는 영향을 미치지 않습니까? (no sudo) –

+1

맞다. 쉘을 제한하려고 할 때만 문제가된다. 임의의 코드를 실행하도록 이미 신뢰한다면 로그인시 LD_PRELOAD를 설정하게하는 것이 보안상의 문제는 아닙니다 – Peter