ошибка fail2ban при установке iptables на Synology NAS

Я устанавливаю fail2ban 0.9.1 на своем NAS Synology для обработки отказавших попыток SSH. Когда я запускаю тюрьму, я получаю следующие ошибки в fail2ban.log:

2015-02-01 17:22:52,394 fail2ban.jail           [30576]: INFO    Jail 'ssh-iptables-syno' started
2015-02-01 17:22:53,287 fail2ban.actions        [30576]: NOTICE  [ssh-iptables-syno] Ban 103.41.124.52
2015-02-01 17:22:53,613 fail2ban.action         [30576]: ERROR   iptables -I f2b-ssh-iptables-syno 1 -s 103.41.124.52 -j REJECT --reject-with icmp-port-unreachable -- stdout: ''
2015-02-01 17:22:53,625 fail2ban.action         [30576]: ERROR   iptables -I f2b-ssh-iptables-syno 1 -s 103.41.124.52 -j REJECT --reject-with icmp-port-unreachable -- stderr: 'iptables v1.4.21: unknown option "--reject-with"\nTry `iptables -h\' or \'iptables --help\' for more information.\n'
2015-02-01 17:22:53,626 fail2ban.action         [30576]: ERROR   iptables -I f2b-ssh-iptables-syno 1 -s 103.41.124.52 -j REJECT --reject-with icmp-port-unreachable -- returned 2

Другой пример:

2015-02-01 17:22:54,525 fail2ban.actions        [30576]: NOTICE  [ssh-iptables-syno] Ban 222.161.4.147
2015-02-01 17:22:54,855 fail2ban.action         [30576]: ERROR   iptables -I f2b-ssh-iptables-syno 1 -s 222.161.4.147 -j REJECT --reject-with icmp-port-unreachable -- stdout: ''
2015-02-01 17:22:54,857 fail2ban.action         [30576]: ERROR   iptables -I f2b-ssh-iptables-syno 1 -s 222.161.4.147 -j REJECT --reject-with icmp-port-unreachable -- stderr: 'iptables v1.4.21: unknown option "--reject-with"\nTry `iptables -h\' or \'iptables --help\' for more information.\n'
2015-02-01 17:22:54,858 fail2ban.action         [30576]: ERROR   iptables -I f2b-ssh-iptables-syno 1 -s 222.161.4.147 -j REJECT --reject-with icmp-port-unreachable -- returned 2
2015-02-01 17:22:54,860 fail2ban.actions        [30576]: ERROR   Failed to execute ban jail 'ssh-iptables-syno' action 'iptables-multiport' info 'CallingMap({'ipjailmatches': <function <lambda> at 0x40dfe0b0>, 'matches': u'warning\t2015/02/01 17:14:04\tSYSTEM:\tUser [root] from [222.161.4.147] failed to log in via [SSH] due to authorization failure.\nwarning\t2015/02/01 17:14:06\tSYSTEM:\tUser [root] from [222.161.4.147] failed to log in via [SSH] due to authorization failure.\nwarning\t2015/02/01 17:14:09\tSYSTEM:\tUser [root] from [222.161.4.147] failed to log in via [SSH] due to authorization failure.', 'ip': '222.161.4.147', 'ipmatches': <function <lambda> at 0x40dfe0f0>, 'ipfailures': <function <lambda> at 0x40dfe030>, 'time': 1422807774.52478, 'failures': 3, 'ipjailfailures': <function <lambda> at 0x40dfe070>})': Error banning 222.161.4.147

-> полная выборка журнала: http://pastebin.com/TvTG3c7W

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

# iptables -I f2b-ssh-iptables-syno 1 -s 222.161.4.147 -j REJECT --reject-with icmp-port-unreachable
iptables v1.4.21: unknown option "--reject-with"

У меня есть другая машина (12.04) с iptables 1.4.21 и fail2ban 0.9.1, где все работает безупречно. Вот некоторая iptables информация для обеих машин:

Устройство с неисправностями:

# iptables --version
iptables v1.4.21

# cat /proc/net/ip_tables_targets
LOG
ERROR

# cat /proc/net/ip_tables_matches
limit
state
udplite
udp
tcp
multiport
multiport
icmp

Хорошая машина:

# iptables --version
iptables v1.4.21

# cat /proc/net/ip_tables_targets
AUDIT
NFLOG
NFQUEUE
NFQUEUE
NFQUEUE
CLASSIFY
CONNMARK
CONNMARK
MARK
MARK
MARK
ULOG
TPROXY
TPROXY
MASQUERADE
REDIRECT
TOS
TOS
DSCP
LOG
TCPMSS
DNAT
SNAT
REJECT
ERROR

# cat /proc/net/ip_tables_matches
statistic
time
connlimit
realm
pkttype
connmark
connmark
physdev
string
string
owner
comment
conntrack
conntrack
conntrack
helper
limit
hashlimit
hashlimit
iprange
iprange
policy
owner
addrtype
addrtype
recent
state
length
ttl
tcpmss
multiport
multiport
tos
tos
dscp
icmp
udplite
udp
tcp

Какие-либо идеи о том, как приблизиться к этому ошибки?

Обновление Благодаря @ricardo, я узнал, что iptables на моей Synology (DSM 5) пропускает цель ОТКЛОНЕНИЯ. Не знайте, как добавить его все же.

2
задан 2 February 2015 в 11:06
2 ответа

Хорошо, я понял:

fail2ban пытается вставить запреты, используя цель iptable REJECT, которая недоступна в системах Synology DSM5.x. (thx @Ricardo)

Решение состоит в том, чтобы отредактировать действие fail2ban и изменить его с REJECT на DROP (что доступно по умолчанию). В моем случае (fail2ban v0.8.14, action: iptables-allports) это может быть достигнуто следующим образом:

  1. создать локальный файл конфигурации iptables blocktype
  2. установить там тип блока как DROP
  3. перезагрузить конфигурацию fail2ban

Как команды:

# echo "blocktype = DROP" > /etc/fail2ban/action.d/iptables-blocktype.local
# fail2ban-client reload

iptables-blocktype.local автоматически загружается с помощью action.d / iptables-blocktype.conf.

Этот пост на немецкой доске Synology был очень полезен: http: //www.synology -forum.de/showthread.html?50964-Zarafa-mit-fail2ban-absichern&highlight=fail2ban

1
ответ дан 3 December 2019 в 10:02

Попробуйте посмотреть, какие модули iptables загружены на хороший компьютер, и сравните их с плохим:

# cat /proc/net/ip_tables_matches
state
icmp
recent
multiport
multiport
udplite
udp
tcp

Также проверьте, существует ли цель REJECT:

# cat /proc/net/ip_tables_targets

REJECT
MASQUERADE
DNAT
SNAT
ERROR

Если вы не видите REJECT в списке, значит, в вашей версии iptables его нет, и правила fail2ban не смогут с ним взаимодействовать.

3
ответ дан 3 December 2019 в 10:02

Теги

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