Cookie Poisoning
Содержание |
Обзор
Модуль Cookie Poisoning сравнивает заголовки Set-Cookies и значения cookie в ответе клиента. Если cookie изменены на стороне клиента, выполняется действие в соответствии с настройками.
Этот модуль зависит от Session module, поэтому вы должны включить Session module перед использованием директив модуля Cookie Poisoning.
Директивы
cookie_poisoning
Синтаксис | cookie_poisoning on | off; |
По умолчанию | off |
Контекст | Location |
Включить защиту от изменения cookie в location
Например:
server { session on; ... location / { cookie_poisoning on; ... } }
cookie_poisoning_action
Синтаксис | cookie_poisoning_action block | pass | remove | blacklist,num; |
По умолчанию | block |
Контекст | Location |
Директива определяет действия при обнаружении изменения cookie на стороне клиента.
Возможные действия:
- block, блокировать запрос и отбросить его.
- pass, разрешить обработку запроса в SEnginx.
- remove, удалить изменененные cookie в запросе и затем продолжить обработку запроса.
- blacklist, добавить эту сессию в черный список когда количество заблокированных запросов превысит заданное значение.
Пример:
cookie_poisoning_action block; # Блокировать cookie_poisoning_action remove; # Удалить значение cookie cookie_poisoning_action blacklist,5; # После 5 блокированных запросов добавить сессию в черный список
cookie_poisoning_log
Синтаксис | cookie_poisoning_log on | off; |
По умолчанию | off |
Контекст | Location |
Разрешить или запретить ведение журнала. Если разрешено, то обнаруженные атаки будут записываться в error.log
Пример:
cookie_poisoning_log on;
cookie_poisoning_whitelist
Синтаксис | cookie_poisoning_whitelist ua_var_name=UA whitlist ip_var_name=IP whitelist ip_var_value=value; |
По умолчанию | |
Контекст | Location |
Эта директива определяет использование белого списка IP-адресов и белого списка на основе User Agent. Белый список IP-адресов задается с помощью geo модуля nginx.
Пример:
# Определить белый список IP-адресов geo $ip_wl { ranges; default 0; 127.0.0.1-127.0.0.1 1; 3.0.0.1-3.2.1.254 1; } # Определить белый список на основе User Agent whitelist_ua $ua_wl { "autotest" ".*\.test\.com"; } server { location / { cookie_poisoning_whitelist ua_var_name=ua_wl ip_var_name=ip_wl ip_var_value=1; ... } }
Статистика
Используйте модуль Статистика трафика и атак SEnginx для получения данных об атаках с изменением cookie.