j91321.winlogbeat

ansible-role-winlogbeat

GitHub 许可证 GitHub 最近提交 构建 Twitter

这是一个用于安装 Windows 日志监控工具 winlogbeat 的 Ansible 角色。

支持的平台:

  • Windows 10
  • Windows Server 2019
  • Windows Server 2016

要求

角色变量

来自 defaults/main.yml 的 Ansible 变量

winlogbeat_event_logs:
  channels:
    - name: 应用程序
      ignore_older: "72h"
    - name: 系统
      ignore_older: "72h"
  security: true
  sysmon: false
  powershell: true
  wef: false

winlogbeat_output:
  type: "elasticsearch"
  elasticsearch:
    hosts:
      - "localhost:9200"
    security:
      enabled: false

winlogbeat_processors: |
  - add_host_metadata:
      when.not.contains.tags: forwarded
  - add_cloud_metadata: ~

winlogbeat_service:
  install_path_64: "C:\\Program Files\\Elastic\\winlogbeat"
  install_path_32: "C:\\Program Files (x86)\\Elastic\\winlogbeat"
  version: "7.9.1"
  download: true

winlogbeat_service.download 用于指定安装包是否需要从 https://artifacts.elastic.co/ 下载,或者从 Ansible 服务器复制。如果你的服务器无法访问互联网,请下载安装包并放入 .files/ 文件夹。不要更改压缩文件的名称。

注意 确保 install_path_64 和 install_path_32 以 \winlogbeat 结尾,最后一个清理任务将删除安装路径中不包含当前 winlogbeat 版本号的其他所有内容!

依赖

示例 Playbook

示例 Playbook,修改了安装路径,增加了 Windows Defender 日志收集,使用处理器移除了安全日志中的噪声事件,并配置了 redis 输出。

- name: 将 winlogbeat 安装到工作站
  hosts:
    - workstations
  vars:
    winlogbeat_service:
       install_path_64: "C:\\Program Files\\monitoring\\winlogbeat"
       install_path_32: "C:\\Program Files (x86)\\monitoring\\winlogbeat"
       version: "7.9.1"
       download: false
    winlogbeat_event_logs:
      channels:
        - name: 应用程序
          ignore_older: "72h"
        - name: 系统
          ignore_older: "72h"
        - name: Microsoft-Windows-Windows Defender/Operational
          ignore_older: "72h"
      security: true
      security_processors: |
          - drop_event.when.or:
        - equals.winlog.event_id: 4656 # 请求了对象的句柄。
        - equals.winlog.event_id: 4658 # 对象的句柄已关闭。
        - equals.winlog.event_id: 4659 # 请求一个对象的句柄以便删除。
        - equals.winlog.event_id: 4660 # 一个对象已被删除。
        - equals.winlog.event_id: 4663 # 尝试访问一个对象。
        - equals.winlog.event_id: 4664 # 尝试创建一个硬链接。
        - equals.winlog.event_id: 4691 # 请求了间接访问一个对象。
      powershell: true
      sysmon: true
      wef: false
    winlogbeat_template:
      enabled: false
    winlogbeat_general:
      tags:
        - "工作站"
        - "winlogbeat"
    winlogbeat_output:
      type: "redis"
      redis:
        hosts:
          - "192.168.24.33:6379"
        password: "我的超级长redis密码因为redis很快"
        key: "winlogbeat-workstation"

许可证

MIT

作者信息

j91321

备注

角色包含一个可以与 winlogbeat 6 一起使用的模板 ./templates/winlogbeat6.yml.j2。要使用此模板,可以替换 winlogbeat.yml.j2 或修改任务。

关于项目

Install Winlogbeat for Windows event log monitoring.

安装
ansible-galaxy install j91321.winlogbeat
许可证
mit
下载
4k