grisha2217

Рейтинг
35
Регистрация
16.02.2013

ТС помог с одной проблемкой, быстро пофиксил. Советую.

Himiko:
Может не хватает
iptables -I INPUT -m set --match-set dropip src --dport 80 -j DROP

?

iptables v1.4.7: unknown option `--dport'

Вроде куда-то нужно tcp вписать, не?

У меня форум, в .htaccess есть не только реврайты.

WapGraf:
Долго искать не нужно. nginx + php-fpm

Ну вот я поставлю эту связку. Будет рост в производительности, с ддосом будет легче бороться?

Какие подводные камни?

Дак там прокси обычные. Буржуйские, русские и прочие. А если будет реальный ддос, т.е. ботнет. Что я буду делать?

Вообще, найти бы мне пример отказа от апача.

Стоит скрипт:

#!/bin/bash

SLEEP_TIME=5
while true; do
awk '{print "ipset -A dropip " $1}' /tmp/bad_request.log | sort -u | sh;
cat /dev/null > /tmp/bad_request.log
sleep $SLEEP_TIME;
done

и в предыдущем каталоге есть скрипты подобного содержания:


#!/bin/bash
./scripts/ban_by_ip.sh &

#!/bin/bash

killall ban_by_ip.sh 2>&1>/dev/null

В bad_request.log идут айпишники, которые получили 444.

Увидел, что есть 1 айпишник в логе. Посмотрел, в списке бана его нет. Занес его сам через команду ipset -A dropip *IP*, потом гляжу логи, но там всё равно айпишник этот есть. В чем проблема?

WapGraf:
Ну например так:
awk '{print "ipset -A dropip " $1}' /tmp/ban_location.log | sort -u | sh;

Спасибо вам, разжевываете мне)

WapGraf:
Ну так сделайте второй и не нужно тогда искать коды ответа 444, а лочить всех. Просто чтение файла и лок.

Хорошо.

Тогда как будет выглядеть новый скрипт без поиска 444?

Первый вариант.

В кроне где-то ошибка была, один человек помог вынести в bash скрипт и запускать раз в 5 секунд


#!/bin/bash
SLEEP_TIME=5
while true; do
awk -F '|' '{if($8 == " 444 ")print $1}' /tmp/ban_location.log | awk '{print $1}' | sort -u | awk '{print "ipset -A dropip " $1}' | sh;
cat /dev/null > /tmp/ban_location.log
sleep $SLEEP_TIME;
done


---------- Добавлено 09.03.2014 в 11:23 ----------

Den73:
/tmp/ban_location.log

откуда там вообще берутся записи.

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

Да я же вам вроде говорил. Это access_log из локейшена.

Всего: 94