sysctl: параметры ядра и профиль безопасности¶
sysctl управляет параметрами ядра Linux во время работы. В НАЙС.ОС CLOUD штатный профиль усиления защиты задаётся через файл 50-security-hardening.conf, описанный как Source2 пакета systemd. Полный исходный текст этого файла в данном архиве SPEC отсутствует, поэтому точные значения следует считывать с установленной системы.
Не отключайте hardening ради обхода ошибки
Включение форвардинга, отключение проверки маршрута, изменение настроек ptrace или доступности сообщений ядра должно соответствовать роли сервера и политике организации. Нельзя считать произвольный совет из интернета стандартом НАЙС.ОС.
Проверяем фактическое состояние¶
sysctl kernel.randomize_va_space kernel.kptr_restrict kernel.dmesg_restrict
sysctl kernel.yama.ptrace_scope fs.suid_dumpable
sysctl net.ipv4.ip_forward net.ipv6.conf.all.forwarding
sysctl net.ipv4.conf.all.rp_filter net.ipv4.tcp_syncookies
systemd-sysctl --help | head -20
Обратите внимание: часть ключей может отсутствовать в конкретной конфигурации ядра. Это не обязательно признак компрометации. Запишите версию ядра uname -r.
Где задаются параметры¶
ls -l /etc/sysctl.d/ /usr/lib/sysctl.d/ /run/sysctl.d/ 2>/dev/null
ls -l /etc/sysctl.conf 2>/dev/null
sed -n '1,200p' /etc/sysctl.d/50-security-hardening.conf
Файлы одного имени в каталогах с различным приоритетом могут переопределяться. Для нескольких разных файлов итоговое значение одного ключа зависит от порядка конфигурации. Не редактируйте пакетный файл напрямую, если механизм поддерживает отдельную конфигурацию роли сервера.
Безопасная корректировка для определённой роли¶
Допустим, на сервере оформлена роль IPv4-шлюза и действительно нужен ip_forward=1:
Затем в согласованном окне обслуживания примените точечно:
Отдельно проверьте, не изменяет ли этот ключ последующий sysctl --system, и повторите чтение после reboot. Нельзя автоматически переносить такое изменение на обычную рабочую VM.
Что означает популярный набор параметров¶
| Параметр | Для чего проверять |
|---|---|
kernel.randomize_va_space |
Рандомизация адресного пространства ASLR |
kernel.kptr_restrict |
Ограничение раскрытия адресов ядра |
kernel.dmesg_restrict |
Ограничение чтения dmesg |
kernel.yama.ptrace_scope |
Ограничения отладки чужих процессов |
net.ipv4.ip_forward |
Маршрутизация IPv4 |
net.ipv4.conf.*.rp_filter |
Проверка обратного пути; сложная маршрутизация требует внимания |
net.ipv4.tcp_syncookies |
Защита от части SYN-flood сценариев |
rp_filter при асимметричных маршрутах, VPN и policy routing может приводить к неожиданным блокировкам. Не отключайте его глобально без подтверждённой схемы.
При поиске неполадки¶
- Определите затронутый поток или системный вызов.
- Снимите параметры до изменения и прочитайте конфигурацию.
- Измените только необходимый ключ и задокументируйте причину.
- Повторите тест и сохраните результат.
- Подготовьте возвращение к исходному значению.
Источники: Core/systemd/SPECS/systemd.spec (Source2); политика после установки НАЙС.ОС, Linux networking sysctls.