Блокирование по странам средствами iptables

Тема в разделе "Защита от Ddos-атак", создана пользователем Devider, 17 сен 2013.

  1. Ранее мы уже писали о способе фильтрации траффика с помощью Nginx и модуля Geoip - этот метод универсален и работает на разных ОС. Разумеется, фильтрацию по странам нужно использовать в связке с файерволом, так как среди ддос-ботов может оказаться и немало русских айпишников, которые мы будем блокировать за "плохое поведение".

    Iptables - это штатный файервол Linux-систем, таких как Debian, CentOS, OpenSUSE, Ubuntu.
    К iptables можно прикрутить geoip патч, для этого надо скачать набор отсюда: ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20070414.tar.bz2

    Распаковываем и устанавливаем:
    Код:
    tar xfz patch-o-matic-ng-XXXXXX.tar.gz
    cd patch-o-matic-ng
    IPTABLES_DIR=/usr/src/iptables KERNEL_DIR=/usr/src/linux ./runme geoip 
    Затем включаем в ядро появившуюся там опцию "geoip match support". Пересобираем ядро, пересобираем iptables из тех исходников, которые пропатчили. Базу с адресами ложим в /var/geoip/
    Пример пользования:
    Код:
    iptables -A INPUT --dport 25 -m geoip --src-cc RU -j ACCEPT
    iptables -A INPUT --dport 25 -j LOG --log-prefix "Blocked smtp from not RU:"
    iptables -A INPUT --dport 25 -j REJECT
    Также советую зайти на www.netfilter.org, там очень много разных патчей и феничек для iptables. Кроме этого, есть более новый и актуальный вариант xtables.


    Инструкции по настройке связки Geoip и iptables на Debian:
    http://habrahabr.ru/post/73129/
    https://debian.pro/510
     
    17 сен 2013

Поделиться этой страницей