Redhat에서 "kernel.suid_dumpable = 1"은 무엇을 의미합니까?


9

bash 스크립트를 실행하여 일부 로그 파일을 복사 한 다음 Red Hat 상자에서 서비스를 다시 시작합니다. 스크립트를 실행할 때마다 콘솔에서 다음을 얻습니다.

[root@servername ~]# sh /bin/restart_nss.sh
kernel.suid
_dumpable = 1
Stopping Service: [ OK ]
Starting Service: [ OK ]
[root@servername ~]#

이 경우 "kernel.suid_dumpable = 1"은 무엇을 의미합니까?

감사합니다, IVR 어벤져

답변:


13

일부 배경 :

setuid 비트 :
실행 파일의 setuid 비트는 사용자가 실행하는 실행 파일이 실행 파일 소유자가 실행하는 것처럼 실행되도록합니다. 따라서 루트가 소유 한 프로그램에서 setuid를 설정하면 누가 실행 하든지 루트 권한으로 실행됩니다. 물론 그렇게 간단하지는 않습니다. 이 위키 백과 기사를 보거나 유닉스 환경에서 Steven의 프로그램 사본을 얻으십시오.

코어 덤프 :
코어 덤프는 프로그램의 작업 메모리를 파일로 덤프하는 것입니다. 참조 이 위키 피 디아 문서를 .

suid_dumpable :
위에서 설명한대로 setuid 프로그램에서 코어를 덤프 할 수 있는지 여부를 제어합니다. 아래를 참조하십시오. 이것은 커널 튜너 블이며 다음과 같이 변경할 수 있습니다.

sudo sysctl -w kernel.suid_dumpable=2

이 튜너 블에 대해서는 소스 코드의 설명서에서 찾을 수 있습니다.이 코드는 설치된 경우 /usr/src/linux-source-2.6.27/Documentation/sysctl/과 같은 디렉토리에 있습니다. 이 경우 아래 참조는 해당 디렉토리의 fs.txt에 있습니다. uname -a커널 버전을 찾으 려면 명령을 사용하십시오 .

중요한 이유 :

보안 위험이있을 수 있습니다.
따라서 핵심 덤프가 있고 일반 사용자가 읽을 수 있으면 권한있는 정보를 찾을 수 있습니다. 프로그램이 제대로 덤프되면 메모리에 특권 정보가 있고 사용자가 덤프를 읽을 수 있으면 해당 특권 정보를 찾을 수 있습니다.

참고:

This value can be used to query and set the core dump mode for setuid
or otherwise protected/tainted binaries. The modes are

0 - (default) - traditional behaviour. Any process which has changed
   privilege levels or is execute only will not be dumped
1 - (debug) - all processes dump core when possible. The core dump is
   owned by the current user and no security is applied. This is
   intended for system debugging situations only.
2 - (suidsafe) - any binary which normally not be dumped is dumped
   readable by root only. This allows the end user to remove
   such a dump but not access it directly. For security reasons
   core dumps in this mode will not overwrite one another or 
   other files. This mode is appropriate when adminstrators are
   attempting to debug problems in a normal environment.

fs.txt도 여기에 온라인으로 있습니다 : kernel.org/doc/Documentation/sysctl/fs.txt
Sundae

1

setuid 프로세스에서 코어 덤프를 얻을 수 있는지 여부를 결정합니다.

원래 패치의 일부 정보

+suid_dumpable:
+
+This value can be used to query and set the core dump mode for setuid
+or otherwise protected/tainted binaries. The modes are
+
+0 - (default) - traditional behaviour. Any process which has changed
+   privilege levels or is execute only will not be dumped
+1 - (debug) - all processes dump core when possible. The core dump is
+   owned by the current user and no security is applied. This is
+   intended for system debugging situations only.
+2 - (suidsafe) - any binary which normally not be dumped is dumped
+   readable by root only. This allows the end user to remove
+   such a dump but not access it directly. For security reasons
+   core dumps in this mode will not overwrite one another or 
+   other files. This mode is appropriate when adminstrators are
+   attempting to debug problems in a normal environment.

그래서 이것은 엄밀한 정보입니까? 시작하는 프로세스에서 어떤 종류의 덤프를 얻을 수 있는지 알려줍니다.
IVR Avenger
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.