บน Redhat“ kernel.suid_dumpable = 1” หมายถึงอะไร


9

ฉันใช้สคริปต์ทุบตีเพื่อคัดลอกไฟล์บันทึกแล้วเริ่มบริการใหม่ในกล่อง 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 Avenger

คำตอบ:


13

พื้นหลังบางส่วน:

บิต setuid: บิต
setuid ของไฟล์ที่เรียกทำงานทำให้มันสามารถเรียกใช้งานได้โดยผู้ใช้ทุกคนราวกับว่าพวกมันถูกเรียกใช้โดยเจ้าของไฟล์ที่รันได้ ดังนั้นหาก setuid ตั้งค่าไว้ในโปรแกรมที่เป็นเจ้าของโดย root ไม่ว่าใครจะทำงานก็ตามมันจะถูกรันด้วยสิทธิ์พิเศษของรูท แน่นอนว่าไม่ใช่เรื่องง่ายดูบทความวิกิพีเดียนี้หรือรับสำเนาการวางโปรแกรมของ Steven ในสภาพแวดล้อม Unix

Core Dump: ดัมพ์
หลักคือดัมพ์ของหน่วยความจำที่ใช้งานได้ของโปรแกรมไปยังไฟล์ ดูบทความวิกิพีเดียนี้

suid_dumpable :
สิ่งนี้จะควบคุมหากแกนกลางสามารถถูกเททิ้งจากโปรแกรม setuid ตามที่อธิบายไว้ข้างต้น ดูด้านล่าง นี่คือเคอร์เนลที่สามารถปรับแต่งได้คุณสามารถเปลี่ยนได้ด้วย:

sudo sysctl -w kernel.suid_dumpable=2

คุณจะพบข้อมูลเกี่ยวกับ tunable นี้ในเอกสารประกอบสำหรับ sourcode ของคุณซึ่งหากติดตั้งคุณอาจพบในไดเรกทอรีเช่น: /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

มันเป็นตัวกำหนดว่าคุณจะได้รับ core dumps จากกระบวนการ 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.