Назад | Перейти на главную страницу

Количественная оценка реакции сайта в случае тестов DOS / DDOS атак

Допустим, нам нужно протестировать веб-сайт HTTPS на уязвимость / реакцию в случае DOS / DDOS-атак.

Среди других инструментов мы можем использовать Золотой глаз для этого. Мы можем варьировать количество рабочих и агентов, таким образом варьируя масштаб атаки.

Как вы предлагаете измерять реакцию сайта при различной степени атаки?

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

Есть ли способ количественно оценить ответ сайта.

Данный сайт находится удаленно и физически недоступен.

Вы не говорите, какой httpd-сервер используете ...

Если вы используете apache httpd, вы можете указать ему регистрировать время, необходимое для обслуживания запроса, в частности

  • % T - Время, затраченное на обслуживание запроса, в секундах.
  • % D - Время, затраченное на обслуживание запроса, в микросекундах.

а также есть

  • % {UNIT} T Время, затраченное на обслуживание запроса, в единицах времени, заданных UNIT. Допустимые единицы измерения: миллисекунды в миллисекундах, микросекунды в миллисекундах и секунды в секундах. Использование s дает тот же результат, что и% T без какого-либо формата; использование us дает тот же результат, что и% D. Объединение% T с единицей доступно в версии 2.4.13 и новее.

Больше информации в mod_log_config документация.

Я уверен, что другие серверы httpd будут иметь аналогичные параметры журнала.

Это, вероятно, зависит от ваших собственных требований, и если вы просто хотите знать, замедляется ли он, или вы также хотите знать, какое «давление» требуется для того, чтобы ваш сервер рухнул.

Вам необходимо определить, какой объем параллелизма необходимо обработать и, следовательно, сколько запросов нужно обслуживать при нормальной нагрузке.

Затем я бы проверил производительность вашего приложения на базовом уровне, чтобы получить некоторую информацию:

  • Среднее время отклика при низкой / средней / высокой нагрузке
  • Масштабирование времени отклика с дополнительным параллелизмом

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

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

Чтобы смоделировать свою базу пользователей, вы можете использовать такой инструмент, как гобелен.