Перейти к содержанию
Авторизация  

GeoIP+IPtables


Описание

Защита от DDoS подручными средствами

Для начала скомпилируем сам модуль:

 

aptitude install module-assistant xtables-addons-source linux-headers-`uname -r`

aptitude install libtext-csv-xs-perl libxml-csv-perl libtext-csv-perl unzip

module-assistant auto-install xtables-addons-source

Если вылетит ошибка — жмите Continue и запускайте ещё раз — у меня после этого всё поставилось нормально.

Теперь запустим такую команду:

 

root@firewall:~# iptables -I INPUT ! -i lo -m geoip --src-cc US -j DROP

Нам пожалуются, что у нас нет БД в каталоге. Либо /usr/share/xt_geoip/LE, либо /usr/share/xt_geoip/BE. Зависит от архитектуры, но мне лениво запоминать какой каталог от какой архитектуры. Да и скопипастить директорию проще, чем потом создавать) Я буду отталкиваться от того, что у меня попросили директорию /usr/share/xt_geoip/LE.
Поставим нужные модули для perl и unzip:

 

root@firewall:~# aptitude install libtext-csv-xs-perl libxml-csv-perl libtext-csv-perl unzip

Собственно, проблема в том, что автособиралка модулей для дебиана не создаёт базу GeoIP для iptables. Но никто не мешает создать нам её руками. Идем за исходниками и распаковываем оттуда архив. После распаковки у меня получился каталог xtables-addons-1.28/

 


Соберем базу:

 

root@firewall:~# cd xtables-addons-1.28/geoip/root@firewall ~/xtables-addons-1.28/geoip # ./geoip_download.shroot@firewall ~/xtables-addons-1.28/geoip # mkdir -p /usr/share/xt_geoip/LEroot@firewall ~/xtables-addons-1.28/geoip # ./geoip_build_db.pl -D /usr/share/xt_geoip/LE < GeoIPCountryWhois.csv

База собрана. Можем начинать её использовать.
Приведу несколько примеров.


Бан КИТАЙ по 5060 udp и tcp

iptables -A INPUT -p tcp  -d $INETIP --dport 5060 -m geoip --src-cc CN -j DROP

iptables -A INPUT -p udp  -d $INETIP --dport 5060 -m geoip --src-cc CN -j DROP

Забаним на сервере весь трафик от/до хостов, которые расположены не в Германии, Украине или России:

root@firewall:~# iptables -I INPUT ! -i lo -m geoip ! --src-cc DE,UA,RU -j DROP

Тоже самое, но только для 80го порта, с доступом только из России:

root@firewall:~# iptables -I INPUT -p tcp --dport 80 ! -i lo -m geoip ! --src-cc RU -j DROP

Забаним китай совсем:

root@firewall:~# iptables -I INPUT ! -i lo -m geoip --src-cc CN -j DROP



Рекомендуемые комментарии

Комментариев нет

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...