Об этом проекте

Этот репозиторий представляет собой подробное, постоянно развивающееся практическое руководство по усилению защиты Linux-сервера. Оно написано для домашних или небольших самостоятельно управляемых серверов, хотя автор отмечает, что изложенные концепции применимы и к более крупным средам. По замыслу руководство не привязано к конкретному дистрибутиву, но написано и протестировано на Debian, команды приведены на основе apt. Структура и охват: - Введение объясняет цель, почему важна безопасность сервера, зачем нужно ещё одно руководство, содержит ссылки на другие руководства (включая CIS Benchmarks) и список будущих тем. - Раздел «Прежде чем начать» охватывает моделирование угроз, выбор стабильного и хорошо поддерживаемого дистрибутива, заметки по установке, требования до и после установки, а также использование Ansible-плейбуков. - Раздел об SSH-сервере охватывает открытые и закрытые ключи, создание SSH-группы для AllowGroups, защиту /etc/ssh/sshd_config, удаление коротких ключей Diffie-Hellman и 2FA/MFA для SSH. - Раздел «Основы» охватывает ограничение доступа к sudo и su, изоляцию с помощью FireJail, настройку NTP-клиента, защиту /proc, обеспечение надёжных паролей, автоматические обновления безопасности и оповещения, заметки о пуле энтропии и систему входа с паническим, вторичным и ложным паролем. - Раздел «Сеть» охватывает межсетевой экран UFW, взаимодействие Docker и UFW, PSAD для обнаружения вторжений через iptables, Fail2Ban и CrowdSec. - Раздел «Аудит» охватывает мониторинг целостности файлов и папок AIDE, антивирусное сканирование ClamAV, обнаружение руткитов с помощью Rkhunter и chrootkit, logwatch, ss для прослушиваемых портов, аудит безопасности Lynis и OSSEC для обнаружения вторжений на хосте. - Разделы «Опасная зона», «Разное» и «Оставшееся» охватывают MSMTP с Google, Gmail и Exim4 в качестве MTA с неявным TLS, отдельный файл журнала iptables, связь с автором, полезные ссылки, благодарности и лицензию. Руководство делает акцент на фрагментах кода для копирования с использованием базовых команд, таких как echo, cat, sed, awk и grep, при этом предупреждая, что фрагменты не проверяют изменения и что шаги включают резервное копирование. Оно советует сначала прочитать всё руководство, не вставлять команды слепо и держать открытым второй терминал перед применением изменений SSH. Ansible-плейбуки доступны в отдельном связанном репозитории с инструкциями по редактированию переменных, включению временного root-доступа по SSH и запуску плейбуков requirements и main. Лицензия — CC-BY-SA. Вклад принимается через форк и pull request или новые issues.