Сайт постоянно атакуют, что делать
Страницы: 1
Сайт постоянно атакуют, что делать
Уже неделю сайт постоянно подвергается атаке. При 3 000 посещений 200 000 запросов. Хостинг защиты от ддос атак не предоставляет, говорят решайте проблему сами, иначе сайт заблокируем. Вначале атаки были с одного IP, их я заблокировал, а сейчас даже разобрать невозможно. Что делать дайте советы кто сталкивался с подобными вещами. Есть ли не слишком дорогие хостинги с защитой от атак.
Сделайте лимит для хитов, не более 10 в секунду с 1 айпи и отправляйте в баню на 300 секунд кто превышает.
Защита сайта от слишком частого обращения

Скрипт PHP, сам пользовался.
[COLOR=#005187]Mon4ik[/COLOR] а как это лимит сделать и где его прописать
[COLOR=#005187]Coder[/COLOR] а куда скрипт установить в htaccess, сайдбар, футер или куда то еще?
"В самом начале всех страниц Вашего сайта, которые будем защищать от слишком частого обращения, необходимо установить следующий код:"

Прочитайте описание внимательно, там хорошо расписано.
Ну как, помогает такой метод?
А в шаблоне страницы нельзя? На каждую отдельно в ручную продеться неделю прописывать.
Цитата
Славик пишет:
Ну как, помогает такой метод?
Действительно, помогает. Единственный минус — он также лимитирует другие скрипты. Например, если предусмотрена обработка ошибок на сервере и выдача сообщений, в том числе об успешной отправке, то мейлер срабатывает, как правило smile:), быстрее 1 сек.
С другой стороны, можно установить, со своими порогами срабатывания, на самые проблемные участки сайта. Или, через условия, использовать в шаблоне.
В общем, работает.
Изменено: Coder - 12 Марта 2013 00:36
Цитата
Ярослав Иванишын пишет:
А в шаблоне страницы нельзя? На каждую отдельно в ручную продеться неделю прописывать.
Это самый оптимальный вариант. Только посмотрите, чтобы все остальные скрипты и функции не глушились. Например, обратная связь или форум, или комменты и т.д. Тогда пропишите срабатывание только на определенных страницах, например, через
Код
$SERVER['REQUEST_URI']
Или возможности cms, которой пользуетесь
Изменено: Coder - 12 Марта 2013 00:43
Пожалуйста еще раз скажите. Самый оптимальный вариант, это на каждой странице или в шаблоне страницы, а то мои знания о скриптах желают лучшего
Цитата
Ярослав Иванишын пишет:
Пожалуйста еще раз скажите. Самый оптимальный вариант, это на каждой странице или в шаблоне страницы, а то мои знания о скриптах желают лучшего
Если у вас есть шаблон, часть которого с самым верхом (doctype и прочее), повторяется на всем сайте - ставьте скрипт, как он есть, или через псевдотеги cms, обеспечивающие вывод php-кода перед
Код
<!DOCTYPE>
или других скриптов. Конечно. смотрите, что если сессия там, например, уже запускается, то повторно запускать не нужно - уберите запуск сессии из этого скрипта.

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

А если вас ddos-ят только на главной, то лучше ограничиться ей.
Изменено: Coder - 12 Марта 2013 01:08
Какой же это DDoS ? :DЭто детсадовский цикл с запросами POST-GET, который лечится таким же детсадовским скриптом на уровне сервера.

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

ЧТО ПРОИСХОДИТ ?
При DDoSе чаще всего, к серверу идут нестандартные обращения с тысяч компьютеров, и это не обязательно веб-запросы, это может быть пинг, или что-то другое.
Флудерастия - это попытка завалить конкретно веб-сервер количеством запросов к нему.
Как обычно происходит работа с сайтом ?
1) Ваш браузер посылает запрос на сервер.
2) Веб-сервер на сервере, открывает соединение для вашего клиента, смотрит к чему идет обращение, обрабатывает его и отдает контент.
3) После чего ждет определенное время, после чего закрывает соединение. Это делается для того, чтоб не тратить время на их открытие, если например вы послали запрос на 2 веб страницы, с 20-тью картинками. В этом случае все делается через один запрос.
Что происходит при флуде ?
Программа, установленная у человека, имитирует разные запросы, заставляя держать открытыми несколько сотен(тысяч) соединений, хотя при этом по сути ничего не требует отдавать.
Веб-сервер, получая такой запрос, открывает соединение, которое держит открытым...ну скажем 10 секунд.
Если программа для флуда сможет открыть за эти 10 секунд, например 1000 соединений, она вызовет ту ситуацию, которую должна, а именно:
У недовебсерверов(к которым я отношу Apache) есть такой параметр как "лимит соединений", который с одной стороны делается и для предотвращения сбоя веб-сервера, а с другой стороны реализация ответа на превышение соединений состоит в ... отсечении последующих.
Получаем то что получаем. Один малолетний хакер с помощью быдлоскрипта на пыхе (или С++) наоткрывал у нас 1000 (а у кого 2000) соединений, Apache просек что его флудят, и запретил открывать следующие до тех пор пока не разберется с предыдущими. В итоге сайт кагбе в дауне, хотя нагрузка на сервер минимальная.

