亚马逊AWS官方博客
利用 Gateway Load Balancer 打造符合 MLPS2.0 的安全网络架构 – 日志审计篇
一、概述
在上一篇博客《利用 Gateway Load Balancer 打造符合 MLPS2.0 的安全网络架构 – 网络部署篇》中,我们详细介绍了如何围绕 AWS Gateway Load Balancer(GWLB)部署符合网络安全等级保护(MLPS2.0)的可扩展,高可用带有入侵检测能力的网络架构。在本文中,我们会继续在架构中加入 MLPS2.0 里要求的另一个重要部分,日志审计模块。
MLPS2.0 对日志集中审计有明确要求,且实际测评中对该要求越来越严格。防火墙的操作日志是重要的安全日志,需要集中到集中式日志系统中,与其他日志一起进行存储、分析。我们将在本文中介绍如何使用 Amazon CloudWatch 作为集中式日志系统对防火墙进行日志收集与监控,以满足 MLPS2.0 对安全审计的要求。
二、总体架构
架构图
基本上所有的网络安全设备都能够支持 syslog 协议发送日志给日志服务器,本文会使用 EC2 构建日志服务器,使用系统自带的 rsyslog 后台程序,通过 syslog 协议接收来自安全设备的日志,并保存在本地文件中,再使用 CloudWatch Agent 将日志从本地文件中提取并写入 Amazon CloudWatch 的日志组里,下列为整体架构图:
三、部署
创建日志服务器 EC2 role
- 参考此链接创建 CloudWatchAgentServerRole role,备用
创建日志服务器
- 首先,登录 AWS 控制台,EC2 Console > Launch Instance 创建实例,在 Application and OS Images (Amazon Machine Image) 里选择 Amazon Linux 2 AMI
- 在 Instance type 里,选择一个 micro 实例,在实际场景中实例的选型取决于你的防火墙预期的活动量
- 在 Key pair (login) 里选择你已经有并可以找到的 SSH 密钥对,或选择创建新的密钥对
- 在 Network Settings 里,点击 Edit,VPC 选择 Appliance VPC,Subnet 选择 appliance2 的子网,关于安全组,你可以创建一个新的安全组或使用现有的安全组。只需确保它允许来自 Appliance 所在的子网组的 udp 514 端口的入站通信,出站通信全放通
- 当然,你需要为 EC2 实例添加存储。因为我们将日志从这个实例发送到 CloudWatch,所以我们只需要 8G 就够
- 展开 Advanced details,在 IAM instance profile 中,将上一步创建出来的 CloudWatchAgentServerRole Role 赋予本 EC2
- 点击 Launch Instance 创建启动实例
在 CloudWatch 创建 Log Group,存储 Appliance 日志
- 进入 CloudWatch 服务,Log groups > create log group, log group name 填入 my-loggroup1,日志保存时间 Retention 设置为 180 天,满足 MLPS 2.0 的日志保存时间要求;点击 Create
配置 CloudWatch Agent,将收集的日志写入 CloudWatch
- 在日志服务器 EC2 实例中,依次运行下列命令
- 创建 config.json 配置文件
文件内容如下:
- 运行下列命令加载配置并运行 CloudWatch Agent
配置日志服务器 rsyslog ,从appliance 收集日志
- 修改/etc/rsyslog.conf 文件,将下列行数的注释“#”删除
- 继续修改/etc/rsyslog.conf 文件,在 RULES 的部分添加下列配置
四、测试
使用用 EC2 模拟的 Appliance 进行测试:
- 登陆 Appliance 2 运行下列命令,发送测试日志
- 在 CloudWatch 控制台上检查 syslog:
登录到 AWS 管理控制台,在“服务”中选择“CloudWatch”
在左侧导航栏中,点击“日志”,在日志组列表中,选择 my-loggroup1
在日志流列表中,选择 my-logstream1,在这里,您应该能够看到从 Appliance 2 发送的测试消息
使用 fortigate 防火墙测试:
- 在 CloudWatch 控制台上检查 syslog:
登录到 AWS 管理控制台,在“服务”中选择“CloudWatch”
在左侧导航栏中,点击“日志”,在日志组列表中,选择 my-loggroup1
在日志流列表中,选择 my-logstream1,在这里,您应该能够看到从 fortigate 防火墙发送的防火墙日志:
五、总结
本文阐述了如何使用 Amazon CloudWatch 对网络安全设备进行日志收集并提供审计,监控能力以及保存至少 180 天的能力,满足网络等级保护(MLPS2.0)对日志审计的主要的核心技术要求。