Неделю отбиваюсь от DDos атак
-
- Сообщения: 13
- Зарегистрирован: Сб мар 23, 2019 11:21 am
Неделю отбиваюсь от DDos атак
Привет! Помогите советом как отбиться от DDos стандартные средства перестали реагировать на атаки и вот почему!
1. После того как fail2ban начал вносить в списки айпишники стала атака изощренней теперь атакуют сразу с подсети x.х.x.n/24 причем сразу в пул идет по 150-250 ip адресов в основном Пакистан, Турция, Индия и со всех красиво по 1-2 запроса потом пауза и опять но они заваливают массой сразу 2-5 подсетей по 256 адресов! Приходиться сражаться вручную командой iptables -I INPUT -s 194.29.209.1/24 -j DROP но проблема в том что всё это вручную АДМИНЫ И РАЗРАБОТЧИКИ помогите автоматизировать этот процесс так что бы если с одной подсети по установленному лимиту там допустим с 10 адресов одновременно идут запросы и с региона(Китай Индия и т.п.) не для сайта то сразу в бан!
2. Заблокировать все IP, количество соединений у которых более: почему то не работает если закрыть страничку и реагирует медленно как бы так сделать что бы хотя бы раз в минтуту отслеживало по крону и в бан если больше 50-100 запросов тоже с указанного региона
Вобщем пока сражаюсь с Досерами вручную кто что знает как настроить защиту сервера и оставить только регионы СНГ по айпишникам дайте знать в комментах
1. После того как fail2ban начал вносить в списки айпишники стала атака изощренней теперь атакуют сразу с подсети x.х.x.n/24 причем сразу в пул идет по 150-250 ip адресов в основном Пакистан, Турция, Индия и со всех красиво по 1-2 запроса потом пауза и опять но они заваливают массой сразу 2-5 подсетей по 256 адресов! Приходиться сражаться вручную командой iptables -I INPUT -s 194.29.209.1/24 -j DROP но проблема в том что всё это вручную АДМИНЫ И РАЗРАБОТЧИКИ помогите автоматизировать этот процесс так что бы если с одной подсети по установленному лимиту там допустим с 10 адресов одновременно идут запросы и с региона(Китай Индия и т.п.) не для сайта то сразу в бан!
2. Заблокировать все IP, количество соединений у которых более: почему то не работает если закрыть страничку и реагирует медленно как бы так сделать что бы хотя бы раз в минтуту отслеживало по крону и в бан если больше 50-100 запросов тоже с указанного региона
Вобщем пока сражаюсь с Досерами вручную кто что знает как настроить защиту сервера и оставить только регионы СНГ по айпишникам дайте знать в комментах
-
- Сообщения: 325
- Зарегистрирован: Чт сен 21, 2017 10:48 pm
- Откуда: Saint-Petersburg
- Контактная информация:
Re: Неделю отбиваюсь от DDos атак
Для этих целей лучше всего подходит ipset, добавляете подсети нужных стран, правило в IPtables и все подсети из списка DROP или REJECT, что вам больше нравится. Можно создать список и с IP адресами...freehosting.by писал(а): ↑Пн окт 28, 2019 9:00 pmПривет! Помогите советом как отбиться от DDos стандартные средства перестали реагировать на атаки и вот почему!
Вобщем пока сражаюсь с Досерами вручную кто что знает как настроить защиту сервера и оставить только регионы СНГ по айпишникам дайте знать в комментах
Сразу можете вносить в блок: Китай, Корею, Турцию, Пакистан...От них постоянно атаки идут на 21, 25, 80, 22, 443 порты, если они открыты.
Статей на эту тему много.
В догонку статья, почему Fail2Ban не панацея от атак https://habr.com/ru/post/238303/
В ПУ версия Fail2Ban очень старая поэтому пропускает "умные" типы атак, в статье написано об этом.
Re: Неделю отбиваюсь от DDos атак
Аналогичная ситуация. Штатный fail2ban блочит только ssh , и очень малую часть от атакующих.
Re: Неделю отбиваюсь от DDos атак
Давно решил эту проблему с помощью ipset, воспользовавшись статьей https://itsecforu.ru/2018/01/19/скрипт- ... -iptables/
Так же можно скачать скрипт с https://github.com/trick77/ipset-blacklist. Там же есть ссылка на постоянно обновляющиеся черные списки с различных сервисов https://github.com/firehol/blocklist-ipsets
Мой ipset-blacklist.conf
Мой ip-blacklist-bots.list - заношу IP зловредных ботов
Мой ip-blacklist-custom.list - здесь IP отсутствующие в черных списках, вношу вручную. Можно не использовать если найдутся нужные черные списки. https://yadi.sk/d/ZvFbmxd4uiCCdA
Мой redireckt_atack.txt - здесь IP с которых идет спамм-атака редиректами. Пополняется вручную из логов. https://yadi.sk/d/5I-OpD7WF5i1yg
ПС. Уже предлагал встроить такую защиту в ПУ, но пока это не реализовано.
Так же можно скачать скрипт с https://github.com/trick77/ipset-blacklist. Там же есть ссылка на постоянно обновляющиеся черные списки с различных сервисов https://github.com/firehol/blocklist-ipsets
Мой ipset-blacklist.conf
Код: Выделить всё
IPSET_BLACKLIST_NAME=blacklist # change it if it collides with a pre-existing ipset list
IPSET_TMP_BLACKLIST_NAME=${IPSET_BLACKLIST_NAME}-tmp
# ensure the directory for IP_BLACKLIST/IP_BLACKLIST_RESTORE exists (it won't be created automatically)
IP_BLACKLIST_RESTORE=/etc/ipset-blacklist/ip-blacklist.restore
IP_BLACKLIST=/etc/ipset-blacklist/ip-blacklist.list
VERBOSE=yes # probably set to "no" for cron jobs, default to yes
FORCE=yes # will create the ipset-iptable binding if it does not already exist
let IPTABLES_IPSET_RULE_NUMBER=1 # if FORCE is yes, the number at which place insert the ipset-match rule (default to 1)
# Sample (!) list of URLs for IP blacklists. Currently, only IPv4 is supported in this script, everything else will be filtered.
BLACKLISTS=(
"file:///etc/ipset-blacklist/ip-blacklist-custom.list" # optional, for your personal nemeses (no typo, plural)
#"file:///etc/ipset-blacklist/ip-blacklist-bots.list"
# "file:///etc/ipset-blacklist/redireckt_atack.txt"
"https://www.projecthoneypot.org/list_of_ips.php?t=d&rss=1" # Project Honey Pot Directory of Dictionary Attacker IPs
"https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.1.1.1" # TOR Exit Nodes
"https://www.maxmind.com/en/high-risk-ip-sample-list" # MaxMind GeoIP Anonymous Proxies
"http://danger.rulez.sk/projects/bruteforceblocker/blist.php" # BruteForceBlocker IP List
"https://www.spamhaus.org/drop/drop.lasso" # Spamhaus Don't Route Or Peer List (DROP)
"http://cinsscore.com/list/ci-badguys.txt" # C.I. Army Malicious IP List
"https://lists.blocklist.de/lists/all.txt" # blocklist.de attackers
"http://blocklist.greensnow.co/greensnow.txt" # GreenSnow
"http://osint.bambenekconsulting.com/feeds/banjori-iplist.txt"
"https://www.badips.com/get/list/any/0?age=1d"
"https://www.badips.com/get/list/any/1?age=7d"
"https://www.badips.com/get/list/any/2?age=1d"
"https://www.badips.com/get/list/any/2?age=30d"
"https://www.badips.com/get/list/any/2?age=7d"
"http://lists.blocklist.de/lists/all.txt"
"https://blocklist.net.ua/blocklist.csv"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_1d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_30d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_7d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_new.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_new_1d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_new_30d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_new_7d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_top20.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_updated.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_updated_1d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_updated_30d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_updated_7d.ipset"
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset" # Firehol Level 1
"https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/stopforumspam_7d.ipset" # Stopforumspam via Firehol
"https://myip.ms/files/blacklist/csf/latest_blacklist.txt"
"https://myip.ms/files/blacklist/csf/latest_blacklist_users_submitted.txt"
# "http://ipverse.net/ipblocks/data/countries/xx.zone" # Ban an entire country, see http://ipverse.net/ipblocks/data/countries/
)
MAXELEM=16777216
Код: Выделить всё
94.100.176.0/20
94.100.181.128/25
195.239.211.0/24
Мой redireckt_atack.txt - здесь IP с которых идет спамм-атака редиректами. Пополняется вручную из логов. https://yadi.sk/d/5I-OpD7WF5i1yg
ПС. Уже предлагал встроить такую защиту в ПУ, но пока это не реализовано.
Последний раз редактировалось vikont Чт окт 31, 2019 12:29 pm, всего редактировалось 1 раз.
Re: Неделю отбиваюсь от DDos атак
Так же могу порекомендовать установку Скрипта защиты от ботов, спам ботов и авто ботов - ограничителя коннектов в единицу времени с временной блокировкой.
http://usefulscript.ru/bad_bot.php
Для себя удобным нашел такой показатель в файле index.php скрипта защиты
http://usefulscript.ru/bad_bot.php
Для себя удобным нашел такой показатель в файле index.php скрипта защиты
Код: Выделить всё
* Количество запросов страницы в интервал времени.
*/
const intervalTimes = 8;
-
- Сообщения: 13
- Зарегистрирован: Сб мар 23, 2019 11:21 am
Re: Неделю отбиваюсь от DDos атак
Отличная статья как в автозагрузку кидал через панель или напрямую в загрузчик и у меня на Центосе всё стоит как с ним?vikont писал(а): ↑Чт окт 31, 2019 12:11 pmДавно решил эту проблему с помощью ipset, воспользовавшись статьей https://itsecforu.ru/2018/01/19/скрипт- ... -iptables/
Так же можно скачать скрипт с https://github.com/trick77/ipset-blacklist. Там же есть ссылка на постоянно обновляющиеся черные списки с различных сервисов https://github.com/firehol/blocklist-ipsets
Мой ipset-blacklist.confМой ip-blacklist-bots.list - заношу IP зловредных ботовКод: Выделить всё
IPSET_BLACKLIST_NAME=blacklist # change it if it collides with a pre-existing ipset list IPSET_TMP_BLACKLIST_NAME=${IPSET_BLACKLIST_NAME}-tmp # ensure the directory for IP_BLACKLIST/IP_BLACKLIST_RESTORE exists (it won't be created automatically) IP_BLACKLIST_RESTORE=/etc/ipset-blacklist/ip-blacklist.restore IP_BLACKLIST=/etc/ipset-blacklist/ip-blacklist.list VERBOSE=yes # probably set to "no" for cron jobs, default to yes FORCE=yes # will create the ipset-iptable binding if it does not already exist let IPTABLES_IPSET_RULE_NUMBER=1 # if FORCE is yes, the number at which place insert the ipset-match rule (default to 1) # Sample (!) list of URLs for IP blacklists. Currently, only IPv4 is supported in this script, everything else will be filtered. BLACKLISTS=( "file:///etc/ipset-blacklist/ip-blacklist-custom.list" # optional, for your personal nemeses (no typo, plural) #"file:///etc/ipset-blacklist/ip-blacklist-bots.list" # "file:///etc/ipset-blacklist/redireckt_atack.txt" "https://www.projecthoneypot.org/list_of_ips.php?t=d&rss=1" # Project Honey Pot Directory of Dictionary Attacker IPs "https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.1.1.1" # TOR Exit Nodes "https://www.maxmind.com/en/high-risk-ip-sample-list" # MaxMind GeoIP Anonymous Proxies "http://danger.rulez.sk/projects/bruteforceblocker/blist.php" # BruteForceBlocker IP List "https://www.spamhaus.org/drop/drop.lasso" # Spamhaus Don't Route Or Peer List (DROP) "http://cinsscore.com/list/ci-badguys.txt" # C.I. Army Malicious IP List "https://lists.blocklist.de/lists/all.txt" # blocklist.de attackers "http://blocklist.greensnow.co/greensnow.txt" # GreenSnow "http://osint.bambenekconsulting.com/feeds/banjori-iplist.txt" "https://www.badips.com/get/list/any/0?age=1d" "https://www.badips.com/get/list/any/1?age=7d" "https://www.badips.com/get/list/any/2?age=1d" "https://www.badips.com/get/list/any/2?age=30d" "https://www.badips.com/get/list/any/2?age=7d" "http://lists.blocklist.de/lists/all.txt" "https://blocklist.net.ua/blocklist.csv" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_1d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_30d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_7d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_new.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_new_1d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_new_30d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_new_7d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_top20.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_updated.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_updated_1d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_updated_30d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/cleantalk_updated_7d.ipset" "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset" # Firehol Level 1 "https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/stopforumspam_7d.ipset" # Stopforumspam via Firehol "https://myip.ms/files/blacklist/csf/latest_blacklist.txt" "https://myip.ms/files/blacklist/csf/latest_blacklist_users_submitted.txt" # "http://ipverse.net/ipblocks/data/countries/xx.zone" # Ban an entire country, see http://ipverse.net/ipblocks/data/countries/ ) MAXELEM=16777216
Мой ip-blacklist-custom.list - здесь IP отсутствующие в черных списках, вношу вручную. Можно не использовать если найдутся нужные черные списки. https://yadi.sk/d/ZvFbmxd4uiCCdAКод: Выделить всё
94.100.176.0/20 94.100.181.128/25 195.239.211.0/24
Мой redireckt_atack.txt - здесь IP с которых идет спамм-атака редиректами. Пополняется вручную из логов. https://yadi.sk/d/5I-OpD7WF5i1yg
ПС. Уже предлагал встроить такую защиту в ПУ, но пока это не реализовано.
Re: Неделю отбиваюсь от DDos атак
Вот с этим моментом так и не разобрался.freehosting.by писал(а): ↑Вс ноя 03, 2019 7:59 pmОтличная статья как в автозагрузку кидал через панель или напрямую в загрузчик и у меня на Центосе всё стоит как с ним?
При перезагрузке приходится вручную выполнять команды
Код: Выделить всё
/usr/local/sbin/update-blacklist.sh /etc/ipset-blacklist/ipset-blacklist.conf
Код: Выделить всё
ipset restore < /etc/ipset-blacklist/ip-blacklist.restore
Так же, по Крон не выполняется команда
Код: Выделить всё
/usr/local/sbin/update-blacklist.sh /etc/ipset-blacklist/ipset-blacklist.conf
Почему КРОН не выполняет ни одной команды после системной, мне так и не ответили.
Re: Неделю отбиваюсь от DDos атак
я добавил в /var/spool/cron/root
обновляет раз в час в хх:10
Код: Выделить всё
10 * * * * bash -l /usr/local/sbin/update-blacklist.sh /etc/ipset-blacklist/ipset-blacklist.conf && bash -l ipset restore < /etc/ipset-blacklist/ip-blacklist.restore
Re: Неделю отбиваюсь от DDos атак
Спасибо, про команду bash -l я даже не подумал, системная команда в root ее не используетSavage писал(а): ↑Вт ноя 05, 2019 9:15 amя добавил в /var/spool/cron/rootобновляет раз в час в хх:10Код: Выделить всё
10 * * * * bash -l /usr/local/sbin/update-blacklist.sh /etc/ipset-blacklist/ipset-blacklist.conf && bash -l ipset restore < /etc/ipset-blacklist/ip-blacklist.restore
На каждый час использую такую настройку * */1 * * *
Как вы решили вопрос с автозапуском iptables после перезапуска сервера? У меня почему то сам не поднимается, толкаю вручную.
Как общее впечатление от полученного результата? Может быть стоит более настоятельно попросить разработчиков внедрить эту защиту?
Re: Неделю отбиваюсь от DDos атак
У меня iptables поднимается сам.
Результатом доволен, прорываются, конечно, но не так уж сильно.
Результатом доволен, прорываются, конечно, но не так уж сильно.