Linux: Безопасность и защита серверов

Linux-серверы — основа инфраструктуры многих компаний, но они постоянно подвергаются атакам: брут-форс SSH, эксплойты уязвимостей ядра, попытки повышения привилегий. Этот раздел собран из моего опыта защиты серверов на базе Debian/Ubuntu/CentOS/RHEL в production-среде.

Здесь вы найдете готовые решения для типичных угроз: настройка Fail2ban для блокировки атакующих, защита от эксплойтов ядра, правильное управление пользователями с правами sudo и hardening системных служб. Все инструкции проверены на реальных серверах и работают без побочных эффектов.

Статьи и руководства по безопасности Linux

Часто задаваемые вопросы

Как защитить SSH-сервер от брут-форс атак?

Установите Fail2ban: apt install fail2ban (Debian/Ubuntu) или yum install fail2ban (CentOS/RHEL). Создайте jail.local с настройками для sshd: maxretry = 5, bantime = 3600, findtime = 600. Перезапустите службу: systemctl restart fail2ban. Дополнительно отключите вход по паролю для root в sshd.conf и используйте SSH-ключи. Полная настройка в статье Fail2ban: защита от перебора паролей.

Как настроить Fail2ban для защиты RDP на Linux-сервере?

Если вы используете xrdp для удаленного доступа, создайте фильтр /etc/fail2ban/filter.d/xrdp.conf с регулярным выражением для парсинга логов аутентификации. Добавьте jail в jail.local: [xrdp] с указанием пути к логам /var/log/xrdp.log. Настройте действие бан через iptables. Подробная инструкция для серверов за NAT в статье Fail2ban для RDP за NAT.

Как проверить, уязвима ли моя система к PwnKit (CVE-2021-4034)?

Проверьте версию polkit: pkaction —version. Уязвимы версии до 0.120. Также можно использовать эксплойт для тестирования (только на тестовых системах!). Для закрытия уязвимости обновите polkit через пакетный менеджер или примените патч из официального репозитория. Временное решение: отзовите права SUID у /usr/bin/pkexec. Полный разбор в статье Уязвимость PwnKit.

Как защитить сервер от уязвимостей ядра Linux?

Регулярно обновляйте ядро: apt upgrade linux-image (Debian/Ubuntu) или yum update kernel (CentOS/RHEL). Используйте Livepatch (Canonical) или ksplice (Oracle) для применения патчей без перезагрузки. Мониторьте CVE-базы и подписывайтесь на уведомления безопасности вашего дистрибутива. Анализ конкретной уязвимости ядра в статье Уязвимость CVE-2022-2588.

Как правильно создать пользователя с правами sudo?

Создайте пользователя: useradd -m username. Добавьте в группу sudo: usermod -aG sudo username (Debian/Ubuntu) или wheel: usermod -aG wheel username (CentOS/RHEL). Для тонкой настройки отредактируйте /etc/sudoers через visudo и укажите конкретные команды, которые пользователь может выполнять от имени root. Избегайте выдачи ALL=(ALL) ALL без необходимости. Инструкция в статье Создание пользователя с привилегиями sudo.

Чем опасны символические ссылки и как от них защититься?

Symbolic links могут использоваться для атак symlink race condition, когда злоумышленник подменяет ссылку на критический файл перед тем, как программа с повышенными привилегиями обратится к ней. Для защиты: используйте nosuid и nodev для файловых систем, проверяйте пути в скриптах, избегайте работы с ссылками от имени root. Основы работы с симлинками и безопасность в статье Symbolic Link в Linux.

Дополнительные материалы

Безопасность Linux-серверов тесно связана с защитой Windows-инфраструктуры — изучите раздел Windows Server и PowerShell (отключение NTLM, защита AD CS). Для мониторинга серверов используйте Zabbix или Graylog. Вопросы защиты терминальных серверов пересекаются с материалами по RDS (Fail2ban для RDP).