User Tools

Site Tools


ddos_ipset

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
ddos_ipset [2009/05/31 21:06]
kyxap
ddos_ipset [2013/12/15 16:27]
kyxap
Line 1: Line 1:
-====== Борьба с DDOS посредством использования утилиты ipset на выделенных серверах с Debian ======+{{tag>​ddos_mitigation debian squeeze ipset geoip bash perl iptables kernel}}====== Борьба с DDOS посредством использования утилиты ipset на выделенных серверах с Debian ======
   * Тянем последний [[ftp://​ftp.netfilter.org/​pub/​patch-o-matic-ng/​snapshot/​|patch-o-matic-ng]] в ''/​usr/​src'',​ распаковываем,​ заходим в директорию и стартуем **./runme set**. \\ При этом подразумевается что исходники текущего ядра находятся в ''/​usr/​src/​linux'',​ а ''​iptables''​ - в ''/​usr/​src/​iptables''​. \\ После заходим в ''/​usr/​src/​linux''​ и делаем **make oldconfig**,​ где указываем поддержку фич ''​ipset''​ //​модулями//​.   * Тянем последний [[ftp://​ftp.netfilter.org/​pub/​patch-o-matic-ng/​snapshot/​|patch-o-matic-ng]] в ''/​usr/​src'',​ распаковываем,​ заходим в директорию и стартуем **./runme set**. \\ При этом подразумевается что исходники текущего ядра находятся в ''/​usr/​src/​linux'',​ а ''​iptables''​ - в ''/​usr/​src/​iptables''​. \\ После заходим в ''/​usr/​src/​linux''​ и делаем **make oldconfig**,​ где указываем поддержку фич ''​ipset''​ //​модулями//​.
 Собираем и устанавливаем ядро: Собираем и устанавливаем ядро:
Line 35: Line 35:
 SCRIPTHOME="/​root/​antiddos";​ SCRIPTHOME="/​root/​antiddos";​
 # don't change anything bellow # don't change anything bellow
-grep "​$BADREQUEST}"​ $LOGPATH | awk -F ' ' '{ print $ 1 }' | sort | uniq -c | ${SCRIPTHOME}/​num-filter.pl $MINREQUESTS >> ${SCRIPTHOME}/​in_blacklist.add.pre +grep "${BADREQUEST}"​ $LOGPATH | awk -F ' ' '{ print $ 1 }' | sort | uniq -c | ${SCRIPTHOME}/​num-filter.pl $MINREQUESTS >> ${SCRIPTHOME}/​in_blacklist.add.pre 
-sort -u < {SCRIPTHOME}/​in_blacklist.add.pre > ${SCRIPTHOME}/​in_blacklist.add+sort -u < ${SCRIPTHOME}/​in_blacklist.add.pre > ${SCRIPTHOME}/​in_blacklist.add
 cat ${SCRIPTHOME}/​in_blacklist.add > ${SCRIPTHOME}/​in_blacklist cat ${SCRIPTHOME}/​in_blacklist.add > ${SCRIPTHOME}/​in_blacklist
 for i in `cat ${SCRIPTHOME}/​in_blacklist`;​ for i in `cat ${SCRIPTHOME}/​in_blacklist`;​
Line 60: Line 60:
   * Добавляем запуск скрипта **/​root/​antiddos/​blacklist.sh** в крон с интервалом в 10 минут.   * Добавляем запуск скрипта **/​root/​antiddos/​blacklist.sh** в крон с интервалом в 10 минут.
  
 +-----------------------------------------------------------------------------------
 +
 +Фильтрация с GeoIP
 +  # apt-get install xtables-addons-source
 +  #
  
 == ПРИМЕР ФАЕРВОЛА С ИСПОЛЬЗОВАНИЕМ GEOIP == == ПРИМЕР ФАЕРВОЛА С ИСПОЛЬЗОВАНИЕМ GEOIP ==
ddos_ipset.txt · Last modified: 2016/01/27 21:31 by kyxap