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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Ограничение отладки и снижение системной избыточности)
(Ограничение отладки и снижение системной избыточности. Свод требований.)
Строка 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>
 
|}
 
|}
  

Версия 01:00, 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 — Перемонтировать все файловые системы в режиме «только для чтения».