Ограничение отладки и снижение системной избыточности — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Ограничение отладки и снижение системной избыточности)
 
(не показано 6 промежуточных версий этого же участника)
Строка 5: Строка 5:
 
Здесь приведены рекомендации по ограничению отладки и снижению системной избыточности. Настоятельно рекомендуется снижать системную избыточность, путем отключения или удаления не используемого ПО, технологий и(или) протоколов. Это снижает вероятную площадь поверхности атаки на систему.  
 
Здесь приведены рекомендации по ограничению отладки и снижению системной избыточности. Настоятельно рекомендуется снижать системную избыточность, путем отключения или удаления не используемого ПО, технологий и(или) протоколов. Это снижает вероятную площадь поверхности атаки на систему.  
  
Если система не используется в интересах разработки, а предназначена для работы с важными данными -- рекомендуется отключать любые отладочные интерфейсы, поскольку информация, представленная с их помощью, может быть использована злоумышленником для изучения системы, несанкционированного доступа к обрабатываемым в системе данным, или иному деструктивному воздействию.  
+
Если система не используется в интересах разработки, а предназначена для работы с важными данными -- рекомендуется отключать любые отладочные интерфейсы, поскольку информация, представленная с их помощью, может быть использована злоумышленником для изучения системы, несанкционированного доступа к обрабатываемым в системе данным, или иного деструктивного воздействию.
 +
 
 +
