Нещодавно я вирішив зробити деяке обслуговування безпеки. Я побачив свої журнали, і було кілька спроб проти мого SSH-сервера. Спочатку я відсунув порт SSH від типового 22. Після цього я прочитав щось про Fail2ban , BlockHosts та DenyHosts .
Я поглянув на перший: це просто налаштувати, все зрозуміло; але коли я намагався "перевірити його захист", тести не вдалися . Здається, все добре, але я все одно можу отримати доступ до сервера.
Я також протестував IPtables: # iptables -I INPUT -j DROP
- після цього моє SSH-з'єднання було втрачено (так, що я хотів). Потім # iptables -I INPUT -s 84.x.y.z -j DROP
, який теж працював.
Але, які правила зробив Fail2ban, це не працює: ( $ sudo iptables -L
)
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-apache tcp -- anywhere anywhere multiport dports www,https
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
fail2ban-ssh-ddos tcp -- anywhere anywhere multiport dports ssh
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-apache (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP all -- 84.x.y.z anywhere
RETURN all -- anywhere anywhere
Chain fail2ban-ssh-ddos (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Модулі ядра завантажені: ( $ lsmod | grep ip
)
iptable_nat 4680 0
nf_nat 15576 1 iptable_nat
nf_conntrack_ipv4 12268 3 iptable_nat,nf_nat
nf_conntrack 55540 4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
xt_multiport 2816 2
iptable_filter 2624 1
ip_tables 10160 2 iptable_nat,iptable_filter
x_tables 13284 5 xt_state,xt_tcpudp,iptable_nat,xt_multiport,ip_tables
ipv6 235396 24
Версії:
- Debian Lenny 5.06, ядро 2.6.26-2-686
- IPtables 1.4.2-6
- Fail2ban 0.8.3-2sid1
openssh-server
1: 5.1p1-5
Тест №1 крок за кроком:
- Налаштуйте Fail2ban на низький проміжок часу. 60 сек. Потім перезавантажте.
- Спроба ввійти (із SSH), безпосередньо з неправильним паролем.
- Шести раз введіть правильний пароль (максимум спроб тут лише 4). Я ввійшов у систему. Я також можу отримати доступ до веб-сторінки, розміщеної на цьому сервері.
iptables -L
показав мене як згадуваний вище. Тож заборона була активною, коли я підключився, командував своїм сервером.
Тест №2 крок за кроком:
- Зупинити Fail2ban. Створіть
at
сценарій, щоб у майбутньому видалити написане нижче правило заборони. (iptables -D INPUT 1
) - Створіть правило заборони:
iptables -I INPUT 1 -s 84.x.y.z -j DROP
- Я не міг нічого вводити, SSH-з'єднання не використовується. Я не зміг отримати доступ до веб-сторінки. Отже, що я хотів від iptables.
- Після
at
сценарію я можу отримати доступ до свого сервера.
Я не бачу рішення, що мені робити, щоб заборонити свої IPtables (зроблені Fail2ban)?