2.5. Уменьшение периметра атаки ядра Linux

При уменьшении периметра атаки ядра Linux необходимо:

2.5.1. Отключить устаревший интерфейс vsyscall путем установки значения опции загрузки ядра vsyscall=none. Эта настройка позволяет изменить значение опции сборки ядра CONFIG_LEGACY_VSYSCALL_NONE при запуске системы (per boot).

2.5.2. Ограничить доступ к событиям производительности путем установки значения sysctl-опции kernel.perf_event_paranoid=3.

2.5.3. Отключить монтирование виртуальной файловой системы debugfs путем установки значения опции загрузки ядра debugfs=no-mount (по возможности off).

2.5.4. Отключить системный вызов kexec_load путем установки значения sysctl-опции kernel.kexec_load_disabled=1.

2.5.5. Ограничить использование user namespaces путем установки значения sysctl-опции user.max_user_namespaces=0. Если система на базе Linux не использует user namespaces для выполнения своей задачи, то данная настройка никак не повлияет на работу системы. Рекомендуется предварительно проверить реализацию данной рекомендации на тестовой системе.

2.5.6. Запретить системный вызов bpf для непривилегированных пользователей путем установки значения sysctl-опции kernel.unprivileged_bpf_disabled=1. Если непривилегированные процессы в системе на базе Linux не используют BPF для выполнения своей задачи, данная настройка никак не повлияет на работу системы. Рекомендуется предварительно проверить реализацию данной рекомендации на тестовой системе.

2.5.7. Запретить системный вызов userfaultfd для непривилегированных пользователей путем установки значения sysctl-опции vm.unprivileged_userfaultfd=0.

2.5.8. Запретить автоматическую загрузку модулей ядра, отвечающих за поддержку дисциплины линии терминала путем установки значения sysctl-опции dev.tty.ldisc_autoload=0.

2.5.9. Отключить технологию Transactional Synchronization Extensions (TSX) путем установки значения опции загрузки ядра tsx=off.

2.5.10. Настроить параметр ядра, который определяет минимальный виртуальный адрес, который процессу разрешено использовать для mmap, путем использования sysctl-опции vm.mmap_min_addr = 4096 или больше.

2.5.11. Реализовать рандомизацию адресного пространства, которая защищает от атак на переполнение буфера, путем использования команды после тестирования kernel.randomize_va_space = 2.