четверг, 5 марта 2015 г.

СОИБ. Внедрение. Настройка WAF, часть 2

Продолжаем предыдущую статью и настраиваем некий обобщенный WAF:
·        настраиваем политики безопасности:
o   для определенных ранее объектов защиты назначаем политику сетевой безопасности (открыты порты только связанные с web приложением, из подсети управления разрешен так-же трафик для сервисов управления)
o   для каждого web сервиса настраиваем политики защиты web сервиса (могут быть разрешены нестандартные HTTP запросы, такие как HEAD,  могут быть разрешены SQL команды и т.п.), включаем группы сигнатур и  выбираем реакцию на основные типы обнаруженных атак

o   для каждого web приложения настраиваем политики связанные с web приложением (разрешенные коды ошибок, возможность обращения к файловой системе, возможность передачи команд ОС для административных панелей и т.п.)
o   настраиваем политики агрегации обнаруженных нарушений, связанных с одним источником или одним типом нарушения
o   настраиваем политики корреляции обнаруженных нарушений на различных уровнях (например, по сигнатуре атаки определяется как shellshock + данные в переменной не соответствуют профилю web приложения)

·        для каждого параметра каждой страницы (которые мы определили ранее) желательно так-же определить разрешенные значения и возможность пользователем изменять эти данные. Например, для переменной Login нам нужно будет ограничить значения как: латинские буквы, _, цифры, длиной до 15 символов; а в пароле нам нужно будет разрешить ещё русские символы и некоторые спецсимволы


·        если предыдущий пункт в ручную выполнить будет трудоемко, то пригодятся возможности автоматического определения и обучения WAF, но и в таком случае нужно будет регулярно (раз в 2 недели) просматривать профиль и принимать найденные изменения

·        возможно наш сайт будет содержать ценные данные и нам нужно настроить дополнительные политики, контролирующие вывод информации
o   определить шаблоны для ценных данных, которые могут содержаться в приложении или в БД; как правило придется применять регэкспы типа:
rgxp="([^\d])(340\d)([-\.\s\\\/=]?)(\d{4})([-\.\s\\\/=]?)(\d{3})(\d)([-\.\s\\\/=]?)(\d{3}[^\d]{1})"
o   определить типы данных (например, номера банковских карт), которые не должны выводится никогда и ни при каких условиях
o   другие типы данных (например ПДн, такие как номер телефона или паспорта) разрешено выводить  только в определенных разделах сайта
o   так-же ценные данные не должны выводится (в место этого заменятся на *) в журналы регистрации WAF

·        создаем дополнительные реакции, кроме блокирования сессии и долгосрочного блокирования ip-адреса источника, можно определить отправку email на определенные адреса:
o   информацию по критическим нарушениям и заблокированным угрозам – на адрес группы оперативного реагирования на инциденты, владельцам web приложения
o   информацию по остальным нарушениям – на адрес администратора WAF
o   если имеется внешняя система сбора логов или управления событиями ИБ, определим информация по каким нарушениям будет передаваться по SNMP trap / syslog / другому способу интеграции с внешней SIEM

·        создаем автоматическую генерацию и отправку адресатам отчетов:
o   ежедневный анализ нарушений
o   двухнедельный свод по нарушениям
o   дневной перечень заблокированных пользователей/источников
o   двухнедельный отчет по изменению профиля web приложения

·        создаем дополнительные роли и пользователей:
o   операторов для мониторинга окна реагирования
o   разработчиков и владельцев web приложений для просмотра профиля web приложения и отчетов
o   администратров waf и т.п.

На этом с основными настройками закончили, далее остается опытная эксплуатация, отработка построенного профиля web приложения и выявленных событий


Комментариев нет: