Отказ в обслуживании Tomcat

Просто скопируйте *.rrd файлы в /var/lib/munin.

3
задан 30 September 2011 в 18:01
4 ответа

Тысячи подключений - это известная «уязвимость» любого сервера с параметром maxconnections (или который использует много ресурсов для каждого подключения). Как DDOS они, скорее всего, не «останавливают» загрузку, они просто прерывают соединение без RST-пакета, чтобы соединение зависало до тех пор, пока не истечет время ожидания, или используя что-то вроде trickle подтверждать только несколько байтов за раз, чтобы соединение не истекло.

Все, что вы сделаете для смягчения этого, будет зависеть от всей вашей настройки. Предполагая, что вы в настоящее время используете apache + mod_jk + tomcat, в дополнение к fail2ban Барта я бы изучил mod_security , чтобы обнаружить потенциально вредоносные запросы и отклонить их. Другая идея: если вы действительно используете tomcat для отправки статических данных, перемещение статических данных для обслуживания непосредственно с apache (или облегченного сервера, такого как lighttpd или nginix) с использованием домена static.example.com . Или, если вам нужно, чтобы ваш код сам определял, какой файл отправлять, рассмотрите возможность использования mod_xsendfile в apache для обслуживания статических файлов, на которые «указывает» ваше приложение, что позволит tomcat завершить запрос и продолжить работу, пока apache обработал файл (вместо того, чтобы держать и apache, и tomcat занятыми отправкой файла).

3
ответ дан 3 December 2019 в 04:59

На основании ответов 206 ваш сервер Tomcat подвергается атаке с использованием атаки перекрывающегося диапазона, как описано против Apache в CVE-2011-3192.

Когда это было горячей темой в прошлом месяце мне показалось, что сервлет Tomcat по умолчанию выглядел уязвимым - см. здесь .

Лучшим способом остановить это было бы запретить обслуживание этих статических файлов сервлетом по умолчанию или убрать Диапазон: заголовок для входящих запросов.

3
ответ дан 3 December 2019 в 04:59

Я не знаю ни одного, но это не значит, что его нет. Используйте что-то вроде fail2ban для поиска в журналах этих запросов и автоматического запрета IP-адресов.

Вы также можете работать над установлением ограничений ресурсов / квот для ограничения запросов на загрузку, прокси / кеширования для уменьшения нагрузки и предупреждений, чтобы уведомить вас, когда это это происходит. Наряду с регулированием наших исходящих запросов, потому что даже если бы вы не подвергались DDoS-атакам, вы не хотите, чтобы законные запросы превышали доступную пропускную способность.

Большинство уязвимостей будет «владеть» вашим сервером; сбой / ddos'ing это контрпродуктивно в этом отношении. Единственная причина убить сервер, на самом деле, - это если кто-то имеет дело с вашей компанией.

1
ответ дан 3 December 2019 в 04:59

Вы проксируете Tomcat из Apache? В противном случае вы можете легко стать уязвимым для атак вроде Slowloris . Публично раскрывать Tomcat - это несколько плохая идея.

Даже если вы проксируете через Apache, вам нужно быть осторожным, чтобы защитить себя от атак в стиле Slowloris с помощью mod_antiloris, или еще лучше использовать nginx для вашего frontend proxy, сервер, неуязвимый для атаки Slowloris.

У Шейна Мэддена есть лучший ответ, сначала прислушайтесь к его совету.

2
ответ дан 3 December 2019 в 04:59

Теги

Похожие вопросы