Re[3]: Как была решена проблема DDOs сегодня ночью.

Vitaly Puzrin vitaly at rcdesign.ru
Sat Nov 3 20:47:15 MSK 2007


Глянул в ссылку. Не проще ли ВЕСЬ контент в статику прокинуть, и не
париться? А для скриптов обработки форм - реферера проверять, если
прижмет. У вас динамические страницы, по большому счету, отсутствуют.

IMHO, 99% того, что называется словом DDoS - последствия
раздолбайства. С той же вероятностью нетюненый сайт могут просадить
поисковые боты. Yahoo такое уже устраивал.

Vitaly Puzrin
http://www.rcdesign.ru

суббота, 3 ноября 2007 г., you wrote:

В> Здравствуйте, Stas.

В> Вы писали 3 ноября 2007 г., 12:05:10:

В> Отвечу сразу-же всем.

В> Стояла связка apache 2.* и php как cgi. К ДДосу готовы не были.

В> Начиная с пятницы, на сайт велась атака. Под атакой процессор умерал и
В> машинка уходила в аут на 10-20 минут. Заглянув в логи апача я узнал,
В> что атака ведется на адрес типа http://www.domain.ru/.

В> Было решено поставить на apache mod_secure и должным образом его
В> настроить. Этим действием мы снизили Load Averege до 25-30, но машинка
В> все равно через 10-15 минут уходила в аут, хоть и чуть дольше держалась.

В> Потом, было принято решение потюнить ядро и поставить nginx + php.
В> После этого, я сделал небольшой скриптик который смотрел на кол-во
В> запросов с IP и если они превышали определенный порог (200 запросов) - добавлял их в
В> ipfw. Каждую минуту банилось от 1 до 7 IP адресов. Загрузка снизилась
В> стабильно до 18-20 и машинка уже сдерживала атаку, а не умерала.

В> Гениальное решение пришло на 4-ый час борьбы с ДДос. Сохранить главную
В> страницу в HTML и подложить HTML на сервер, чтобы боты брали ее.
В> Сказано - сделано. Идея трансформировалась в переименование
В> индексного файла в indexx.php и файла index.html который содержал.

В>         <script type="text/javascript">
В>         //<![CDATA[
В>                
В> document.location.href="http://www.domain.ru/indexx.php"
В>         //]]>
В>         </script>

В> и Ура! Я убрал все баны, отключил скрипт и процесс Nginx загружал
В> процессор всего на 3-4% отдавая только эту страницу. Load averege
В> стабилизировался на отметке 0.2 - 0.4. Атака была побеждена.

В> p.s. Но чуть позже, атака началась на файл index2.php (которого на
В> сервере нету), и естественно боты попадали на обработчик 404 ошибки
В> (404.php) и машинка естественно умерла. Поэтому, я заменил error
В> page 404 на index.html и все вновь получилось.
В>         
>> Можно поподробнее?






More information about the nginx-ru mailing list