Этот скрипт выполняет комплексную настройку сервера на базе Debian/Ubuntu, обеспечивая базовую безопасность, создание пользователя и установку ключевых сервисов.
- Скрипт проверяет права пользователя.
- Завершает работу, если скрипт не запущен от root.
- Создаётся директория для заражённых файлов с ограниченным доступом.
- Директория используется для перемещения заражённых файлов при обнаружении вирусов.
- Определяется редактор по умолчанию для работы с текстовыми файлами.
- Запрашивается нестандартный SSH-порт и проверяется его доступность.
- Создаётся новый пользователь с правами sudo.
- Генерируется случайный пароль.
- Добавляется публичный SSH-ключ.
- Настраивается SSH-сервис: отключается вход под root и аутентификация по паролю.
- Сервис SSH перезапускается для применения настроек.
- Скрипт проверяет наличие и устанавливает необходимые пакеты для безопасности и работы системы.
- Устанавливается Docker.
- Настраивается ежедневная задача для автоматического обновления пакетов и системы.
- Логи обновлений сохраняются для последующего анализа.
- Все входящие соединения блокируются по умолчанию.
- Разрешается исходящий трафик и доступ к SSH-порту.
- Брандмауэр активируется автоматически.
- Выполняется обновление базы сигнатур антивируса.
- Создаётся фоновый сервис для постоянного мониторинга директорий, логирования и перемещения заражённых файлов в карантин.
- Сервис включается и запускается автоматически.
- Конфигурируется защита SSH и веб-сервера (если установлен).
- Настраиваются параметры бана, максимальное количество попыток и путь к логам.
- Сервис включается и запускается автоматически.
- Пользователь создаётся с правами sudo.
- Настраивается домашняя директория и SSH-доступ с публичным ключом.
- Пароль пользователя генерируется автоматически.
- Скрипт проверяет состояние сервисов ClamAV и Fail2Ban.
- При необходимости сервисы запускаются и включаются на старте системы.
- Логи ClamAV и обновлений пакетов сохраняются в системных директориях для последующего анализа и контроля.
После выполнения скрипта сервер получает:
- Созданного пользователя с sudo-доступом и публичным SSH-ключом.
- Настроенный SSH на нестандартном порту с отключением паролей и root-доступа.
- Активный и настроенный брандмауэр UFW.
- Установленные и работающие ClamAV и Fail2Ban.
- Установленный Docker.
- Автоматическое обновление пакетов по ночам.