Настройка Fail2Ban и защита от перебора на Linux-сервере
Руководство по защите SSH, панельных и служебных входов с помощью автоматической системы IP-бана.
Каждый сервер Linux, открытый в Интернете, постоянно сканируется автоматическими ботами. Эти боты специально пытаются авторизоваться в сервисе SSH методом проб и ошибок. Этот тип атаки атака грубой силой Это называется.
Fail2Ban отслеживает неудачные попытки входа в систему из файлов журналов. Он автоматически банит IP-адреса, которые неправильно вводят больше указанного количества. Таким образом, злоумышленник не сможет повторно ввести пароль по одному и тому же IP-адресу.
1. Что делает Fail2Ban?
- SSH уменьшает количество атак грубой силы.
- Он банит IP-адреса, которые вводят большое количество неправильных записей.
- Он предпринимает автоматические действия, отслеживая журналы сервера.
- Он работает вместе с брандмауэром, чтобы блокировать атакующий трафик.
- Его также можно использовать для панелей игровых серверов, входа в веб-панели и почтовых служб.
2. Установка Fail2Ban
В системах на базе Ubuntu и Debian:
apt update apt install fail2ban -y
В системах CentOS, AlmaLinux или Rocky Linux:
yum install epel-release -y yum install fail2ban -y
Чтобы запустить службу и автоматически запустить ее при запуске:
systemctl enable fail2ban systemctl start fail2ban systemctl status fail2ban
3. Скопируйте файл настроек по умолчанию.
Настройки Fail2Ban напрямую Jail.conf Его не следует редактировать в файле. Потому что этот файл может измениться в обновлениях. вместо джейл.локальный файл создан.
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Затем отредактируйте файл:
nano /etc/fail2ban/jail.local
4. Включение SSH-защиты
в файле [сшд] Найдите раздел и отредактируйте его следующим образом:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 findtime = 10m bantime = 1h
Эта настройка означает:
- максимальная попытка = 5: Действия предпринимаются после 5 неверных записей.
- время поиска = 10 м: Попытки засчитываются в течение 10 минут.
- время бана = 1 час: IP-адрес забанен на 1 час.
5. Добавление вашего собственного IP-адреса в список безопасных
Если вы используете фиксированный IP, вы можете исключить собственный IP-адрес из системы банов.
ignoreip = 127.0.0.1/8 192.168.1.1 SUNUCUYA_BAGLANDIGINIZ_IP
Здесь IP, К КОТОРОМУ ВЫ ПОДКЛЮЧЕНЫ К СЕРВЕРУ Вы должны написать свой реальный IP-адрес в поле.
6. Перезапуск службы Fail2Ban.
systemctl restart fail2ban
Чтобы проверить статус:
fail2ban-client status
Чтобы увидеть статус тюрьмы SSH:
fail2ban-client status sshd
7. Просмотр запрещенных IP-адресов
fail2ban-client status sshd
на выходе Список запрещенных IP-адресов В поле появятся запрещенные IP-адреса.
8. Открытие случайно забаненного IP-адреса
Если ваш собственный IP-адрес или IP-адрес доверенного пользователя был заблокирован по ошибке, вы можете удалить его с помощью следующей команды:
fail2ban-client set sshd unbanip IP_ADRESI
Распространенные ошибки
- Редактирование файла Jail.conf напрямую
- Не добавлять свой IP-адрес в поле ignoreip
- Не изменять настройку порта Fail2Ban, даже если порт SSH изменен.
- Неправильный ввод пути к файлу журнала
- Думая, что Fail2Ban активен и не проверяю статус сервиса
Часто задаваемые вопросы
Обеспечивает ли один только Fail2Ban достаточную безопасность?
Нет. Fail2Ban — это важный уровень защиты, но его следует использовать в сочетании с надежным паролем, актуальной системой, брандмауэром и правильной конфигурацией службы.
Защищает ли Fail2Ban игровой сервер?
Он не анализирует игровой трафик напрямую. Однако он может обеспечить защиту через SSH, панель, веб-сервисы и некоторые журналы входа.
Могу ли я увеличить срок бана?
Да. Вы можете установить значение бантайма на более длительные периоды, например 24 часа или 7 дней вместо 1 часа.
Рекомендации по безопасности
- Отключите root-вход.
- Используйте надежный и уникальный пароль.
- Если возможно, войдите в систему с помощью ключа SSH.
- Регулярно проверяйте логи Fail2Ban.
- Не оставляйте ненужные сервисы открытыми для Интернета.
Эта статья специально подготовлена для PvPServer.