
前言:在现代网络安全架构中,有效的日志管理和分析对预防、检测和响应威胁至关重要。本文将为您介绍一个高效便捷的解决方案——将AWS WAF(Web应用防火墙)日志传输至S3,并通过Logstash传输至您的实例,便于分析这些日志。
一、什么是AWS WAF?
AWS WAF(AWS Web Application Firewall)是一项由 AWS 提供的托管服务,用于帮助保护 Web 应用程序免受常见的网络威胁和攻击,以下是 AWS WAF 的一些关键特点和功能:
· 自定义规则AWS WAF 允许用户创建自定义规则,以定义允许、阻止或监控的特定请求。用户可以根据 IP 地址、请求头、URI 字符串或其他内容来设置规则。 · 预置规则集AWS WAF 提供了预定义的规则集,帮助用户轻松抵御常见的网络威胁,这些规则集由 AWS 和其他第三方安全供应商提供,节省了自定义配置的时间。 · 实时监控和可见性用户可以通过 AWS WAF 的监控功能查看 Web 流量的实时数据和详细分析,从而帮助识别潜在的攻击模式和异常流量。前提:
1、所有操作执行时注意当前路径
2、创建的安全组等网络配置均已放通


权限选项卡中,配置JSON配置文件开放权限(配置时请将实例中的资源信息更换为自己的资源)

(配置文件示例)

安装到本地后,上传到实例并解压:tar zxvf logstash-8.15.3-linux-x86_64.tar.gz
完成后安装插件
yum install -y gem
gem -v
gem update --system
gem -v
检查并修改镜像源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
(国内的镜像站从https://gems.ruby-china.org 换成了 https://gems.ruby-china.com)
gem sources -l

cd到logstach的安装目录,可以看到Gemfile文件 vi Gemfile
This is a Logstash generated Gemfile.If you modify this file manually all comments and formatting will be lost.source "https://rubygems.org"gem "logstash-core", :path => "./logstash-core"......
(更改默认的 https://rubygems.org 为https://gems.ruby-china.com)
安装插件(注意路径)

创建 Logstash 配置文件
sudo mkdir conf.d
sudo touch /home/ec2-user/logstash-8.15.3/conf.d/waf-to-syslog.conf
配置 Logstash 读取 S3 日志并输出到 Syslog:
sudo vim /home/ec2-user/logstash-8.15.3/conf.d/waf-to-syslog.conf

创建服务文件
sudo nano /etc/systemd/system/logstash.service(也可以用vi\vim)
保存后,为当前用户添加文件权限
sudo chmod -R 755 /home/ec2-user/logstash-8.15.3/
运行
sudo systemctl daemon-reload
sudo systemctl start logstash
确认运行状态正常
sudo systemctl status logstash

如图,显示running状态即可
测试与验证
(假设传输到syslog实例分析以日志)
logstash实例输入:logstash-8.15.3/bin/logstash -f conf.d/waf-to-syslog.conf
syslog实例输入:sudo tail -f /var/log/messages
logstash显示读取S3内容;syslog实例显示日志内容即为部署成功