ЧТО ДЕЛАТЬ?

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

Если на VPS или на сервере, на котором вы root, то:
1) Если юзаете Apache, то снести его к чертям, заменив на православный nginx или lighttpd
2) Если не юзаете, то и не надо, ставьте nginx или lighttpd
3) К этим чудам, прикручиваете PHP в режиме FPM (как - гуглите).
4) Пишете скрипт, который анализирует запросы к серверу (на порты, логи вебсервера, в общем ВСЕ), и заносит в блек лист через iptables все то, что выглядит подозрительно.
5) Регулярно анализируйте логи, это поможет вам знать слабые места.
6) Поюзайте стресс тест wm-tools.net/stresstest (wm-tools.net/stresstest]stresstest)
7) Профессиональную тулзу для флудинга и теста я могу дать ТОЛЬКО при запросе на почту biznika@gmail.com , поскольку нельзя чтоб она находилась во всеобщем доступе.

ЧТО НЕ ДЕЛАТЬ ?

1) Не ставить Apache.
2) Не делать самопальные скрипты блоккинга через .htaccessы, PHP скрипты и так далее.
3) Не юзать недоsharedхостинги.
4) Не забывать регулярно делать снапшоты (а лучше через скрипт), чтобы в случае чего восстановить и не потерять базу.
5) Не забивать на простейшие статьи на тему "как засекьюрить мой веб сервер".

Удачной Вам борьбы smile:)
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
19:14 Magic click - гемблинг пп, ставки выше конкурентов 
15:37 Adtrafico - Правильная партнёрская сеть под бурж трафик 
13:38 Вопрос по Cloudflare 
21:36 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
16:33 DreamCash.tl - заработок на онлайн-видео. До 95% отчислений, отличный конверт! 
19:52 Profit Pixels - In-House Форекс, Крипто, Трейдинг CPA Офферы | Еженедельные Выплаты | CPA до $950 
17:55 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
14:16 Продам порно сайт на KVS 
12:58 Профильный прогон 200 рублей, Тиц (Икс) от 10, проверен Checktrust 
12:02 TETChange-Обменник криптовалют 
11:02 DualCoin - быстрый криптовалютный обменник 
06:42 Криптовалютный обменник Xgram.io - новое воплощение качества 
21:45 Coin Click.cc - Быстрый и надежный обмен электронных валют в два клика 
20:02 Размещение статей, ссылок и постовых на качественных ресурсах 
18:31 Видимо, похороны СУПРа уже прошли как-то по-тихому 
22:54 Точные прогнозы на футбол 
12:48 Каспкрски ОС 
11:21 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди 
14:41 Бесплатный мини-аудит юзабилити и конверсии + технический SEO-аудит в подарок 
15:24 Добро пожаловать в цифровой мир... 
22:58 У меня дикая просадка по РСЯ за последние 3 суток