首页主机资讯如何在CentOS上使用Filebeat进行系统审计

如何在CentOS上使用Filebeat进行系统审计

时间2025-10-03 12:56:04发布访客分类主机资讯浏览594
导读:如何在CentOS上使用Filebeat进行系统审计 1. 安装Filebeat 在CentOS系统上,可通过YUM仓库或RPM包安装Filebeat: YUM方式(推荐):sudo yum install -y filebeat R...

如何在CentOS上使用Filebeat进行系统审计

1. 安装Filebeat

在CentOS系统上,可通过YUM仓库或RPM包安装Filebeat:

  • YUM方式(推荐)
    sudo yum install -y filebeat
    
  • RPM包方式
    从Elastic官网下载对应版本的RPM包(如filebeat-7.14.0-x86_64.rpm),然后执行:
    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.14.0-x86_64.rpm
    sudo rpm -ivh filebeat-7.14.0-x86_64.rpm
    

2. 配置Filebeat(核心步骤)

编辑Filebeat主配置文件/etc/filebeat/filebeat.yml,重点设置输入源输出目标审计相关参数

  • 指定监控的系统日志路径
    聚焦安全审计相关的日志文件(如认证日志/var/log/secure、系统日志/var/log/messages),避免收集无关日志:
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/secure       # CentOS认证日志(记录登录、sudo使用等)
        - /var/log/messages     # 系统级日志(记录内核、服务关键事件)
      exclude_lines: ["DBG"]    # 排除调试信息,减少噪音
      exclude_files: [".gz"]    # 忽略压缩文件
    
  • 添加审计标识字段
    通过fields参数为日志添加type(日志类型)和log_topic(日志主题),便于后续在Elasticsearch中分类检索:
    fields:
      type: "system_audit"      # 自定义日志类型标识
      log_topic: "security"     # 日志主题(如安全审计)
    fields_under_root: true     # 将fields提升至日志顶层(方便ES检索)
    
  • 配置输出到Elasticsearch
    将收集的日志发送至Elasticsearch集群(若为本地测试,可指向localhost):
    output.elasticsearch:
      hosts: ["localhost:9200"] # Elasticsearch地址
      index: "system-audit-%{
    yyyy.MM.dd}
        " # 按日期分割索引(便于管理)
    
  • 可选:启用Elasticsearch认证(生产环境必选):
    若Elasticsearch启用了X-Pack安全功能,需添加认证信息:
    output.elasticsearch:
      hosts: ["https://elasticsearch-host:9200"]
      username: "elastic"       # Elasticsearch用户名(如elastic)
      password: "your_password" # 对应密码
    

3. 启动与启用Filebeat服务

配置完成后,启动Filebeat并设置为开机自启动:

sudo systemctl daemon-reload          # 重新加载systemd配置
sudo systemctl enable filebeat.service # 开机自启动
sudo systemctl start filebeat.service  # 启动服务

验证服务状态:

sudo systemctl status filebeat.service
# 正常运行时应显示"active (running)"

4. 验证日志收集

检查Filebeat是否正常收集系统日志:

sudo tail -f /var/log/filebeat/filebeat  # 查看Filebeat自身日志

若日志中出现Successfully sent log linesPublish event等关键词,说明日志已成功发送至Elasticsearch。

5. 使用Kibana进行审计分析

  • 配置Kibana索引模式
    登录Kibana(http://your-kibana-host:5601),进入Stack Management > Index Patterns,创建名为system-audit-*的索引模式(匹配Filebeat输出的索引名称)。
  • 创建可视化仪表盘
    通过Visualize Library创建可视化组件(如“登录失败次数”柱状图、“sudo使用频率”折线图),添加至Dashboard中,实时监控系统安全状态。
  • 搜索审计事件
    Discover页面,选择system-audit-*索引模式,通过message字段过滤关键词(如Failed passwordsudo),快速定位安全事件。

6. 安全加固措施

  • 限制Filebeat权限
    以非特权用户(如elkuser)运行Filebeat,降低安全风险:
    sudo useradd -r -s /sbin/nologin elkuser
    sudo chown -R elkuser:elkuser /etc/filebeat /var/log/filebeat
    sudo systemctl edit filebeat.service
    # 添加以下内容(覆盖默认配置)
    [Service]
    User=elkuser
    Group=elkuser
    
  • 配置防火墙
    仅允许可信IP访问Elasticsearch端口(如9200),防止未授权访问:
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="9200" protocol="tcp" accept'
    sudo firewall-cmd --reload
    
  • 定期更新Filebeat
    关注Elastic官网更新,及时升级Filebeat至最新版本,修复安全漏洞。

7. 高级配置(可选)

  • 日志解析增强
    使用processors对日志进行结构化处理(如提取timestampuser字段),提升检索效率:
    filebeat.inputs:
    - type: log
      paths: ["/var/log/secure"]
      processors:
        - dissect:                  # 解析secure日志中的时间、用户、IP等信息
            tokenizer: "%{
    timestamp}
     %{
    user}
     %{
    action}
     %{
    ip}
        "
            field: "message"
            target_prefix: ""        # 将解析结果添加至日志顶层
    
  • 多输出目标
    同时将日志发送至Logstash(进行更复杂的过滤)和Elasticsearch(直接存储):
    output.logstash:
      hosts: ["localhost:5044"]
    output.elasticsearch:
      hosts: ["localhost:9200"]
    

通过以上步骤,即可在CentOS上使用Filebeat高效收集系统日志,并通过Elasticsearch+Kibana实现安全审计分析,及时发现潜在的安全威胁。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在CentOS上使用Filebeat进行系统审计
本文地址: https://pptw.com/jishu/718620.html
CentOS中Apache2的缓存机制如何优化 CentOS环境下Apache2的SSL证书怎么配置

游客 回复需填写必要信息