Восстановится ли веб-сайт после атаки типа «Отказ в обслуживании» самостоятельно?

#python #django #dos #recover

#python #django #dos #восстановиться

Вопрос:

Сейчас я нахожусь в довольно своеобразной ситуации. Короче говоря, я являюсь частью (реальной) волонтерской организации, насчитывающей около 2000 членов. Наш текущий веб-сайт был создан и поддерживается участником, который больше не является частью организации (он уволился). К сожалению, он был единственным, у кого действительно был доступ к серверу, и он не проявил сотрудничества в передаче управления кому-то другому после его ухода. В результате я и небольшая команда людей работали над созданием нового веб-сайта для себя с нуля. Данные на исходном веб-сайте было бы здорово иметь для нового, поэтому без прямого доступа к базе данных мы просматривали то, что нам нужно.

Что подводит меня к моей текущей головоломке. Сценарий очистки экрана, который я использовал, работал очень медленно, поэтому у меня была блестящая (не) идея его распараллеливания. Я предположил, что узкое место было вызвано моим медленным интернетом, поэтому я по глупости решил запустить 250 потоков одновременно. После того, как я попробовал это, веб-сервер таинственным образом вышел из строя и с тех пор не работал (прошло уже около 30 минут).

Я не какой-либо хакер или эксперт по безопасности, но я почти уверен, что я просто случайно вызвал атаку типа «Отказ в обслуживании» на сервере. Что подводит меня к моему вопросу — если предположить, что владелец веб-сайта ничего не делает, чтобы помочь нам, сервер вернется к жизни сам по себе? (он размещается Django на Linode, если это имеет значение). Как веб-сайты обычно восстанавливаются после DoS-атак? Я потенциально неправильно диагностировал, что происходит, и может ли быть альтернативное объяснение? Или веб-сайт потерян навсегда?

Редактировать: все 250 запросов были простыми http-запросами, направляемыми на страницы в панели администратора Django, если это что-то изменит.

Ответ №1:

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

В зависимости от того, какая технология используется, существует ряд вещей, которые «могли» произойти.

  1. Вы могли бы просто ограничить ограничения на стороне веб-сервера для постановки в очередь и т. Д., Для чего может потребоваться перезапуск приложения. Это может произойти автоматически через некоторое время или потребовать вмешательства хостинг-провайдера.
  2. Вы могли перегрузить приложение и заставить его использовать слишком много памяти там, где оно было принудительно закрыто. Некоторые хостинг-провайдеры сделают это, но, как правило, провайдер за небольшие промежутки времени и позволит приложению запустить резервное копирование. (Дайте ему час или около того)
  3. Вы могли бы превысить месячный лимит пропускной способности, в этом случае он может быть отключен до следующего цикла выставления счетов…

Не зная хостинг-провайдера или среды, это всего лишь догадки.

Я бы настоятельно рекомендовал отключить ваш scraper!

Комментарии:

1. Было бы неплохо узнать, есть ли у вас какие-либо ошибки или детали, или страница просто «пытается» загрузиться?

2. он просто пытается загрузиться и никогда не попадает туда.

Ответ №2:

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

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

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

Linode также может иметь ограничения, ограничивающие использование полосы пропускания в течение определенного периода времени. Вероятно, вам следует связаться с ними (или с тем, кто отвечает).

Комментарии:

1. Я, очевидно, остановил скрипт очистки, как только он перестал работать. Я не могу расследовать то, что произошло, потому что у меня (и ни у кого другого) нет к этому доступа. Так что я скрещиваю пальцы на том, что это проблема с пропускной способностью и что она исправится сама собой.

2. DDOS-атаки обычно вызываются на уровне базы данных, а затем переходят к приложению. Если ваша база данных и приложение реагируют достаточно быстро, DDOS-атака может привести только к насыщению соединения, но один домашний DSL / кабель никогда не будет насыщать центр обработки данных.