В моём случае я использую связку filebeat + elasticsearch. Все события, связанные с действиями пользователей я беру в файле /var/log/httpd/error_log.

В этом файле очень много событий, но меня интересовали события содержащие слова:

  • user_add - добавление пользователя
  • user_mod - редактирование пользователя
  • passwd - изменение пароля
  • sudorule_add_user - добавление пользователя в группу sudo
  • user_del - удаление пользователя
  • group_add - создание группы
  • group_mod - редактирование группы
  • group_del - удаление группы
  • group_add_member - добавление пользователя в группу
  • session_logout - выход
  • whoami - по умолчанию не нашёл события для входа и использую это слово
  • Unauthorized - неудачные попытки входа

Конфигурация filebeat

На сервере где стоит FreeIpa редактируем файл конфигурации filebeat и добавляем новый input. Установку самого filebeat я опущу так как там ничего необычного.

sudo vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: filestream
  id: "ipaamd"
  enabled: true
  paths:                                                                                                                                             - /var/log/httpd/error_log                                                                                                                     fields:                                                                                                                                            tag: ipaamd                                                                                                                              include_lines: ['user_add', 'user_find', 'user_mod', 'passwd', 'sudorule_add_user', 'user_del', 'group_add', 'group_find', 'group_mod', 'group_del', 'group_add_member', 'session_logout', 'whoami', 'Unauthorized']
sudo systemctl restart filebeat