Ограничение отладки и снижение системной избыточности — различия между версиями
Consta (обсуждение | вклад) (→Ограничение отладки и снижение системной избыточности) |
Consta (обсуждение | вклад) (→Ограничение отладки и снижение системной избыточности. Свод требований.) |
||
Строка 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> | ||
|- | |- | ||
− | | | + | | 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
Ограничение отладки и снижение системной избыточности. Свод требований.
Здесь приведены рекомендации по ограничению отладки и снижению системной избыточности. Настоятельно рекомендуется снижать системную избыточность, путем отключения или удаления не используемого ПО, технологий и(или) протоколов. Это снижает вероятную площадь поверхности атаки на систему.
Если система не используется в интересах разработки, а предназначена для работы с важными данными -- рекомендуется отключать любые отладочные интерфейсы, поскольку информация, представленная с их помощью, может быть использована злоумышленником для изучения системы, несанкционированного доступа к обрабатываемым в системе данным, или иного деструктивного воздействию.
Ограничения некоторых интерфейсов отладки уже описывалась в этой статье.
Сводная информация с рекомендуемыми настройками для ядра ОС и проекция к Методическому документу ФСТЭК «Рекомендации по обеспечению безопасной настройки операционных систем 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
— Перемонтировать все файловые системы в режиме «только для чтения».