Hetzner - DokuWiki
Security Firewall/ru
Inhaltsverzeichnis |
Советы по настройке
Если вы собираетесь установить программный межсетевой экран (firewall), то по следующим ссылкам вы найдёте полезную помощь в настройке.
- ExarKun's iptables Generator: https://www.tobias-bauer.de/iptables.html
- FireHOL, the iptables stateful packet filtering firewall builder: http://firehol.org/
Полезные советы
Автоматический возврат
Чтобы не оказаться в ситуации невозможности зайти на сервер (из-за некорректных настроек), первый запуск межсетевого экрана рекомендуется делать с параметром «автоматический возврат»:
./firewall start && sleep 60 && ./firewall stop
В этом случае он активируется только на 60 секунд, давая вам время на тестирование.
Если iptables уже имеет конфигурацию, то вы можете добавить следующее:
iptables-save > /tmp/savediptables
и добавить:
at now + 5min iptables-restore < /tmp/savediptables
<Ctr>+<D>
Это действие сохраняет настройки iptables и восстанавливает их через 5 минут.
Блокировка одиночного «плохого» IP-адреса или целой сети
С помощью фильтра iptables вы можете легко блокировать одиночные IP-адреса:
iptables -I INPUT -s <плохой_IP> -j DROP
Целая подсеть IP-адресов также может быть заблокирована:
iptables -I INPUT -s <плохая_подсеть/маска> -j DROP
Блокировка динамических адресов атакующих, конечно, не имеет особого смысла.
Список IP-адресов, сканирующих сервер по SSH
Чтобы узнать как часто, какие IP-адреса и от имени каких пользователей пытались проникнуть на сервер, вы можете использовать следующее (в Debian):
#!/bin/bash # Сначала избавьтесь от даты, так как она может содержать два пробела grep Illegal | cut -b8-99 >tmp1 echo "Username tried:" cat tmp1 | cut -d' ' -f6 | sort | uniq -c | sort -n echo "IPs:" cat tmp1 | cut -d' ' -f8 | sort | uniq -c | sort -n echo "End"
Запишите этот скрипт в файл (например, с именем «checklogs») и сделайте файл исполняемым с помощью chmod +x. Затем отфильтруйте журнал авторизации этим скриптом:
cat /var/log/auth.log | ./checklogs