Сайт постоянно атакуют, что делать
Страницы: 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:12 Продвижение по ключам 
09:57 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
19:33 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
17:02 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
15:12 Несколько статей хорошо выдаются в Гугле, но отвратительно в Яндексе 
13:40 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
11:41 2Index - быстрая индексация страниц сайта и обратных ссылок 
20:45 SnapSwap.io — мгновенный обмен BTC, XMR, ETH, USDT и других криптовалют без регистрации! 
18:11 Clearex.io - Больше чем обменник 
16:04 Продам базу данных предприятий Украины, России, Великобритании, Германии, Испании, Италии, Нидерландов, Польши, Франции, Швейцарии и др. 
13:46 Продвижение сайтов в ТОП Яндекса за 2 недели. Рост позиций и трафика. Бесплатный тест. 
12:28 BIGPROXY.SHOP - Резидентные Ротационные Backconnect Proxy USA EUROPA MIX [Безлимитный трафик] 
11:31 Продвижение сайтов 
03:51 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
16:49 monetizer.agency – рекламная сеть для взрослого и развлекательного трафика. 100$ новому вебмастеру 
20:43 Добро пожаловать в цифровой мир... 
15:59 Про мясо 
23:09 ПП от PMS remote.team - 200$ за команду 
13:28 Компьютерная мышь 
22:55 Ну что, кто куда деваете свои сайты? 
22:34 Используете беспроводные наушники?