🏰
Безопасность

Hardening сервера: Linux аудит, firewall и правила SELinux

15.10.2034
← Все статьи

Что такое hardening сервера и зачем он нужен

Hardening буквально означает «закаливание» — процесс делать сервер устойчивым к атакам. Дистрибутивы Linux по умолчанию включают много сервисов: FTP, Telnet, RPC, Samba и другие. Всё это расширяет attack surface — поверхность атаки. Hardening ставит цель максимально её уменьшить.

В практике Sayt.uz каждый новый сервер настраивается автоматическим скриптом hardening на основе CIS Benchmark и рекомендаций NIST с более чем 200 правилами. Такой подход исключает ручные ошибки и даёт стандартный результат при аудите.

Linux-аудит и начальная проверка

Первый шаг — понять текущее состояние. Инструменты Lynis, OpenSCAP или tiger сканируют сервер и выдают отчёт по безопасности. В отчёте проверяются открытые порты, запущенные сервисы, права на файлы, учётные записи и настройки. По каждой проблеме указывается severity и рекомендация по исправлению.

Аудит — не разовая задача, а постоянный процесс. На Sayt.uz Lynis запускается еженедельно, результат уходит в Slack. Если score падает ниже 90, автоматически создаётся ticket ответственному инженеру, и проблема должна быть устранена в течение 48 часов.

Отключение лишних сервисов

Правило «неиспользуемый сервис — вектор атаки» работает всегда. Команда systemctl list-unit-files показывает все включённые сервисы. Веб-серверу не нужны FTP, Telnet, Avahi, CUPS или Bluetooth. Их полностью отключают командами systemctl disable и systemctl mask.

Рекомендация Sayt.uz: минимальный набор для production — sshd, ваше приложение, monitoring agent и log forwarder. Всё остальное отключено. Для удобства готовится base image (Docker или AMI), и все серверы запускаются в одинаковом состоянии.

Firewall и сегментация сети

Firewall — основа hardening. Откажитесь от схемы «разрешено по умолчанию» в пользу default deny. Открывайте только нужные порты и только нужным источникам. Правила пишутся через iptables, nftables или ufw — просто и понятно.

Сетевая схема Sayt.uz: внешний firewall (Cloudflare WAF) открывает только 80 и 443, внутренний разрешает SSH только с IP bastion, а порт базы данных — только с IP app-серверов. Такая сегментация не даёт злоумышленнику пройти дальше, даже если один сервер будет скомпрометирован.

SELinux и обязательные права

SELinux — дополнительный слой безопасности ядра Linux, который вводит систему обязательных прав для каждого процесса и файла. Даже root не может нарушить правило SELinux. AppArmor — аналогичный механизм для Ubuntu и Debian.

Многие администраторы отключают SELinux со словами «не работает», но это большая ошибка. В практике Sayt.uz SELinux работает в режиме enforcing, и для каждого кастомного приложения пишется отдельная policy. Сначала стоит работать в permissive, анализировать audit log и только потом переходить в enforcing.

Практика Sayt.uz

Hardening на Sayt.uz: все серверы настраиваются через Ansible-плейбук (CIS Benchmark Level 2), SELinux enforcing, fail2ban для SSH и веба, auditd на все critical-файлы, включён unattended-upgrades, root login полностью запрещён, каждая команда sudo логируется. Lynis-аудит раз в месяц, penetration test раз в квартал, результаты идут руководству.

Похожие статьи

🛡️ Защита от ransomware: бэкапы, сегментация, EDR и реагирование на инциденты 🎣 Защита сотрудников от фишинговых атак: обучение и технические меры 📋 Чеклист аудита безопасности: WordPress, сервер, SSL и проверка резервных копий 🔐 Мониторинг SSL-сертификатов: отслеживание срока действия и авто-обновление
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English