Добрый день. Если какая-нибудь статья о Дос атаках для того, кто с этим столкнулся первый раз в жизни(не с атакой, а с ее угрозой и необходимостью защиты).
Интересует, как происходит защита от атак(задача ли хостера ставить соотв. экраны, либо это задача программиста логики приложения).
По разделу можно догадаться, что речь идет об атаках на доступность PHP скриптов, собственно, если есть инфа конкретно по защите сайтов от ДОС- будет полезно.
Жду с нетерпением. Благодарность не будет иметь границ.
С самого начала вопрос о дос-е поднялся по геймплейным причинам. Есть некоторый игровой объект, на который садится игрок на определенное время(пусть там клад ищет, я не знаю). Когда время, которое должно пройти, начинает подходить к концу, другие игроки, которые ждут очереди, начинают кликать на объект "клада"(тут скорее с шахтой пример будет понятен), чтобы когда она освободится, успеть занять ее первым. В итоге мы получаем вполне разрешенный игровой Дос, поскольку 12 шахт по 10 человек(а может и больше), тыкающих непрерывно- сервер положат, хотя точных рассчетов я не делал.
Этот момент был решен с помощью геймдизайна, изменения небольшого геймплея(сделал очереди=]). Но вопрос с тем, что будет в случае Дос-а, остался.
Как я понимаю, злоумышленнику как нефиг делать просто вычислить, куда идут пакеты и устроить программный вызов одного и того же запроса в течение маленького периода времени, чтобы положить сервер.
Как защититься от Дос в случае сокетного сервера я представляю(проверка времени, если слишком часто- просто рвем сокет и брочим адрес). А вот как тут быть- даже не знаю. Может это вообще неудачная идея соединять пых + компилируемый клиент с помощью запросов гет или пост?
Хм, ты имеешь ввиду конкретно dos-атаки или все таки ddos? В любом случае пытаться отбиться стандартными средствами php - неудачная затея. Нужен комплексный подход. Перед отдачей html можно закинуть, например, в memcached, проверять нагрузку на сервер по крону и в случае перегруженности - не грузить php скрипт, а отдавать статик версию из кеша.
Хм, ты имеешь ввиду конкретно dos-атаки или все таки ddos?
Если честно, то даже не знаю. С хакингом я не знаком, об обеспечении ИБ знаю, но только в рамках теории(спец-ть профильная, но курс маленький, именно по ИБ на работу не берут).
Вики пояснила, что разница в числе компьютеров, с которых ведется атака. Наверное, ddos.
Quote (Stage)
Перед отдачей html можно закинуть, например, в memcached, проверять нагрузку на сервер по крону и в случае перегруженности - не грузить php скрипт, а отдавать статик версию из кеша.
И чем управляются все эти процессы? Нужно писать свое ПО(проверка нагрузки, кеширование, там выдача сообщения о том, что сервер перегружен). Или есть готовое? Нет ли каких-нибудь систем у хостера для защиты от атак? Ведь на 1 сервере стоит не 1 сайт, так что если кто-то положит сервак хостера, на его репутации это отразится не очень хорошо.
Поскольку я нифига не понимаю, лучше по максимуму эти процессы автоматизировать, используя готовые решения, иначе я накосячу))
Чтобы было проще, давайте я опишу суть своей проблемы в 3 словах:
Намечается небольшая онлайн игра(не казуалка, но и не ммо). Клиентская часть(еще не решил)- скорее всего что-то компилируемое.
Для сервера хочется использовать пхп, чтобы с самого начала не разоряться на хостинг(так бы писал на плюсах, наверное), поскольку веб-сервера и ВПС все-таки дешевле.
Организовывать все это дело планируется с помощью гет/пост запросов.
С самого начала вопрос о дос-е поднялся по геймплейным причинам. Есть некоторый игровой объект, на который садится игрок на определенное время(пусть там клад ищет, я не знаю). Когда время, которое должно пройти, начинает подходить к концу, другие игроки, которые ждут очереди, начинают кликать на объект "клада"(тут скорее с шахтой пример будет понятен), чтобы когда она освободится, успеть занять ее первым. В итоге мы получаем вполне разрешенный игровой Дос, поскольку 12 шахт по 10 человек(а может и больше), тыкающих непрерывно- сервер положат, хотя точных рассчетов я не делал.
Этот момент был решен с помощью геймдизайна, изменения небольшого геймплея(сделал очереди=]). Но вопрос с тем, что будет в случае Дос-а, остался.
Как я понимаю, злоумышленнику как нефиг делать просто вычислить, куда идут пакеты и устроить программный вызов одного и того же запроса в течение маленького периода времени, чтобы положить сервер.
Как защититься от Дос в случае сокетного сервера я представляю(проверка времени, если слишком часто- просто рвем сокет и брочим адрес). А вот как тут быть- даже не знаю. Может это вообще неудачная идея соединять пых + компилируемый клиент с помощью запросов гет или пост?
смотря как атаковать будут, если найдут уязвимости и sql-инъекции покатятся, это одно дело, надо скрипты править и следить чтобы ошибок не было, если тупо будут с кучи компов слать пакеты, то можно любой сайт положить, тут надо грамотно файрвол на сервере настроить, можно трафик гнать через другого провайдера, который трафик фильтровать будет ну и от масштабов атаки конечно зависит,
обычный хостинг просто отрубит зависший сайт, может еще добровольно-принудительно предложить исправить скрипт, перейти на другой тариф, взять vps и т.п. если свой сервер и сам его админишь, постоянный мониторинг трафика и работы сервера, на сервере на линуксе настроенный iptables вполне с задачей будет справляться, ну от масштабов само собой зависит Разработка и продвижение сайтов. Дизайн
смотря как атаковать будут, если найдут уязвимости и sql-инъекции покатятся, это одно дело, надо скрипты править и следить чтобы ошибок не было, если тупо будут с кучи компов слать пакеты, то можно любой сайт положить, тут надо грамотно файрвол на сервере настроить, можно трафик гнать через другого провайдера, который трафик фильтровать будет ну и от масштабов атаки конечно зависит,
Не, для борьбы с инъекциями я сделаю набор классов на пыхе. Логика сервера тоже, по идее, будет в порядке. Ну или на тесты буду искать хакеров, чтобы потом сразу править по горячим следам. Вот я тоже думал насчет файрвола.
Quote (lvovand)
обычный хостинг просто отрубит зависший сайт, может еще добровольно-принудительно предложить исправить скрипт, перейти на другой тариф, взять vps и т.п. если свой сервер и сам его админишь, постоянный мониторинг трафика и работы сервера, на сервере на линуксе настроенный iptables вполне с задачей будет справляться, ну от масштабов само собой зависит
Ну на хостинге, по идее, есть админка и есть возможность настраивать систему под себя. Да и файрвол должен какой-то стоять. Свой сервер будет вряд ли, хотя пока тут варианты не ясны, мб все-таки возьмем место в дата-центре. Но пока я ориентируюсь на обычный хост, на котором есть стандартные настройки, админ-панели т.д. Через них вопрос не решаем?
через админку доступа к таким настройкам не будет, хостер в лучшем случае даст логи сервера, а при зависании скорее всего будет просто сайт блокировать.
если со своим сервером нет желания заниматься, как вариант рассмотреть перегонять трафик через других провайдеров, трафик фильтрующих, но это может выйти дороже чем за сервер платить
В википедии уровень конкретности средств защиты поражает: они пишут о том, что защищаться в принципе надо. Еще выдать админку всем игрокам, чтобы никто не обижался и т.д.
Ребята вы прикалываетесь? Речь идет об обыкновенном хосте. Какой там, блин, доступ к фаерволу и пр. программах? Максимально это доступ к БД, ftp и крон. При обычно хосте, от ддос атак мало что удержит. Разве что попытаться написать скрипт который будет сравнивать время приема данных от определенного IP и если это время очень маленькое, то блокировать этот IP. Но это как 5 колесо для телеги. Лучше все таки взять дедик и на нем все нормально настроить.
Ну мысля была такая, но это удержит только от ддоса аутентифицированными пользователями. Т.е., во-первых, поставить в клиенте заглушку, чтобы запрос не отправлялся чаще, чем 3 раза в секунду, например. Ну и на сервере сделать табличку, где будет хранится время, как давно клиент последний раз делал запрос. Если он слишком часто спрашиваем- баним его(или кикаем). Но если хацкер вычленит запрос и будет кидать его не из клиента, без авторизации- не проканает такая тема.
Мысль вообще крайне странная, соединять пых и клиентское приложение. Вопросов много возникает.
Но мне это показалось не убедительным. На первое время планирую все-таки обычный хост, по деньгам выгоднее. Насчет дедика пока не уверен. А хостер этими проблемами не занимается или лучше у него выяснять?
хостер будет отрубать сайт, когда нагрузка вырастет и все. само собой запросы злобный хакер не из клиента отправлять будет, и не с одной машины если про ddos говорить, а проверка скриптом на сервере не поможет, потому что сервер ляжет быстрее чем скрипт будет успевать отрабатывать
Хм, как-то нелогично хостеру вместо настройки файрвола просто отрубать сайты. Но может оно так и есть. VPS все-таки дороже, но посмотрим, чем займемся. Если будут инциденты с атаками- будем думать о переносе мощностей или, в конце-концов, поставим в городе сервер.
Если у кого-нить есть предложения- с радостью выслушаю)
Созрел вопрос следующий. Не будет ли сама реализация небольшой онлайн игры клиентской(клиент компилируемый) с сервером на пхп по архитектуре одним большим Ддосом?))
Т.е. тут выходит, что у клиента к серверу обратной связи нет. Чтобы это исправить(для часа, для того, чтобы узнать, есть ли новые сообщения, находится ли игрок на данной локации и т.д.) нужно делать таймеры и с определенным промежутком вызывать нужные нам скрипты.
Мне что-то уже кажется, что это дебильная система. Пых в принципе нормально будет обрабатывать такой подход или он(подход) мертв еще по архитектуре взаимодействия?
когда хостишься у тебя есть определенный лимит на время выполнения скрипта, на загрузку проца и т.п., отрубают, если лимит превышается, смотря, как часто будут запросы слаться, как скрипты будут эти запросы отрабатывать, обратная связь с клиентом - сокеты тогда нужно делать, а так для небольшой игры вполне нормально подойдет и запросы отправлять периодически Разработка и продвижение сайтов. Дизайн