Що на 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 Avenger

Відповіді:


13

Деякі відомості:

Біт setuid: біт
setuid у виконаному файлі робить його таким чином виконуваним файлом, яким керує будь-який користувач, запускається так, ніби ним керує власник виконуваного файлу. Отже, якщо setuid встановлений у програмі, яка належить root, незалежно від того, хто її виконує, він буде працювати з правами root. Звичайно, це не так просто, перегляньте цю статтю у Вікіпедії або отримайте копію Програмування Стівена в середовищі Unix.

Основний дамп:
Основний дамп - це дамп робочої пам'яті програми до файлу. Дивіться цю статтю у Вікіпедії .

suid_dumpable :
Це визначає, чи можна ядро ​​скинути з встановленої програми, як описано вище. Дивись нижче. Це налаштування ядра, ви можете змінити його за допомогою:

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

Він визначає, чи можна отримати базові скиди від встановлених процесів.

Деяка інформація з оригінального патча

+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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.