Filebeat作为轻量级日志收集器,结合CentOS系统的安全特性,可实现安全日志的集中收集、加密传输、合规存储与实时分析。以下是具体实施步骤与安全优化措施:
通过YUM仓库或RPM包安装最新稳定版(推荐从Elastic官网下载),确保软件来源可信:
# 使用YUM安装(需提前配置Elastic YUM仓库)
sudo yum install -y filebeat
# 或通过RPM包安装(适用于手动下载场景)
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.3.1-x86_64.rpm
sudo rpm -ivh filebeat-8.3.1-x86_64.rpm
安装完成后,配置文件默认位于/etc/filebeat/filebeat.yml。
聚焦安全相关日志(如系统认证日志、应用安全日志),通过filebeat.inputs模块指定路径与过滤规则:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/secure # CentOS系统认证日志(含SSH登录、sudo使用等)
- /var/log/messages # 系统通用日志(含内核安全事件)
exclude_lines: ["DBG"] # 排除调试信息,减少噪音
exclude_files: [".gz"] # 忽略压缩归档文件
fields:
log_type: "security" # 添加自定义字段,便于后续分类
fields_under_root: true
此配置确保Filebeat仅收集与安全相关的日志,避免无关数据占用资源。
filebeat.yml中配置:output.elasticsearch:
hosts: ["elasticsearch.example.com:9200"]
username: "filebeat_user" # Elasticsearch认证用户
password: "secure_password" # 认证密码
ssl.enabled: true
ssl.certificate_authorities: ["/etc/pki/tls/certs/ca.crt"] # CA证书路径
sudo useradd -r -s /sbin/nologin filebeat # 创建专用用户
sudo chown -R filebeat:filebeat /etc/filebeat /var/log/filebeat # 修改文件属主
sudo systemctl edit filebeat.service # 修改服务配置
在编辑器中添加:[Service]
User=filebeat
Group=filebeat
重载服务并重启:sudo systemctl daemon-reload
sudo systemctl restart filebeat
chmod与chown设置配置文件(filebeat.yml)与日志目录的权限,仅允许filebeat用户访问。event.module: "ssh" AND event.action: "authentication_failed")event.module: "sudo" AND event.action: "command_executed")event.module: "kernel" AND event.action: "privileged_operation_attempted")sudo nano /etc/logrotate.d/filebeat
添加以下内容(每日轮换、保留7天、压缩旧日志):/var/log/filebeat/*.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
create 0640 filebeat filebeat
sharedscripts
postrotate
systemctl kill -s HUP filebeat.service
endscript
}
/var/log/filebeat/filebeat.log,关注“读取日志文件失败”“连接Elasticsearch超时”等异常,及时排查问题。sudo yum update -y filebeat
通过以上步骤,Filebeat可在CentOS上实现安全日志的全生命周期管理,既满足安全审计需求,又保障了数据传输与存储的安全性。