Защита сервера начинается с системного подхода, а не с случайных команд. Это руководство предоставляет готовые, проверенные на практике решения для hardening Linux в 2026 году. Вы получите конкретные команды для настройки брандмауэра, управления доступом и отключения опасных служб. Инструкции по аудиту с Lynis и OpenSCAP помогут автоматизировать контроль, а чек-лист зафиксирует все ключевые шаги. Цель - снизить риски без сбоев в рабочей среде.
Подготовка и базовый принцип минимальных привилегий
Первое правило hardening - не сломать работающий сервер. Все изменения требуют подготовки и понимания фундаментального принципа минимальных привилегий. Он означает, что каждый пользователь, процесс или служба получает только те права, необходимые для выполнения своей функции. Это основа всех дальнейших действий.
Создание точки отката: резервное копирование конфигов и сессий
Сделайте резервные копии критических файлов перед любыми изменениями. Используйте команды для создания бэкапа конфигураций SSH, sudo и сетевых настроек.
# Копирование конфигураций SSH и sudo
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
cp /etc/sudoers /etc/sudoers.backup
# Бэкап текущих правил брандмауэра (для nftables)
nft list ruleset > /etc/nftables.backup
# Скрипт для быстрого бэкапа ключевых директорий
mkdir -p /root/backup/hardening
cp -r /etc/ssh /etc/sudoers.d /etc/nftables.conf /root/backup/hardening/
Для длительных операций используйте screen или tmux. Это предотвратит разрыв сессии при потере соединения.
Принцип минимальных привилегий: почему это основа безопасности в 2026
Принцип аналогичен выдаче ключа от конкретного сейфа, а не от всего офиса. Нарушение приводит к уязвимости всей системы. Например, служба, работающая с правами root, становится целью для атаки. Пользователь с полным sudo может случайно удалить критичные данные. Этот принцип определяет настройку пользователей, политики sudo и выбор активных служб в следующих разделах.
Контроль доступа: пользователи, SSH и права sudo
Управление доступом - это контроль точек входа в систему. Настройка SSH и политик sudo напрямую влияет на вероятность несанкционированного доступа. Используйте готовые конфигурации, которые можно адаптировать для вашего сервера.
Жесткая настройка SSH-сервера (sshd_config)
Отредактируйте файл /etc/ssh/sshd_config. Применяйте изменения после тестирования подключения по SSH-ключу.
# /etc/ssh/sshd_config - основные параметры для 2026
Port 2222 # Смена стандартного порта
PermitRootLogin no # Запрет прямого доступа root
PasswordAuthentication no # Отключение парольной аутентификации
PubkeyAuthentication yes # Использование только ключей
AllowUsers admin deploy # Ограничение пользователей
MaxAuthTries 3 # Лимит попыток аутентификации
ClientAliveInterval 300 # Таймаут неактивных сессий
После изменения конфига проверьте подключение по ключу, прежде чем закрывать текущую сессию. Команда для применения: systemctl restart sshd.
Грамотное управление привилегиями через sudo
Не редактируйте файл /etc/sudoers напрямую через visudo. Создавайте отдельные файлы в директории /etc/sudoers.d/. Это упрощает управление и снижает риск ошибок.
# Создание файла для пользователя deploy
echo "deploy ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/systemctl status nginx" > /etc/sudoers.d/deploy
# Пример опасного правила, которое нужно избегать
# "admin ALL=(ALL) ALL" дает полный root доступ
Для аудита текущих прав используйте команду sudo -l. Она покажет разрешенные команды для текущего пользователя.
Сетевая изоляция: настройка брандмауэра (firewalld и nftables)
Брандмауэр определяет, какой трафик может достичь сервера. В 2026 году firewalld остается стандартом для простоты, а nftables - для гибкости и будущего. Выберите инструмент, соответствующий вашим задачам.
Firewalld: быстрая и понятная базовая защита
Firewalld использует зоны и службы для упрощенного управления. Эта последовательность команд создает базовую политику "запретить всё, разрешить избранное".
# Установка и запуск (на системах с yum/dnf)
yum install firewalld
systemctl enable --now firewalld
# Создание строгой зоны и добавление служб
firewall-cmd --new-zone=secure --permanent
firewall-cmd --zone=secure --add-service=ssh --permanent
firewall-cmd --zone=secure --add-service=http --permanent
firewall-cmd --zone=secure --add-service=https --permanent
# Блокировка всего остального трафика
firewall-cmd --zone=secure --set-target=DROP --permanent
# Применение изменений и проверка
firewall-cmd --reload
firewall-cmd --zone=secure --list-all
Для добавления кастомного порта используйте команду firewall-cmd --zone=secure --add-port=8080/tcp --permanent.
Nftables: современная и мощная замена iptables (2026)
Nftables объединяет функциональность iptables, ip6tables, arptables и ebtables в один фреймворк. Он предлагает более чистый синтаксис и улучшенную производительность. Используйте этот конфиг для базовой защиты.
# /etc/nftables.conf - базовый набор правил
table inet filter {
chain input {
type filter hook input priority 0;
# Разрешить установленные соединения и трафик с определенных интерфейсов
ct state established,related accept
iif "lo" accept
# Разрешить SSH, HTTP, HTTPS
tcp dport {2222, 80, 443} accept
# Защита от сканирования портов - ограничение новых соединений
tcp dport 2222 limit rate 5/minute accept
# Все остальное - отклонить
drop
}
chain forward {
type filter hook forward priority 0;
drop
}
chain output {
type filter hook output priority 0;
accept
}
}
Загрузите правила командой nft -f /etc/nftables.conf. Для сохранения на постоянной основе добавьте эту команду в скрипт загрузки системы.
Уменьшение поверхности атаки: системные службы и обновления
Атака часто начинается с уязвимой или ненужной службы. Отключение неиспользуемых компонентов и автоматизация обновлений сокращают возможные векторы атак.
Аудит и безопасное отключение ненужных служб
Определите активные службы, затем поэтапно отключайте неиспользуемые. Этот метод минимизирует риск остановки критичных сервисов.
# Просмотр всех активных служб
systemctl list-units --type=service --state=running
# Примеры служб, часто ненужных для веб-сервера
# rpcbind, telnet, bluetooth, cups
# Процесс отключения (сначала mask, затем stop)
systemctl mask rpcbind
systemctl stop rpcbind
# После каждого шага проверяйте работу основного сервиса (например, nginx)
systemctl status nginx
Отключайте только службы, которые точно не требуются для функционирования вашего сервера. Например, для веб-сервера без печати служба cups не нужна.
Автоматизация обновлений безопасности
Регулярные обновления закрывают известные уязвимости. Настройте автоматическое применение только security updates.
# Для Debian/Ubuntu: unattended-upgrades
apt install unattended-upgrades
# Настройка в /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
# Для RHEL/CentOS/Fedora: dnf-automatic
dnf install dnf-automatic
# Настройка в /etc/dnf/automatic.conf
apply_updates = yes
upgrade_type = security
Убедитесь, что система отправляет отчеты об обновлениях. Это позволяет отслеживать изменения.
Автоматизированный аудит безопасности: Lynis и OpenSCAP
Ручные проверки трудоемки и могут пропустить детали. Lynis и OpenSCAP автоматизируют аудит, предоставляя структурированные отчеты и рекомендации. Это критично для систематического контроля, как описано в комплексном аудите IT-инфраструктуры.
Lynis: комплексная проверка системы на уязвимости
Lynis выполняет глубокий анализ системы, проверяя сотни параметров безопасности. Он дает оценку Hardening Index и список рекомендаций.
# Установка Lynis из репозитория (Debian/Ubuntu)
apt install lynis
# Первый быстрый запуск для оценки
lynis audit system --quick
# Анализ вывода
# - [WARNING] указывает на потенциальные проблемы
# - [SUGGESTION] предлагает улучшения
# Пример исправления типичной проблемы
# Lynis может предложить установить пакет needrestart для управления службами после обновления
apt install needrestart
Интегрируйте запуск Lynis в cron для регулярного аудита. Например, еженедельный запуск с отправкой отчетов на email.
OpenSCAP: проверка соответствия стандартам (CIS, STIG)
OpenSCAP использует формализованные профили безопасности, такие как CIS Benchmarks или STIG. Это важно для соответствия корпоративным требованиям.
# Установка scap-security-guide
apt install scap-security-guide # Для Debian/Ubuntu
yum install scap-security-guide # Для RHEL/CentOS
# Запуск оценки с профилем CIS для Debian 12
oscap xccdf eval --profile cis --results results.xml --report report.html /usr/share/scap-security-guide/ssg-debian12-ds.xml
# Анализ HTML-отчета
# Сосредоточьтесь на проверках с статусом "fail" и высоким уровнем severity (например, high)
Регулярные оценки OpenSCAP помогают отслеживать отклонения от стандартов безопасности.
Мониторинг и реакция: логи и подозрительная активность
Hardening без мониторинга неполноценен. Настройка отслеживания критичных событий и ежедневного обзора логов позволяет обнаруживать аномалии. Эти методы дополняют подходы из руководства по аудиту и мониторингу серверов.
Настройка auditd для отслеживания критичных событий
Auditd - мощный инструмент для детектирования изменений в системе. Он регистрирует доступ к файлам, выполнение команд и другие события.
# Установка и запуск службы
apt install auditd
systemctl enable --now auditd
# Пример правила для мониторинга доступа к /etc/shadow
auditctl -w /etc/shadow -p rwa -k shadow_access
# Мониторинг выполнения команд с su или sudo
auditctl -a always,exit -S execve -C uid!=euid -F key=privileged_exec
# Поиск событий в журналах audit
ausearch -k shadow_access --start today
Правила auditd помогают отслеживать попытки несанкционированного доступа к критичным данным.
Ежедневный обзор логов с помощью logwatch
Logwatch агрегирует информацию из системных логов, создавая удобные сводки. Это упрощает ежедневный контроль.
# Установка logwatch
apt install logwatch
# Настройка детализации отчета и отправки на email
# Отредактируйте /usr/share/logwatch/default.conf/logwatch.conf
Output = mail
Format = html
MailTo = admin@yourdomain.com
Detail = High
# Анализ отчетов logwatch
# Обращайте внимание на разделы:
# - "Failed logins" (попытки неудачного входа)
# - "Cron jobs" (необычные задания cron)
# - "SSH" (подключения по SSH)
Регулярные отчеты logwatch позволяют быстро выявлять потенциальные проблемы, такие как массовые попытки подбора пароля.
Итоговый чек-лист и поддержание безопасности
Hardening - это циклический процесс, а не единичное действие. Используйте этот чек-лист для первоначальной проверки и регулярного аудита. Он систематизирует все ключевые шаги из руководства.
Чек-лист по безопасности Linux-сервера (2026)
- Подготовка: Созданы резервные копии /etc/ssh/, /etc/sudoers, правил брандмауэра. Принцип минимальных привилегий понимается и применяется.
- Контроль доступа: SSH настроен с запретом root login и парольной аутентификации, используется только порт с ключами. Политики sudo ограничены через файлы в /etc/sudoers.d/, проверены командой sudo -l.
- Сетевая изоляция: Брандмауэр (firewalld или nftables) активен с политикой "deny all, allow specific". Правила разрешают только необходимые порты (например, 80, 443, custom SSH). Правила сохранены на постоянной основе.
- Службы и обновления: Ненужные службы (например, rpcbind, telnet) отключены через systemctl mask и stop. Автоматические обновления безопасности настроены (unattended-upgrades или dnf-automatic).
- Аудит: Lynis запущен, отчет изучен, рекомендации из секции SUGGESTION выполнены. OpenSCAP оценка выполнена с профилем CIS/STIG, отчет анализирован, failed checks с высоким severity исправлены.
- Мониторинг: Auditd настроен с правилами для отслеживания доступа к /etc/shadow и выполнения привилегированных команд. Logwatch настроен и отправляет ежедневные отчеты на email администратора.
Проводите повторный аудит каждые три месяца. Используйте запуск Lynis и OpenSCAP по расписанию через cron. Отслеживайте актуальные уязвимости через официальные источники, такие как базы CVE.
Для дальнейшего углубления знаний по защите инфраструктуры обратитесь к полному руководству по аудиту и защите серверов, которое включает дополнительные скрипты и методы мониторинга.
Если вам требуется единый доступ к различным моделям искусственного интеллекта для автоматизации задач или анализа данных, рассмотрите использование агрегатора API, например, AiTunnel. Этот сервис предоставляет интерфейс для работы с более чем 200 моделями, включая GPT, Gemini и Claude, без необходимости использования VPN и с оплатой в рублях.