Дос, Ддос - защита на любой сервер?

12
[Удален]
1094

Здравствуйте! Вот столкнулся с школьным досом, флудом как правило с 1, 2-х ip. Найти и заблокировать дело 10 минут, но всё таки хотел бы спросить у вас, как можно это автоматизировать?

Я думаю начальный и средний уровень доса, флуда можно отразить непосредственно с сервера клиента. Кто может подсказать свежие статьи на эту тему, гайды, мб скрипты волшебные :D

Возможно у кого есть свой способ?

ПС. стоит Апач.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

http://www.zdziarski.com/blog/?page_id=442

http://dominia.org/djao/limitipconn2.html

можно поставить nginx перед апачем, там лимиты задаются "из коробки"

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
DV
На сайте с 01.05.2010
Offline
644
#2

Анализируйте вывод tcpdump, нарисуйте фильтры по количеству запросов за определённое время, SYN_RCVD, количество соединений, количество запросов корня сайта.

Анализируйте лог nginx, выделяйте превышение лимита зон (смотрите параметры limit_req_zone, limit_conn_zone, разобраться с ними обязательно).

Можно ещё придумать конвейр, в который заталкивать URL запросов и анализировать частоту.

Поставьте в исключения IP сапы, потому что улетит в чёрный список 146%.

Помимо бана, нарисуйте механизм автоматического разбана после прошествия времени.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
[Удален]
#3

Спасибо господа. Я думаю это перебор наверное, хотя...

С nginx ни разу не работал, так что на изучение потребуется время, да и сайты + по завязано на апаче.

Всё таки для начала попробую на апаче скрип настроить какой найду, подпилю под себя.

DV
На сайте с 01.05.2010
Offline
644
#4
KitayacVsupez:
С nginx ни разу не работал, так что на изучение потребуется время, да и сайты + по завязано на апаче.

Поставить фронтэндом — это сложно лишь на первый взгляд.

На деле, берём уже готовый рабочий apache и меняем порт. Запускаем nginx, и вот трафик забегал через реверс-прокси.

Одно это снизит нагрузку при http флуде в разы, так, что никакой защиты может не потребоваться.

[Удален]
#5

Пойду почитаю :)

А сам по себе нагрузку с апачем сильно на сервер выдаст? От непосредственной работы, запросы та наверное быстрее будет обрабатывать.

DV
На сайте с 01.05.2010
Offline
644
#6

С фронтэндом быстрее получается, архитектура nginx такова, что он не ложится от большого количества медленных запросов + кэширует.

Реально реактивная вещь, если по-серьёзному, то только так. Одинокий Apache никогда не достигнет той же нагрузочной способности.

[Удален]
#7

Да вот я смотрю это достаточно серьёзные вещи. Для этого и сервер нужен хороший, а у меня оч. слабенькое ведро :)

DV
На сайте с 01.05.2010
Offline
644
#8

KitayacVsupez, заблуждаетесь.

У вас сейчас под нагрузкой apache памяти выжирает за 10 nginx.

Как раз для слабых конфигураций строго показан быстрый фронт энд.

[Удален]
#9

Читаю, вроде понятно. У меня в принципе та статических страниц почти нету, всё стоит на кмс где в основном динамические страницы. Опасаюсь я ставить такую связку :)))

DV
На сайте с 01.05.2010
Offline
644
#10
KitayacVsupez:
У меня в принципе та статических страниц почти нету, всё стоит на кмс где в основном динамические страницы.

Вот смотрите: клиент отправляет запрос, ждёт получения ответа. Apache включает всю свою дурь, к примеру, порождает для этого процесс, который работает с клиентом до закрытия соединения (keep-alive включено?).

Теперь представим, что клиентов много, и каналы связи у них неидеальные. С каким скрипом будет работать этот механизм.

Поместим nginx на фронт. Он принимает запрос, передаёт apache в порядке очереди. Потом обратно, так же. Между ними keep-alive можно и выключить, т.е. всё происходит очень быстро, Apache занят только своей прямой обязанностью. Клиент для него nginx, и он оптимален в плане скорости.

С внешним же клиентом работает nginx, который ждёт, когда информация передастся, терпит, пока соединение не закрыто, и вообще, занимается всякой хренью, потребляя при этом мало памяти и почти не нагружая процессор.

KitayacVsupez:
Опасаюсь я ставить такую связку

Если начистоту, боитесь нового, так? Понимаю.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий