Коротко о главном
Свежий сервер с доступом по паролю и открытым SSH — лёгкая цель. Базовая защита занимает меньше часа, но закрывает большинство массовых атак. Ниже — минимальный набор действий, который стоит выполнить до установки приложений.
Автоматические сканеры круглосуточно перебирают пароли и известные уязвимости. Отключение паролей,ограничение доступа и своевременные обновления снижают риск без сложных инструментов.
Защита Linux-сервера редко ломается сам по себе. Чаще проблема в неверной конфигурации, устаревшей версии или команде, скопированной без понимания. Разберём типичные сбои и способы их исправления.
Почему это происходит
Ошибки почти всегда связаны с контекстом: другая версия пакета, не тот пользователь, устаревший конфиг или команда из руководства для другой системы. Защита Linux-сервера не исключение. Поэтому сначала фиксируем исходное состояние, затем меняем одну вещь за раз.
Типичные ошибки
Ниже — сбои, которые встречаются чаще всего. Перед исправлением сохраните текущие конфиги и запишите, какие изменения вносите: так проще откатиться.
1. Потерян доступ после отключения паролей
Используйте консоль провайдера, проверьте sshd -T и файлы в sshd_config.d. Временно верните PasswordAuthentication yes, затем исправьте ключи.
2. fail2ban не блокирует
Проверьте, что служба читает нужный лог и jail включён. Тестируйте с осторожностью, чтобы не заблокировать себя.
3. UFW блокирует нужный сервис
Откройте конкретный порт и проверьте правила. Не отключайте файрвол целиком.
Как настроить правильно
Правильная последовательность проста: проверить версию и зависимости, сделать резервную копию конфигурации, внести минимальное изменение, проверить логи и только потом двигаться дальше.
Установка
В Debian, Ubuntu и Linux Mint используется пакетный менеджер APT:
sudo apt install ufw fail2ban unattended-upgrades
В Fedora и RHEL-совместимых системах пакет ставится через DNF:
sudo dnf install firewalld fail2ban
В Arch Linux и производных пакет доступен в официальных репозиториях:
sudo pacman -S ufw fail2ban
1. Настройте SSH-ключи
Проверьте вход по ключу в отдельной сессии, затем отключите пароли и вход root. Всегда держите запасной доступ через консоль провайдера.
ssh-keygen -t ed25519 -C "admin@laptop"
ssh-copy-id user@server
sudo sshd -t
sudo systemctl reload ssh
2. Включите файрвол
Запретите входящие по умолчанию и откройте только нужные порты. Не открывайте базу данных в интернет.
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose
3. Настройте fail2ban
Он блокирует адреса после серии неудачных попыток. Это не замена ключам, но снижает шум.
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
4. Включите обновления безопасности
Автоматические обновления уменьшают окно уязвимости. Проверяйте, что они не ломают сервисы.
sudo dpkg-reconfigure unattended-upgrades
sudo apt update && sudo apt upgrade
Рабочий конфиг
Начните с минимального рабочего варианта. Не копируйте большой конфиг целиком: добавляйте параметры по одному и проверяйте результат после каждого изменения.
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
Практические советы
Эти рекомендации проверены на повседневных задачах. Начните с тех, которые закрывают вашу текущую боль, а не со всего списка сразу.
Совет 1. Не работайте постоянно под root: используйте sudo и отдельного пользов
Не работайте постоянно под root: используйте sudo и отдельного пользователя.
Совет 2. Ограничьте SSH по адресам, если сервер не должен быть доступен всем.
Ограничьте SSH по адресам, если сервер не должен быть доступен всем.
Совет 3. Ведите журнал изменений конфигурации.
Ведите журнал изменений конфигурации.
Совет 4. Проверяйте бэкапы восстановлением, а не только наличием файлов.
Проверяйте бэкапы восстановлением, а не только наличием файлов.
Профилактика
Большинство повторяющихся сбоев с Защита Linux-сервера связано не с ошибкой в самой программе, а с окружением: обновились зависимости, изменился путь, закончилось место или другой администратор поправил конфиг. Поэтому профилактика начинается с фиксации исходного состояния.
Сохраните рабочий конфиг в систему контроля версий, добавьте короткий комментарий о том, зачем нужен каждый нестандартный параметр, и запишите команду проверки. Через месяц вы скажете себе спасибо: восстановить логику по чужому файлу без пояснений почти невозможно.
Чек-лист
- Версия пакета и конфигурация зафиксированы и доступны для сравнения.
- Есть автоматическая проверка синтаксиса перед перезапуском службы.
- Журналы ротуются, а диск не заполняется ими за неделю.
- Изменения проходят через тестовый стенд, а не сразу на рабочий сервер.
Итог
Большинство ошибок с Защита Linux-сервера лечится не переустановкой, а проверкой конфигурации, логов и прав доступа. Действуйте по одному изменению за раз — и причина быстро найдётся.