Ограничения некоторых интерфейсов отладки уже описывалась в [http://%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%B8_%D1%8F%D0%B4%D1%80%D0%B0_%D0%B2_%D0%9E%D0%A1_ROSA#.D0.97.D0.B0.D1.89.D0.B8.D1.82.D0.B0_.D0.BF.D0.B0.D0.BC.D1.8F.D1.82.D0.B8_.D0.B8_.D1.8F.D0.B4.D1.80.D0.B0_.D0.B2_.D0.9E.D0.A1_ROSA._.D0.A1.D0.B2.D0.BE.D0.B4_.D1.82.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B9 этой статье].  
  
 
Сводная информация с рекомендуемыми настройками для ядра ОС и проекция к Методическому документу ФСТЭК «Рекомендации по обеспечению безопасной настройки операционных систем Linux» от 25 декабря 2022 г. — приведена в таблице ниже:
 
Сводная информация с рекомендуемыми настройками для ядра ОС и проекция к Методическому документу ФСТЭК «Рекомендации по обеспечению безопасной настройки операционных систем Linux» от 25 декабря 2022 г. — приведена в таблице ниже:
Строка 14: Строка 16:
 
|-
 
|-
 
| 1 || <code>kernel.dmesg_restrict=1</code> || <code>/etc/sysctl.conf</code> || 2.4.1|| [http://wiki.rosalab.ru/ru/index.php/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%B8_%D1%8F%D0%B4%D1%80%D0%B0_%D0%B2_%D0%9E%D0%A1_ROSA#.D0.9E.D0.B3.D1.80.D0.B0.D0.BD.D0.B8.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BD.D0.B0_.D0.BF.D1.80.D0.BE.D1.81.D0.BC.D0.BE.D1.82.D1.80_.D1.81.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D0.B9_.D1.8F.D0.B4.D1.80.D0.B0 См.] || <code>0</code>
 
| 1 || <code>kernel.dmesg_restrict=1</code> || <code>/etc/sysctl.conf</code> || 2.4.1|| [http://wiki.rosalab.ru/ru/index.php/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%B8_%D1%8F%D0%B4%D1%80%D0%B0_%D0%B2_%D0%9E%D0%A1_ROSA#.D0.9E.D0.B3.D1.80.D0.B0.D0.BD.D0.B8.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BD.D0.B0_.D0.BF.D1.80.D0.BE.D1.81.D0.BC.D0.BE.D1.82.D1.80_.D1.81.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D0.B9_.D1.8F.D0.B4.D1.80.D0.B0 См.] || <code>0</code>
 +
|-
 +
| 2 || <code>kernel.kptr_restrict=2</code> || <code>/etc/sysctl.conf</code> || 2.4.2 || [http://wiki.rosalab.ru/ru/index.php/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%B8_%D1%8F%D0%B4%D1%80%D0%B0_%D0%B2_%D0%9E%D0%A1_ROSA#.D0.97.D0.B0.D1.89.D0.B8.D1.82.D0.B0_.D0.BE.D1.82_.D0.BF.D1.80.D0.BE.D1.81.D0.BC.D0.BE.D1.82.D1.80.D0.B0_.D0.B0.D0.B4.D1.80.D0.B5.D1.81.D0.BE.D0.B2_.D1.83.D0.BA.D0.B0.D0.B7.D0.B0.D1.82.D0.B5.D0.BB.D0.B5.D0.B9 См.] || <code>0</code>
 
|-
 
|-
 
| 3 || <code>debugfs=no-mount</code> || <code>/etc/default/grub</code> || 2.5.3 || [http://wiki.rosalab.ru/ru/index.php/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%B8_%D1%8F%D0%B4%D1%80%D0%B0_%D0%B2_%D0%9E%D0%A1_ROSA#.D0.9E.D1.82.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BB.D1.83.D0.B6.D0.B5.D0.B1.D0.BD.D0.BE.D0.B9_.D0.A4.D0.A1_.D1.8F.D0.B4.D1.80.D0.B0_debugfs См.] || Неактивно
 
| 3 || <code>debugfs=no-mount</code> || <code>/etc/default/grub</code> || 2.5.3 || [http://wiki.rosalab.ru/ru/index.php/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%B8_%D1%8F%D0%B4%D1%80%D0%B0_%D0%B2_%D0%9E%D0%A1_ROSA#.D0.9E.D1.82.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BB.D1.83.D0.B6.D0.B5.D0.B1.D0.BD.D0.BE.D0.B9_.D0.A4.D0.A1_.D1.8F.D0.B4.D1.80.D0.B0_debugfs См.] || Неактивно
 
|-
 
|-
 
+
| 4 || <code>fs.protected_symlinks=1</code> || <code>/etc/sysctl.conf</code> || 2.6.2 || -- || <code>1</code>
 +
|-
 +
| 5 || <code>fs.protected_hardlinks=1</code> || <code>/etc/sysctl.conf</code> || 2.6.3 || -- || <code>1</code>
 +
|-
 +
| 6 || <code>fs.protected_fifos=2</code> || <code>/etc/sysctl.conf</code> || 2.6.4 || -- || <code>1</code>
 +
|-
 +
| 7 || <code>fs.protected_regular=1</code> || <code>/etc/sysctl.conf</code> || 2.6.5 || -- || <code>1</code>
 +
|-
 +
| 8 || <code>fs.suid_dumpable=0</code> || <code>/etc/sysctl.conf</code> || 2.6.3 || -- || <code>0</code>
 
|-
 
|-
| 20 || <code>kernel.yama.ptrace_scope=3</code> || <code>/etc/sysctl.conf</code> || 2.6.1 || [http://wiki.rosalab.ru/ru/index.php/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%B8_%D1%8F%D0%B4%D1%80%D0%B0_%D0%B2_%D0%9E%D0%A1_ROSA#.D0.9E.D1.82.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.82.D1.80.D0.B0.D1.81.D1.81.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B8_.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D1.81.D1.81.D0.BE.D0.B2 См.] || <code>1</code>
+
| 9 || <code>kernel.yama.ptrace_scope=3</code> || <code>/etc/sysctl.conf</code> || 2.6.1 || [http://wiki.rosalab.ru/ru/index.php/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_%D0%B8_%D1%8F%D0%B4%D1%80%D0%B0_%D0%B2_%D0%9E%D0%A1_ROSA#.D0.9E.D1.82.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.82.D1.80.D0.B0.D1.81.D1.81.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B8_.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D1.81.D1.81.D0.BE.D0.B2 См.] || <code>1</code>
 
|}
 
|}
  
 
== Ограничение отладки и снижение системной избыточности ==
 
== Ограничение отладки и снижение системной избыточности ==
 +
 +
'''В чем опасность?'''
  
 
Опасность заключается в возможности извлечения данных из отладочной информации, образующейся, например, при крахе приложений (core dumps). Или в возможности извлечения отладочной информации напрямую из ядра ОС.
 
Опасность заключается в возможности извлечения данных из отладочной информации, образующейся, например, при крахе приложений (core dumps). Или в возможности извлечения отладочной информации напрямую из ядра ОС.
Строка 28: Строка 42:
 
Операционная система в конфигурации по умолчанию поддерживает большое количество файловых систем, сетевых технологий и различных устройств. Не все они нужны при работе. Может быть опасно использовать файловые системы, в которых не поддерживаются атрибуты безопасности, а также файловые системы, предполагающие наличие избыточных прав доступа (возможность создания файлов устройств, исполнения файлов, установки бита смены идентификатора и т.п.). Кроме файловых систем опасность представляет поддержка любых устаревших или неиспользуемых технологий или устройств, которая может способствовать компрометации системы или упрощать проникновение в нее и манипуляции с данными.  
 
Операционная система в конфигурации по умолчанию поддерживает большое количество файловых систем, сетевых технологий и различных устройств. Не все они нужны при работе. Может быть опасно использовать файловые системы, в которых не поддерживаются атрибуты безопасности, а также файловые системы, предполагающие наличие избыточных прав доступа (возможность создания файлов устройств, исполнения файлов, установки бита смены идентификатора и т.п.). Кроме файловых систем опасность представляет поддержка любых устаревших или неиспользуемых технологий или устройств, которая может способствовать компрометации системы или упрощать проникновение в нее и манипуляции с данными.  
  
В данной статье даны рекомендации по ограничению отладки. А также приведена справочная информация о поддержке операционной системой различных файловых систем, сетевых протоколов, технологий и устройств и даны рекомендации по снижению избыточности. То есть рекомендуется проанализировать, а нужно ли вам использовать ту или иную ФС, технологию или устройство. Если поддержка чего-либо вам не требуется, то здесь описаны способы отключения избыточной функциональности. Следуя этим рекомендациям можно существенно снизить площадь атаки на ядро ОС и на систему в целом.
+
'''Что можно сделать для повышения безопасности?'''
 +
 
 +
Можно следовать рекомендациям, изложенным в этом руководстве и описывающим различные способы ограничений для получения отладочной информации. Здесь также приведена справочная информация о поддержке операционной системой различных файловых систем, сетевых протоколов, технологий и устройств и даны рекомендации по снижению избыточности. То есть рекомендуется проанализировать, а нужно ли вам использовать ту или иную ФС, технологию или устройство. Если поддержка чего-либо вам не требуется, то здесь описаны способы отключения избыточной функциональности.  
  
 
=== Отключение сброса страниц памяти с помощью <code>SysRq</code> ===
 
=== Отключение сброса страниц памяти с помощью <code>SysRq</code> ===
Строка 64: Строка 80:
 
* <code>Alt+SysRq+U</code> — Перемонтировать все файловые системы в режиме «только для чтения».
 
* <code>Alt+SysRq+U</code> — Перемонтировать все файловые системы в режиме «только для чтения».
  
 +
Для проверки текущей конфигурации <code>SysRq</code> выполнить:
 +
 +
<code># cat /proc/sys/kernel/sysrq</code>
 +
 +
<code>0</code>
 +
 +
Иначе, если значение вывода отлично от нуля, выполнить:
 +
 +
<code># echo "0" > /proc/sys/kernel/sysrq</code>
 +
 +
<code># echo "kernel.sysrq = 0" >> /etc/sysctl.conf</code>
 +
 +
Иногда разумно использовать значение <code>kernel.sysrq = 4</code> (вместо <code>kernel.sysrq = 0</code>). Это значение устанавливает возможность использования комбинации <code>Alt+SysRq+K</code>, которая сбросит все процессы на текущем терминале входа. Это может быть полезно, при совершении входа в систему. Если предположить, что нарушитель смог внедрить в систему программу, перехватывающую ввод с текущего терминала (кейлоггер), то при нажатии <code>Alt+SysRq+K</code> будут уничтожены все процессы (включая фоновые) и, таким образом, и любые несанкционированные процессы или программы, внедренные злоумышленником. Это увеличивает доверие к операции входа в ОС с данного терминала входа.
 +
 +
Администратору системы следует помнить об этом, и принимать решение, опираясь на знание специфики использования «магических клавиш», адекватно оценивая угрозу внедрения в ОС программ перехвата ввода.
 +
 +
=== Параметры системы, ограничивающие возможность получения отладочной информации ===
 +
 +
Файл <code>/etc/security/limits.conf</code> используется для указания общесистемных ограничений или лимитов. Здесь можно задавать много параметров. Но в данном случае важны параметры переменных
 +
<code>soft core</code> и <code>hard core</code>. Эти переменные призваны определять «мягкий» (soft) и «жесткий» (hard) лимит на размер отладочного дампа (core dump). Если указать значение <code>0</code>, то размер файлов core dump будет нулевой. 
 +
 +
Для этого в файле <code>/etc/security/limits.conf</code> нужно указать следующее:
 +
 +
<code>* hard core 0</code>
 +
 +
<code>* soft core 0</code>
 +
 +
Звездочка указывает, что данное ограничение будет применено для всех интерактивных пользователей системы, включая пользователя <code>root</code>. Для того, чтобы ограничения вступили в силу, необходимо выйти из текущего сеанса и зайти заново.
 +
 +
Поскольку файл <code>/etc/security/limits.conf</code> анализируется только для пользователей, получающих сеанс интерактивной работы, то для служб и системных пользователей, от имени которых выполняются службы и сервисы, значения, указываемые в этом файле  неприменимы. Для ограничений, накладываемых на фоновые процессы, службы и сервисы, необходимо использовать интерфейсы службы <code>systemd</code>, чему посвящена отдельная статья.
 +
 +
В файле <code>/etc/sysctl.conf</code> можно указать значение специальной переменной ядра, которая явно запрещает создание дампов памяти от имени процессов с установленным битом смены идентификатора пользователя (SUID bit):
 +
 +
<code># cat /etc/sysctl.conf | grep fs.suid
 +
 +
fs.suid_dumpable = 0</code>
 +
 +
Если её значение по каким то причинам не равно нулю (значение по умолчанию), то рекомендуется задать безопасное значение:
 +
 +
<code># echo 0 > /proc/sys/fs/suid_dumpable</code>
 +
 +
<code>echo "fs.suid_dumpable = 0" >> /etc/sysctl.conf</code>
 +
 +
Можно дополнительно установить ограничение (лимит) в файле <code>/etc/profile</code> для всех интерактивных пользователей системы (пример приведен только для оболочки <code>bourne shell</code> и совместимых с ней):
 +
 +
<code># echo "ulimit -S -c 0 > /dev/null 2>&1" >> /etc/profile</code>
 +
 +
Это значение принудительно ограничивает системное окружение пользователя, но не применяется к его текущему сеансу. Чтобы оно применялось, требуется получить новый сеанс (то есть выйти из системы и повторно зайти в неё).
 +
 +
Если сбросом дампов управляет служба <code>systemd</code>, т.е. служба <code>systemd-coredump</code> установлена и запущена, то в файле <code>/etc/systemd/coredump.conf</code> также можно установить безопасные значения:
 +
 +
<code>Storage=none
 +
 +
ProcessSizeMax=0</code>
  
  
 
[[Категория:Безопасность]]
 
[[Категория:Безопасность]]

Текущая версия на 01:48, 31 декабря 2023

Away.png
Это заготовка статьи!
Вы можете помочь проекту, дописав и дополнив данную статью.


Ограничение отладки и снижение системной избыточности. Свод требований.

Здесь приведены рекомендации по ограничению отладки и снижению системной избыточности. Настоятельно рекомендуется снижать системную избыточность, путем отключения или удаления не используемого ПО, технологий и(или) протоколов. Это снижает вероятную площадь поверхности атаки на систему.

Если система не используется в интересах разработки, а предназначена для работы с важными данными -- рекомендуется отключать любые отладочные интерфейсы, поскольку информация, представленная с их помощью, может быть использована злоумышленником для изучения системы, несанкционированного доступа к обрабатываемым в системе данным, или иного деструктивного воздействию.

Ограничения некоторых интерфейсов отладки уже описывалась в этой статье.

Сводная информация с рекомендуемыми настройками для ядра ОС и проекция к Методическому документу ФСТЭК «Рекомендации по обеспечению безопасной настройки операционных систем Linux» от 25 декабря 2022 г. — приведена в таблице ниже:

№ п/п Параметр и рекомендуемое значение Интерфейс См. документ ФСТЭК См. раздел Значение по умолчанию
1 kernel.dmesg_restrict=1 /etc/sysctl.conf 2.4.1 См. 0
2 kernel.kptr_restrict=2 /etc/sysctl.conf 2.4.2 См. 0
3 debugfs=no-mount /etc/default/grub 2.5.3 См. Неактивно
4 fs.protected_symlinks=1 /etc/sysctl.conf 2.6.2 -- 1
5 fs.protected_hardlinks=1 /etc/sysctl.conf 2.6.3 -- 1
6 fs.protected_fifos=2 /etc/sysctl.conf 2.6.4 -- 1
7 fs.protected_regular=1 /etc/sysctl.conf 2.6.5 -- 1
8 fs.suid_dumpable=0 /etc/sysctl.conf 2.6.3 -- 0
9 kernel.yama.ptrace_scope=3 /etc/sysctl.conf 2.6.1 См. 1

Ограничение отладки и снижение системной избыточности

В чем опасность?

Опасность заключается в возможности извлечения данных из отладочной информации, образующейся, например, при крахе приложений (core dumps). Или в возможности извлечения отладочной информации напрямую из ядра ОС.

Операционная система в конфигурации по умолчанию поддерживает большое количество файловых систем, сетевых технологий и различных устройств. Не все они нужны при работе. Может быть опасно использовать файловые системы, в которых не поддерживаются атрибуты безопасности, а также файловые системы, предполагающие наличие избыточных прав доступа (возможность создания файлов устройств, исполнения файлов, установки бита смены идентификатора и т.п.). Кроме файловых систем опасность представляет поддержка любых устаревших или неиспользуемых технологий или устройств, которая может способствовать компрометации системы или упрощать проникновение в нее и манипуляции с данными.

Что можно сделать для повышения безопасности?

Можно следовать рекомендациям, изложенным в этом руководстве и описывающим различные способы ограничений для получения отладочной информации. Здесь также приведена справочная информация о поддержке операционной системой различных файловых систем, сетевых протоколов, технологий и устройств и даны рекомендации по снижению избыточности. То есть рекомендуется проанализировать, а нужно ли вам использовать ту или иную ФС, технологию или устройство. Если поддержка чего-либо вам не требуется, то здесь описаны способы отключения избыточной функциональности.

Отключение сброса страниц памяти с помощью SysRq

Для отладки любая ОС ROSA (и Linux вообще) поддерживает обработку т.н. «магических клавиш» SysRq — это сокращение от System Request (системный запрос).

Ниже описаны наиболее важные и популярные сочетания SysRq:

  • Alt+SysRq+B — Немедленно перезагрузить ОС (без синхронизации дисковых кешей и размонтирования ФС);
  • Alt+SysRq+C — Принудительный крах ОС со сбросом на диск состояния памяти;
  • Alt+SysRq+E — Послать сигнал SIGTERM всем процессам, кроме systemd;
  • Alt+SysRq+F — Запустить механизм oom_kill, который уничтожит процесс занимающий очень много памяти;
  • Alt+SysRq+I — Послать сигнал SIGKILL всем процессам, кроме systemd;
  • Alt+SysRq+K — Уничтожить все процессы в текущем терминале;
  • Alt+SysRq+L -- Послать сигнал SIGKILL всем процессам, включая systemd;
  • Alt+SysRq+N — Сбросить до нуля приоритет всех процессов с повышенным значением приоритета;
  • Alt+SysRq+O — Выключить компьютер (аналогично выключению электропитания);
  • Alt+SysRq+P — Выдать сброс текущего состояния регистров процессора в текущий терминал.
  • Alt+SysRq+R — Вернуть управление клавиатурой в случае сбоя X-сервера;
  • Alt+SysRq+S — Синхронизировать весь кеш оперативной памяти на диск;
  • Alt+SysRq+T — Вывести всю информацию о запущенных процессах на текущую консоль;
  • Alt+SysRq+U — Перемонтировать все файловые системы в режиме «только для чтения».

Для проверки текущей конфигурации SysRq выполнить:

# cat /proc/sys/kernel/sysrq

0

Иначе, если значение вывода отлично от нуля, выполнить:

# echo "0" > /proc/sys/kernel/sysrq

# echo "kernel.sysrq = 0" >> /etc/sysctl.conf

Иногда разумно использовать значение kernel.sysrq = 4 (вместо kernel.sysrq = 0). Это значение устанавливает возможность использования комбинации Alt+SysRq+K, которая сбросит все процессы на текущем терминале входа. Это может быть полезно, при совершении входа в систему. Если предположить, что нарушитель смог внедрить в систему программу, перехватывающую ввод с текущего терминала (кейлоггер), то при нажатии Alt+SysRq+K будут уничтожены все процессы (включая фоновые) и, таким образом, и любые несанкционированные процессы или программы, внедренные злоумышленником. Это увеличивает доверие к операции входа в ОС с данного терминала входа.

Администратору системы следует помнить об этом, и принимать решение, опираясь на знание специфики использования «магических клавиш», адекватно оценивая угрозу внедрения в ОС программ перехвата ввода.

Параметры системы, ограничивающие возможность получения отладочной информации

Файл /etc/security/limits.conf используется для указания общесистемных ограничений или лимитов. Здесь можно задавать много параметров. Но в данном случае важны параметры переменных soft core и hard core. Эти переменные призваны определять «мягкий» (soft) и «жесткий» (hard) лимит на размер отладочного дампа (core dump). Если указать значение 0, то размер файлов core dump будет нулевой.

Для этого в файле /etc/security/limits.conf нужно указать следующее:

* hard core 0

* soft core 0

Звездочка указывает, что данное ограничение будет применено для всех интерактивных пользователей системы, включая пользователя root. Для того, чтобы ограничения вступили в силу, необходимо выйти из текущего сеанса и зайти заново.

Поскольку файл /etc/security/limits.conf анализируется только для пользователей, получающих сеанс интерактивной работы, то для служб и системных пользователей, от имени которых выполняются службы и сервисы, значения, указываемые в этом файле неприменимы. Для ограничений, накладываемых на фоновые процессы, службы и сервисы, необходимо использовать интерфейсы службы systemd, чему посвящена отдельная статья.

В файле /etc/sysctl.conf можно указать значение специальной переменной ядра, которая явно запрещает создание дампов памяти от имени процессов с установленным битом смены идентификатора пользователя (SUID bit):

# cat /etc/sysctl.conf | grep fs.suid

fs.suid_dumpable = 0

Если её значение по каким то причинам не равно нулю (значение по умолчанию), то рекомендуется задать безопасное значение:

# echo 0 > /proc/sys/fs/suid_dumpable

echo "fs.suid_dumpable = 0" >> /etc/sysctl.conf

Можно дополнительно установить ограничение (лимит) в файле /etc/profile для всех интерактивных пользователей системы (пример приведен только для оболочки bourne shell и совместимых с ней):

# echo "ulimit -S -c 0 > /dev/null 2>&1" >> /etc/profile

Это значение принудительно ограничивает системное окружение пользователя, но не применяется к его текущему сеансу. Чтобы оно применялось, требуется получить новый сеанс (то есть выйти из системы и повторно зайти в неё).

Если сбросом дампов управляет служба systemd, т.е. служба systemd-coredump установлена и запущена, то в файле /etc/systemd/coredump.conf также можно установить безопасные значения:

Storage=none

ProcessSizeMax=0