2016-04-22 7 views
2

Я написал небольшой тестовый пример, который запрашивает один и тот же URL-адрес в цикле, не пересылая файлы cookie. Через несколько минут мой сервер Jetty сбой с OutOfMemoryError. Причина в том, что каждый запрос создает новый сеанс.Как предотвратить атаку DOS со многими сеансами сервлетов?

Есть ли какие-либо функции сервера Jetty или API сервлета для предотвращения таких атак?

+0

Это ответственность за загрузчик/прокси, а не от вебсервера/сервлета. – BalusC

+0

@BalusC Нет балансировщика нагрузки или прокси. – Horcrux7

ответ

0

Рассмотрим один из следующих методов:

  • Не следует использовать метод управления сеансом в памяти. (Использовать базу данных)
  • Установите ситечения Session/тайм-аут нижний
  • настроить DoSFilter управлять им
  • настроить QoSFilter, чтобы смягчить поведение немного лучше.
+0

Это, кажется, не очень полезный ответ. Перемещение сеанса в базе данных не изменилось. Установка таймаута сеанса на несколько секунд будет фатальной. QoSFilter не помогает предотвратить в этом случае. QoS - еще одна проблема. Фильтр DoS может помочь, но какие полезные настройки? Вы используете его самостоятельно? – Horcrux7

+0

Использовали каждый из этих методов на разных серверах для разных случаев использования и разных компаний. Иногда подходит один метод, иногда более одного. Они действительно помогают, эффективность каждого из них указана в том же порядке в моем ответе. –