Перейти к содержанию

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:

# /etc/sysctl.d/60-niceos-router.conf
net.ipv4.ip_forward = 1

Затем в согласованном окне обслуживания примените точечно:

sysctl -w net.ipv4.ip_forward=1
sysctl net.ipv4.ip_forward

Отдельно проверьте, не изменяет ли этот ключ последующий 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 может приводить к неожиданным блокировкам. Не отключайте его глобально без подтверждённой схемы.

При поиске неполадки

  1. Определите затронутый поток или системный вызов.
  2. Снимите параметры до изменения и прочитайте конфигурацию.
  3. Измените только необходимый ключ и задокументируйте причину.
  4. Повторите тест и сохраните результат.
  5. Подготовьте возвращение к исходному значению.

Источники: Core/systemd/SPECS/systemd.spec (Source2); политика после установки НАЙС.ОС, Linux networking sysctls.