Это руководство призвано помочь нашим пользователям настроить центральный узел для получения событий аудита Linux. В нем содержатся некоторые указания по быстрой настройке, хранению и пересылке событий. Эта информация очень ценна для криминалистических расследований и обнаружения вторжений.
Настройка сервера
Сначала начните с настройки сервера. Поскольку это центральный узел журналов, он должен иметь достаточную емкость диска и достаточную пропускную способность для поддержания пиков.
Для этих примеров мы используем сервер rsyslog. Он широко доступен в дистрибутивах Linux и является очень мощным демоном syslog, обладающим гибкостью.
1 | sudo nano /etc/rsyslog.conf |
1 2 3 4 | # Получение сообщений syslog через TCP $ModLoad imtcp $InputTCPServerRun 514 $AllowedSender TCP, 127.0.0.1, 192.168.1.0/24, 1.2.3.4 |
Перезапустите демон rsyslog и посмотрите, слушает ли он теперь порт 514
1 2 | systemctl restart rsyslog ss -plant | grep 514 |
Отправьте тестовое сообщение с клиентской системы
1 | logger -p local6.info --tcp -P 514 --server [IP] test |
Если все работает корректно, давайте настроим конфигурацию так, чтобы она позволяла использовать пользовательский формат файла.
1 2 3 | $template HostAudit, "/var/log/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%_audit.log" $template auditFormat, "%msg%\n" local6.* ?HostAudit;auditFormat |
ModLoad позволяет принимать сообщения syslog. В зависимости от вашей установки, вы также можете изменить порт прослушивания по умолчанию (514) и ограничить количество разрешенных отправителей. Формат (HostAudit) создает структуру каталогов для файлов аудита, по дате и помещает данные в файл конкретно по имени хоста. Чтобы избежать загромождения файлов, имена хостов должны быть уникальными.
Настройка клиентов
На клиенте мы должны настроить конфигурацию rsyslog для выполнения двух задач:
Мониторинг файла аудита
Регистрировать все события на центральном узле
1 | sudo nano /etc/rsyslog.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 | # Добавьте в раздел модулей $ModLoad imfile # Добавить в конец файла # Добавить в конец конфигурационного файла $InputFileName /var/log/audit/audit.log $InputFileTag audit_log: $InputFileStateFile audit_log $InputFileSeverity info $InputFileFacility local6 $InputRunFileMonitor local6.* @@192.168.1.10:514 |
Разрешения
Убедитесь, что вы настроили групповую принадлежность /var/log/audit и нижележащих файлов на syslog. Таким образом, демон rsyslog сможет действительно читать эти файлы. После настройки разрешений перезагрузите rsyslog и проверьте наличие предупреждений в /var/log/syslog.
Тестирование
На клиенте используйте cat файла, за которым ведется наблюдение (в нашем случае /home/cisofy/test).
Это должно создать событие на самой клиентской системе, в файле /var/log/audit/audit.log. Мы можем проверить это с помощью команды ausearch -k test.