Сегодня получил интересный вопрос по поводу защиты сайта от DoS атаки. Действительно интересо, как можно сделать это. Самая дебильная атака – это DoS, потому что для ее реализации много ума не нужно, а защитится сложно. Еще более дебильная атака DDoS, от которой еще сложнее защититься.
От DoS атак защитится достаточно проблематично. Нужно искать наиболее слабые места на сайте и оптимизировать их. Самый лучший способ организовать DoS атаку - это найти наиболее долго выполняющуюся страницу, и многократно долбить ее. Чаще всего на такой странице будет долго выполняющийся запрос, который и будет загружать процессор сервера до такой степени, что сайт станет недоступным.
Можно пытаться реализовать программную защиту прямо в своей CMS и не позволять более N запросов в секунду и просто отбрасывать их нафиг. Вполне действенная защита, потому что нормальный человек больше 2 запросов в секунду отправить на один и тот же сайт не в состоянии. Все что больше, это попытки хитрить, типа двойных кликов по кнопкам или просто бот, который фигачит сайт со страшной силой.
Защитится в CMS вполне реально. Нужна вполне банальная таблица из двух полей – номер сессии и время последнего обращения к .php файлу. Обратите внимание, что именно к .php (.aspx или что там у вас) файлу, а не к сайту вообще. При загрузке страницы браузер создает отдельное соединение к серверу для загрузке каждого отдельного файла, который есть на страницы. Если на странице 10 картинок, то будет создано как минимум 11 соединение (одно для файла .php и 10 для картинок). Если есть еще и подключаемые .js файлы, то для каждого из них так же будет создано отдельное соединение, поэтому в одну секунду с одного клиента может быть более 1-го обращения к сайту.
Но лучше это делать с помощью сетевых экранов и специализированных программ. У нас на работе сайты защищены специализированными решениями, которые ставятся отдельно. Если честно, то я даже не вникал, какая именно защита защищает сайт, который я разрабатываю.
Чтобы меньше было соблазна хакерам реализовывать атаку нужно лучше оптимизировать все запросы и все сценарии, которые работают на сайте. Они должны минимально блокировать базу данных и выполняться как можно быстрее. Вот это уже лежит на мне. Мне постоянно приходится что-то оптимизировать и очень часто мы делаем это оптимизацией SQL запросов. Если оптимизировать уже просто некуда, всегда можно воспользоваться кешированием.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
А могут атаковать..компютер пользователя(систему) с помощью DВOs?)
или когда хакер(вирус) пытается перенаправить тебя на вредноносный сайт(свой) или залезть в порт...в систему..это просто атака хакера так и называется?)_
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.