Я пытаюсь построить систему корреляции журналов на нескольких хостах.
SEC кажется интересным, но я не знаю, покроет ли он мои потребности.
Как я могу сопоставить системные события, журналы, сетевые события и т. Д. На нескольких хостах одновременно в режиме реального времени?
Примеры:
Если 5 неудачных попыток входа произошло на хосте A в последнюю минуту и если брандмауэр B отказал в большом количестве доступа к разным портам на A, то мы предполагаем, что существует потенциальная атака на A.
Если служба Apache на хосте A не получала никаких запросов в течение последних N минут, а служба Apache на хосте B получила, то балансировка нагрузки могла быть ошибочной.
Я бы использовал центральный сервер системного журнала в сочетании с fail2ban:
Создание центрального сервера системного журнала
Fail2ban сканирует файлы журналов (например, / var / log / apache / error_log) и блокирует IP-адреса, которые показывают злонамеренные признаки - слишком много сбоев пароля, поиск эксплойтов и т. Д. Обычно Fail2Ban затем используется для обновления правил брандмауэра для отклонения IP-адресов. в течение определенного периода времени, хотя любое другое действие (например, отправка электронного письма) также может быть настроено. Fail2Ban «из коробки» поставляется с фильтрами для различных сервисов (apache, courier, ssh и т. Д.).
С другой стороны, вы можете использовать IDS или IPS. Есть и бесплатные вроде SNORT.
Но для этого требуется много администрирования, центральный мониторинг сети (может быть, центральный коммутатор) и ноу-хау, но вы можете охватить гораздо больше событий. Может быть (я этого раньше не делал) вы можете использовать готовый дистрибутив с SNORT и SNORBY: