Доброго времени суток, уважаемые читатели. Сегодня статья на тему: "Iptables и Fail2ban в Debian 10". Рассмотрим использование Iptables, а так же установку и использование Fail2ban, в операционной системе Debian 10.

Iptables – это утилита для настройки системного Firewall.

Fail2ban – это утилита для контроля доступа, и предотвращения атак, методом подбора паролей.

  • В прошлой статье, мы рассматривали установку и настройку утилиты UFW в Debian 10. Будем считать, что мы продолжаем работать с тем же сервером. Так как мы решили использовать Iptables, нам нужно будет предварительно отключить UFW, и отчистить Firewall от следов её присутствия.

Если у Вас не была установлена UFW, то пропустите первые действия.

Отключение утилиты UFW в Debian 10

  • Как вы помните из предыдущей статьи, для отключения утилиты UFW и снятия её из автозагрузки, достаточно выполнить одну команду:
# ufw disable
  • Но после её отключения, в системном Firewall остаётся много лишнего. Если мы проверим, то увидим такую картину:
# iptables -S
мусор оставленный утилитой ufw
  • Для очистки от всего лишнего, воспользуемся утилитой Iptables, так как она уже установлена в системе.
  • Если в Вашем случае Iptables не установлена, то произведите её установку:
# apt install iptables
  • Чтобы произвести очистку, будем использовать две команды Iptables:
iptables-save
и
iptables-restore
  • Первой командой, мы можем сохранить в понятном утилите формате, действующие на данный момент правила Firewall, в каком-нибудь файле.
  • Второй командой, мы можем произвести перезапись действующих на данный момент правил, на сохранённые в понятном утилите формате правила, записанные в каком-нибудь файле.

Предлагаю записать действующие правила в файл, почистить их от лишнего, и перезаписать уже очищенный вариант.

  • Сохраняем правила в файле /etc/iptables.rules.v4
# iptables-save > /etc/iptables.rules.v4
  • Открываем созданный файл, отчищаем его, приведя к такому виду:
очистка firewall
  • Сохраняем изменённый файл /etc/iptables.rules.v4, и производим перезапись.
# iptables-restore < /etc/iptables.rules.v4
  • Проверяем что у нас получилось.
# iptables -S
в firewall открыты все цепочки
  • Как видно на картинке, мусора больше нет.

Iptables у нас работает. Мы можем добавлять правила, изменять, или удалять их. Но к сожалению все наши изменения будут действовать, только на время нашей сессии. То есть после перезапуска машины, все правила будут установлены по умолчанию.

Установка iptables-persistent в Debian 10

  • Для того, чтобы изменения сохранялись, нам нужно установить дополнительный пакет iptables-persistent.
  • Производим установку пакета:
# apt install iptables-persistent
  • В процессе установки, выходит два сообщения, с предложением сохранить имеющиеся правила Firewall, в определённом файле. Соглашаемся оба раза.
  • После установки пакета, нам становится доступно сохранение всех производимых настроек.
  • Мы можем производить настройку через консоль, путем добавления правил, и последующего сохранения их в файле /etc/iptables/rules.v4. Либо добавление правил напрямую в файл /etc/iptables/rules.v4, с последующей перезаписью действующих правил.
  • Например добавим через консоль, разрешающее правило на входящие соединения на 80 порту:
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  • Правило будет действовать до перезапуска ОС. Чтобы оно действовало и после перезапуска, сохраняем действующие настройки в файл /etc/iptables/rules.v4:
# iptables-save > /etc/iptables/rules.v4
добавление и сохранение правил в iptables через консоль
  • После произведённых действий, даже после перезапуска, наше правило будет действовать.
  • Так же для примера, добавим три правила напрямую в файл /etc/iptables/rules.v4:
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
добавление и сохранение правил в iptables через файл
  • Сохраняем файл, и перезаписываем действующие правила:
# iptables-restore < /etc/iptables/rules.v4
  • Проверяем действующие правила:
# iptables -S
проверка настроек iptables
  • Как видно на картинке, правила внесённые в файл /etc/iptables/rules.v4, были применены.
  • Более подробную информацию по использованию утилиты iptables, можно найти в статье на сайте, на примере CentOS 7.

Установка Fail2ban в Debian 10

  • Для установки Fail2ban в Debian 10, нужно запустить соответствующую команду:
# apt install fail2ban
  • После установки, утилита будет автоматически запущена, и добавлена в автозагрузку.
  • Кроме того, будет автоматически активирована защита SSH.
  • Если мы запустим команду для проверки статуса, то увидим активный джейл sshd.
# fail2ban-client status
проверка активных джейлов в Fail2ban
  • Команды для управления Fail2ban:
# systemctl restart fail2ban
# systemctl status fail2ban
# systemctl start fail2ban
# systemctl stop fail2ban
  • Конфигурационный файл Fail2ban находится по адресу /etc/fail2ban/jail.conf. Но производить настройки в нём не желательно, так как он перезаписывается после обновления.
  • Для настроек Fail2ban, нужно создавать в той же директории, дополнительный файл jail.local, который в итоге будет принят утилитой, и будет считаться более приоритетным.
  • Копируем файл /etc/fail2ban/jail.conf, и переименовываем копию.
# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  • В созданном файле jail.local, можно производить настройки под свои нужды.
  • Более подробную информацию по использованию утилиты Fail2ban, можно найти в статье на сайте, на примере CentOS 7.

Сегодня мы рассмотрели тему: "Iptables и Fail2ban в Debian 10". Произвели отчистку Firewall, поработали с iptables, установили и запустили утилиту Fail2ban. Все действия были произведены в ОС Debian 10. Смотрите так же, видео по теме.

Надеюсь статья была вам полезна. До встречи в новых статьях.

С уважением, Андрей Бондаренко.


Видео на тему "Iptables и Fail2ban в Debian 10":