Действие fail2ban для маршрутизации на другой IP-адрес

Я хочу создать действие fail2ban, которое направляет трафик на другой IP-адрес при действии запрета и удаляет маршрут при действии разблокировки .

Файл: iptables-route.conf в /etc/fail2ban/action.d/

# Fail2Ban configuration file
#
#

[INCLUDES]

before = iptables-common.conf

[Definition]

# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart = <iptables> -N f2b-<name>
              <iptables> -A f2b-<name> -j <returntype>
              <iptables> -I <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
              <iptables> -A FORWARD -i ens3 -p tcp -m state --state NEW --dport 80 -j ACCEPT
              <iptables> -A FORWARD -i ens3 -p tcp -m state --state NEW --dport 443 -j ACCEPT

# Option:  actionstop
# Notes.:  command executed once at the end of Fail2Ban
# Values:  CMD
#
actionstop = <iptables> -D <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
             <actionflush>
             <iptables> -X f2b-<name>
             <iptables> -D FORWARD -i ens3 -p tcp -m state --state NEW --dport 80 -j ACCEPT
             <iptables> -D FORWARD -i ens3 -p tcp -m state --state NEW --dport 443 -j ACCEPT

# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
actioncheck = <iptables> -n -L <chain> | grep -q 'f2b-<name>[ \t]'

# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionban = <iptables> -I f2b-<name> 1 PREROUTING -s <ip> -j DNAT --to-destination 188.68.45.124

# Option:  actionunban
# Notes.:  command executed when unbanning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionunban = <iptables> -D f2b-<name> -s <ip> -j DNAT --to-destination 188.68.45.124

[Init]

Файл apache-route.local в /etc/fail2ban/jail.d/:

[apache-route]
enabled     = true
filter      = apache-probe
port        = http,https
banaction   = iptables-route.conf
maxretry    = 3
findtime    = 1500
bantime     = 600

logpath     = /var/www/*/userdata/logs/*-access.log

Я даже не могу понять чтобы проверить это, потому что это дает мне следующую ошибку:

fail2ban-client restart

Не найдено доступных файлов конфигурации для 'action.d / iptables-route.conf' в / etc / fail2ban

Невозможно прочитать действие 'iptables-route.conf'

Ошибки в тюрьме 'apache-route'. Пропуск ...

Я пытаюсь заставить его работать, но понятия не имею, почему это дает мне эту ошибку

0
задан 12 January 2020 в 22:30
2 ответа

Невозможно прочитать действие 'iptables-route.conf'

Просто удалите .conf из имени действия:

-banaction   = iptables-route.conf
+banaction   = iptables-route

BTW. По-моему, ваше действие выглядит немного неправильно. Почему бы просто не использовать по умолчанию iptables-multiport с указанной (переписанной) цепочкой и блочным типом?
. Не уверен, что ты пытаешься, но не мог бы ты сделать что-нибудь вроде этого:

banaction = iptables-multiport[chain=PREROUTING, blocktype="DNAT --to-destination 188.68.45.124"]

сделать работу?

0
ответ дан 14 January 2020 в 23:33

Почему бы просто не использовать по умолчанию iptables-multiport с заданной (переписанной) цепью и блочным типом?

iptables-multiport не добавляет выходные цепочки:

-A FORWARD -i ens3 -p tcp -m state --state NEW --dport 80 -j ACCEPT

-A FORWARD -i ens3 -p tcp -m state --state NEW --dport 443 -j ACCEPT

поэтому я решил создать собственное действие, которое будет добавлять и удалять их при загрузке/выгрузке

-Я забыл, что мне также нужно реализовать постмаршрутизацию, но мне нужно подумать об архивировании этого.

Чего я хочу:

при запрете, запрос перенаправляется в другой ip, где находится страница, на которой написано "вам запрещено из-за слишком большого количества недействительных запросов" вместо того, чтобы просто отклонять/отбрасывать запрос

.
0
ответ дан 14 January 2020 в 23:33

Теги

Похожие вопросы