Архив

Публикации с меткой ‘Iptables’

Защищаем сервер от атаки DNS Amplification с помощью fail2ban

Защищаем сервер от атаки DNS Amplification с помощью fail2ban

Устанавливаем необходимый софт:
sudo aptitude install fail2ban ipset logrotate

Настройка fail2ban

В /etc/fail2ban/jail.conf необходимо ввести следующие строки:
[named-antidos]
enabled = true
banaction = iptables-ipset
logpath = /var/log/iptables.log
filter = iptables-named
port = any
protocol = all

В /etc/fail2ban/action.d создаем файл iptables-ipset.conf со следующим содержимым:
[Definition]
actionstart = ipset --create fail2ban-<name> iphash

actionstop = ipset --flush fail2ban-<name>
ipset --destroy fail2ban-<name>

actionban = ipset --test fail2ban-<name> <ip> || ipset --add fail2ban-<name> <ip>

actionunban = ipset --test fail2ban-<name> <ip> && ipset --del fail2ban-<name> <ip>

И в /etc/fail2ban/filter.d файл iptables-named.conf с содержимым
[Definition]
failregex = .* IPTables-Dropped: .* SRC=<HOST> .*
ignoreregex =

На этом настройка fail2ban закончена. Перезапускам демона командой:
sudo invoke-rc.d fail2ban restart

Настройка iptables

Добавляем правила командами:
iptables -N bl
iptables -A bl -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A bl -j DROP
iptables -I INPUT -p udp --dport 53 -m recent --name ddns --set
iptables -I INPUT -p tcp --dport 53 -m recent --name ddns --set
iptables -I INPUT -p udp --dport 53 -m recent --name ddns --update --seconds 60 --hitcount 15 -j bl
iptables -I INPUT -p tcp --dport 53 -m recent --name ddns --update --seconds 60 --hitcount 15 -j bl
iptables -I INPUT -m set --match-set fail2ban-named-antidos src -j DROP

Настройка syslog

Читать далее…

Iptables. советы и примеры

4 Октябрь 2011 Нет комментариев

Рассмотрим несколько полезных советов по iptable — блокировка IP-адресов, которые имеет 20 и более одновременных запросов и бан пула адресов конкретной страны.
1. Блокировка IP-адресов, которые имеет 20 и более одновременных запросов (drop ip addresses)
Несколько вариантов определения таких ip-адресов:
$ netstat -an| grep :80 | grep -v 127.0.0.1 |grep -v 0.0.0.0 |awk '{ print $5 }' | sort|awk -F: '{print $1}' | uniq -c | awk '$1 > 20 {print $2}'
$ netstat -apn | grep TIME_WAIT |awk '{print $5}' |awk -F: '{print $1}' | sort | grep -v 127.0.0.1 | grep -v 0.0.0.0 | awk '{ if ($1 > 20) print $1 }'
пишем такой bash скрипт:

#!/bin/bash
ipban=’netstat -an| grep :80 | grep -v 127.0.0.1 |grep -v 0.0.0.0 |awk ‘{ print $5 }’ | sort|awk -F: ‘{print $1}’ | uniq -c | awk ‘$1 > 20 {print $2}’
for ip in $ipban
do
iptables -A INPUT -s $ip -j DROP
done

Файлы зон для стран-регионов с IP-диапазонами берем: тут
Читать далее…

#

//