Назад | Перейти на главную страницу

Как я могу изменить свой cgi, чтобы наиболее эффективно response_to / block / независимо от атаки ddos?

Я под DDoS. Что я могу сделать? уже рассматривает этот вид «канонического вопроса», но я думаю, что задаю отличный вариант, как описано ниже. Но, пожалуйста, сообщите, если этот пост неуместен.

Атаки, которые я получаю, исходят от различных и постоянно меняющихся IP-адресов; за последние несколько минут с 66.135.63.82. Все атаки направлены против cgi, который я использую на своем сайте, который я написал сам (это gpl'ed http://www.forkosh.com/nutshell.html но никого, кроме меня (и, видимо, хакера) не интересует). Атаки запускают мои cgi с тупо выглядящей строкой запроса? Query_string, и я добавил функцию qvalidate (), которая, кажется, до сих пор надежно их идентифицирует. А для недействительных запросов я теперь сплю (15), а затем отправляю атакующему страницу размером ~ 25 МБ (просто чтобы показать, что я тоже могу раздражать :). И они, кажется, ждут - вместо нескольких атак в секунду, теперь они распространяются примерно с этими 15-секундными интервалами.

Но это полуисправление кажется глупым и в конечном итоге неэффективным в долгосрочной перспективе. И это отнимает у меня много времени, проверяя вещи несколько раз в день, а иногда и настраивая процедуру. Итак, я спрашиваю - что я могу закодировать в моем cgi, чтобы лучше справляться с этими атаками по мере их возникновения ??? Атака у меня в руке, так сказать, в реальном времени по мере ее возникновения. И у меня есть ip от getenv ("REMOTE_ADDR"). Так что я могу делать почти все, что захочу на этом этапе (за исключением того, что я действительно хотел бы это сделать, но не знаю, как это кодировать :). Что было бы лучше всего делать? Спасибо.

редактировать - Спасибо за ответы, ребята. Я должен был упомянуть, что мой сайт находится на общем хосте dreamhost.com, поэтому некоторые предложения мне недоступны. И жду ответа от исп. Но поскольку нацелен на мой собственный cgi, я надеялся, что это дало мне возможность сделать что-то, что обычно невозможно.

редактировать - @HBruijn Почему не по теме? В самом верху этого поста я дал ссылку на «канонический вопрос» этого сайта также по той же теме. А затем я продолжил объяснять, почему я думал, что задаю «различимый вариант» этого (очевидно, относящегося к теме) вопроса. Более того, я изначально разместил https://softwareengineering.stackexchange.com/questions/316052/how-to-best-deal-with-ddos-attack-against-your-my-site и они сказали мне разместить это здесь. Иди разберись :)

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

Существуют сторонние сервисы, такие как cloudflare, которые могут очистить ваш трафик до того, как он попадет к вам. Их услуги варьируются от бесплатных до дорогих. Просмотрите варианты и посмотрите, подходит ли что-нибудь полезное для вашего бюджета.

Вы также можете поговорить со своим хостинг-провайдером, который предположительно имеет root-доступ к вашему серверу, если у вас его нет, и может иметь ряд других вариантов смягчения ddos, либо через запуск серверов и сети, нашу сквозную подписку для третьей стороны. ddos сервисы по линиям, если cloudflare.

Не пытайтесь усыпить свой код. Это причиняет вам больше вреда, чем им (если они отправляют запросы параллельно, у вас быстрее заканчивается память). Избавьтесь от плохих соединений как можно быстрее.