Федеральная служба по техническому и экспортному контролю РФ разработала и утвердила методические рекомендации по повышению защищённости систем на базе ядра Linux. Рекомендации подлежат реализации в государственных информационных системах и на объектах критической информационной инфраструктуры РФ, построенных с использованием Linux, несертифицированных по требованиям безопасности информации.
Документ охватывает такие области, как настройка авторизации, ограничение механизмов получения привилегий, настройка прав доступа, настройка механизмов защиты ядра Linux, уменьшение периметра атак на ядро Linux и настройка средств защиты пользовательского пространства со стороны ядра Linux.
Основные рекомендации:
- Запрет учётных записей пользователей с пустыми паролями.
- Отключение входа суперпользователя по SSH (PermitRootLogin=no в /etc/ssh/sshd_config).
- Ограничение доступа к команде su пользователями из группы wheel ("auth required pam_wheel.so use_uid" в /etc/pam.d/su)
- Ограничение списка пользователей, которым разрешено использоватькоманду sudo.
- Установка корректных прав доступа к файлам с параметрами пользователей (chmod 644 /etc/passwd /etc/group) и хешами паролей (chmod go-rwx /etc/shadow).
- Установка корректных прав доступа к файлам запущенных процессов через выполнение "chmod go-w /путь/к/файлу" для всех исполняемыхфайлов и библиотек, связанных с запущенными в настоящий момент процессами, с последующей проверкой, что каталог, содержащий данныефайлы, а также все родительские каталоги недоступны для записинепривилегированным пользователям.
- Установка корректных прав доступа к исполняемым файлам, вызываемым из cron ("chmod go-w путь_к_файлу"), а также к файлам конфигурации cron /etc/crontab и /etc/cron.* ("chmod go-wx путь").
- Установить корректные права доступа к файлам, выполняемым спомощью sudo ("chown root путь_к_файлу" и "chmod go-w путь_к_файлу").
- Установить корректные права доступа к стартовым скриптам системы("chmod o-w filename" к каждому файлу в /etc/rc#.d, а также к файлам .service).
- Установить корректные права доступа к исполняемым файлам ибиблиотекам, расположенным по стандартным путям (/bin,/usr/bin, /lib, /lib64 и т.п.), а также к модулям ядра (/lib/modules/версия-текущего-ядра).
- Установить корректные права доступа к SUID/SGID-приложениямпутём проведения аудита всех SUID/SGID-приложений и удаления SUID/SGID-флагов с лишних.
- Установить корректные права доступа к содержимому домашнихкаталогов пользователей (.bash_history, .history, .sh_history, .bash_profile, .bashrc, .profile, .bash_logout и т.п.).
- Установить корректные права доступа к домашним каталогампользователей (chmod 700 каталог).
- Ограничить доступ к журналу ядра (sysctl -w kernel.dmesg_restrict=1).
- Блокирование утечки информации об адресном пространстве через /proc/kallsyms (sysctl -w kernel.kptr_restrict=2).
- Инициализировать нулями динамическую память ядра (параметр init_on_alloc=1 при загрузке).
- Запрет слияния кэшей slab-аллокатора ядра (параметр slab_nomerge при загрузке).
- Инициализировать механизм IOMMU (параметры iommu=force, iommu.strict=1 и iommu.passthrough=0 при загрузке).
- Рандомизировать расположение ядерного стека (параметр randomize_kstack_offset=1 при загрузке).
- Включить защиту от аппаратных уязвимостей CPU (параметр mitigations=auto,nosmt при загрузке).
- Включить защиту подсистемы eBPF (sysctl -w net.core.bpf_jit_harden=2).
- Отключить устаревший интерфейс vsyscall (параметр vsyscall=none при загрузке).
- Ограничить доступ к событиям производительности (sysctl -w kernel.perf_event_paranoid=3).
- Отключить монтирование виртуальной файловой системы debugfs (параметр debugfs=no-mount или off при загрузке).
- Отключить системный вызов kexec_load (sysctl -w kernel.kexec_load_disabled=1).
- Ограничить использование user namespaces (sysctl -w user.max_user_namespaces=0).
- Запретить системный вызов bpf для непривилегированныхпользователей (sysctl -w kernel.unprivileged_bpf_disabled=1).
- Запретить системный вызов userfaultfd для непривилегированныхпользователей (sysctl -w vm.unprivileged_userfaultfd=0).
- Запретить автоматическую загрузку модулей ядра, связанных с TTY Line Discipline (sysctl -w dev.tty.ldisc_autoload=0).
- Отключить технологию TSX (Transactional Synchronization Extensions)(параметр tsx=off при загрузке).
- Настроить минимальны виртуальный адрес, который разрешено использовать для mmap (sysctl -w vm.mmap_min_addr = 4096).
- Включить рандомизацию адресного пространства (sysctl -w kernel.randomize_va_space = 2).
- Запретить подключение к другим процессам с помощью ptrace (sysctl -w kernel.yama.ptrace_scope=3).
- Ограничить небезопасные варианты прохода по символическимссылкам (sysctl -w fs.protected_symlinks=1).
- Ограничить небезопасные варианты работы с жесткими ссылками(sysctl -w fs.protected_hardlinks=1).
- Включить защиту от непреднамеренной записи в FIFO-объект (sysctl -w fs.protected_fifos=2).
- Включить защиту от непреднамеренной записи в файл (sysctl -w fs.protected_regular=2).
- Запретить создание core dump для исполняемых файлов с флагом suid (sysctl -w fs.suid_dumpable=0).
// cc-by opennet.ru
// converted with crypt’s opennet autoreposter
>>> Подробности