Если вы только запустили свой сервер (VPS, выделенный или Raspberry Pi), важно сразу настроить базовую защиту. Даже простые меры значительно снизят риск взлома. В этой статье — пошаговая настройка UFW (брандмауэр) и Fail2Ban (защита от брутфорса) на Ubuntu/Debian.
1. Что такое UFW и Fail2Ban?
- UFW (Uncomplicated Firewall) — простой интерфейс для управления iptables. Позволяет разрешать или блокировать порты.
- Fail2Ban — служба, которая сканирует логи (например, SSH) и временно блокирует IP, пытавшиеся подобрать пароль.
2. Установка UFW
sudo apt update
sudo apt install ufw -y
3. Настройка правил UFW
Разрешите только необходимые порты. Пример для веб-сервера с SSH и HTTPS:
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow 22/tcp # SSH (временно)
Если используете VPN то лучше ssh оставить только через впн. К примеру WireGuard, разрешите его порт (по умолчанию 51820):
sudo ufw allow 51820/udp
4. Установка политик по умолчанию
sudo ufw default deny incoming
sudo ufw default allow outgoing
5. Включение UFW
sudo ufw enable
После включения проверьте статус:
sudo ufw status verbose
6. Безопасная настройка SSH (рекомендуется)
Чтобы уменьшить атаки, закройте SSH для внешнего мира и используйте WireGuard или другой способ.
Удалите открытие SSH наружу:
sudo ufw delete allow 22/tcp
Разрешите SSH только через WireGuard (интерфейс wg0):
sudo ufw allow in on wg0 to any port 22 proto tcp
7. Установка Fail2Ban
sudo apt install fail2ban -y
8. Настройка Fail2Ban для работы с UFW
Создайте локальный конфиг:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Добавьте в секцию [DEFAULT]:
[DEFAULT]
banaction = ufw
bantime = 3600
findtime = 600
maxretry = 3
ignoreip = 127.0.0.1/8 ::1 ваш.внешний.ip.здесь
Активируйте защиту SSH:
[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log
9. Перезапуск Fail2Ban
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
10. Проверка работы
Статус брандмауэра:
sudo ufw status verbose
Статус Fail2Ban:
sudo fail2ban-client status
sudo fail2ban-client status sshd
11. Полезные команды
sudo ufw status— посмотреть правилаsudo ufw allow 8080— открыть портsudo ufw delete allow 8080— закрыть портsudo fail2ban-client status— список активных тюремsudo tail -f /var/log/fail2ban.log— логи Fail2Ban
Заключение
Настройка UFW и Fail2Ban — это первый и самый важный шаг к безопасности сервера. Даже базовой конфигурации достаточно, чтобы отсечь 90% автоматических атак.
Дополнительно рекомендуется:
- Использовать ключи SSH вместо паролей
- Сменить порт SSH (не 22)
- Регулярно обновлять систему:
sudo apt update && sudo apt upgrade -y
Защитите свой сервер — и он прослужит вам долго и безопасно.
Комментарии
Пока нет комментариев. Будьте первым!