Защита от Keep-Dead Отказ в обслуживании

8

я думал, что мой сервер был в безопасности с http-хранителем, но, видимо, нет. Какая-то умная задница продолжает бить по моему серверу «Keep-Dead» и вызывать его крах.

Я просмотрел журналы, но все равно не вижу, как отличить запросы от обычного посетителя, браузер которого быстро загружает все компоненты на загруженной странице.

Любой совет будет принят во внимание.

Том О'Коннор
источник
1
Извините, я должен был сказать. Единственная информация, которую мне удалось найти на Keep-Dead, до сих пор находится на esrun.co.uk/blog/keep-alive-dos-script . Но он не содержит подсказок о том, как его заблокировать!
2
Педантическое примечание: вы никогда не в безопасности. Если кто-то хочет достаточно плохого, он всегда сможет войти. Период.
ircmaxell

Ответы:

6

Отключите поддержку активности HTTP или установите сервер, на который это не влияет, в качестве прокси-сервера перед Apache. Nginx будет хорошим выбором здесь.

Эта атака, похоже, похожа на атаку Slowloris в том, что она использует особую функцию Apache. Это довольно тривиально для защиты.

Примечание. Если вы устанавливаете nginx, отключите keep-alive на apache и оставьте его включенным на nginx.

devicenull
источник
3
Разве не поддерживать жизнь довольно важной особенностью? Я мог понять, временно отключить его, но навсегда?
TheLQ
1
Это может привести к несколько более длительному времени загрузки, но это не значит, что ваш сайт не загружается для людей. Установка nginx впереди - намного лучшее решение.
devicenull
1
@devicenull Означает ли это, что клиент получит выгоду от keepalive-соединения, хотя apache (или сервер приложений верхнего уровня) отключил keepalive? Таким образом, в принципе нет необходимости в сервере приложений и прокси-сервере для включения поддержки активности? Спасибо!
haxpor
@haxpor Это интересный вопрос, я бы хотел, чтобы кто-нибудь на него ответил.
Мануэль
1

Keep-Dead работает, отправляя запросы HEAD, сохраняя соединение TCP живым (Keep-Alive, таким образом, имя сценария). Это, вероятно, весьма отличается от законных запросов к вашему веб-серверу, которые, скорее всего, будут в основном POST / GET. Попросите ваш IDS / IPS обнаружить многочисленные запросы HEAD за короткий промежуток времени и сделать то, что нужно.

cathper
источник