Письмо о сбое VPN на FortiGate: фильтруйте поля, а не журналы
Выберите форму уведомления, соберите его из полей события 39426, а затем снизьте объём, не отключая категорию журнала VPN и след аудита.
В фразе «пришли мне письмо, когда вход в VPN не удастся» спрятаны два решения. Первое — как доставляется уведомление: одно письмо на событие, периодическая сводка или оповещение от сборщика. Второе — что содержит сообщение. Ошибка в первом заваливает почтовый ящик, а ошибка во втором удаляет поля, которые делают оповещение действенным. Ни одно из решений не требует подавления категории журнала VPN, и это тот короткий путь, который тихо уничтожает след аудита.
Три формы доставки и когда каждая подходит
| Форма | Подходит, когда | Стоимость |
|---|---|---|
| Письмо автоматизации на каждое событие | малый объём, реагирует одна команда | всплеск попыток превращается в поток писем |
| Плановая сводка | рутинный обзор, наблюдение за трендами | никто не видит попытку в процессе |
| Оповещение сборщика с корреляцией | большой объём, общий SOC | ещё одна система, которую надо кормить и настраивать |
Выбирайте по тому, кто реагирует и насколько быстро он это может, а не по тому, какой вариант проще настроить. Один FortiGate, защищающий один офис, может оправдать письмо на каждое событие. Та же конфигурация на шлюзе, принимающем попытки подстановки украденных учётных данных, порождает тысячи сообщений в день и уходит в фильтр папки, которую никто не читает.
Начните с записи события, а не со строки темы
Прочитайте представительное сохранённое событие в той версии, которую вы действительно эксплуатируете. Справочник журналов FortiOS 7.4.8 определяет неудачный вход в SSL VPN как событие 39426, а его поля включают action, user, remip, reason, tunneltype и vd. Проектировать фильтр из пересланной темы письма вместо этой записи — это путь, которым люди в итоге сопоставляют имя поля, которое их прошивка пишет иначе. Откройте два или три реальных сбоя и подтвердите совпадение идентификаторов, прежде чем писать триггер. Пять минут на это короче недели оповещений, срабатывающих на неверное событие.
Стежок автоматизации связывает триггер журнала событий с действием, и триггер — это место, где должен находиться выбор события. Добавляйте только те дополнительные условия полей, которые нужны вашему требованию; триггер, фильтрующий по небольшому набору полей, для остального всё равно даёт непроверенное поведение.
Соберите компактное тело из поддерживаемых подстановок
В версиях, где документирована подстановка полей журнала для действий с почтой, тело может быть коротким и при этом полезным. Форма ниже — иллюстративная; сверьте имена атрибутов и синтаксис подстановки с версией прошивки, прежде чем применять её.
config system automation-trigger
edit "ssl-vpn-login-fail"
set event-type event-log
set logid 39426
next
end
config system automation-action
edit "mail-vpn-fail"
set action-type email
set email-to "[email protected]"
set email-subject "SSL-VPN login failed"
set message "Account: %%log.user%% | Source: %%log.remip%% | Reason: %%log.reason%%"
next
end
Шаблон, показывающий пустое поле, не доказывает, что в событии этих данных не было. Сначала проверьте имя поля и синтаксис подстановки, затем испытайте на одном контролируемом сбое и прочитайте фактическое сообщение. Добавьте идентичность устройства и время события, чтобы реагирующий нашёл полную запись, не гадая, какое устройство отправило письмо.
Снизьте объём, не удаляя запись
Ограничение частоты, группировка и корреляция относятся к уровню доставки. Поднятие минимальной важности писем для всего — грубый инструмент, скрывающий несвязанные события, а отключение категории журнала VPN хуже: события вообще перестают записываться. Сохраните утверждённое место назначения журналов и политику хранения точно такими, какими они были, и вместо этого пусть путь уведомлений станет тише. Задокументируйте, что вы подавили, потому что следующий человек найдёт пробел в ящике и должен знать, что это было намеренно.
Когда новый путь проверен, выведите любое перекрывающееся старое правило почты через рассмотренное изменение. Закончить двумя путями, которые оба срабатывают, или ни одним, потому что старый отключили первым, — обычный результат уборки до теста.
Читайте сбой как сбой
Неудачное событие аутентификации — не успешный сеанс VPN, а имя пользователя в событии — не подтверждённая принадлежность человеку. Сопоставьте причину с успешными входами, известной активностью пользователя и повторными попытками, прежде чем объявить учётную запись скомпрометированной, и укажите в оповещении, что из этого вы проверили.
Отправляйте уведомление только уполномоченным получателям. Имена учётных записей, внутренние идентификаторы устройств и адреса источника оперативно чувствительны, а список рассылки, растущий ради удобства, становится путём утечки. Один действенный путь плюс целый след аудита — вот вся цель.