1.2. 自动防火墙规则
Ansible 安全自动化使您可以自动执行各种防火墙策略,这些策略需要跨各种产品执行一系列操作。您可以使用 Ansible 角色(如 acl_manager 角色)管理许多防火墙设备的访问控制列表 (ACL),如阻塞或取消阻塞 IP 或 URL。角色允许您根据已知文件结构自动加载相关的变量、文件、任务、处理程序和其他 Ansible 构件。在将自己的内容分组到角色后,您可以轻松地重复使用它们,并将它们与其他用户共享。
以下实验环境是现实企业安全架构的简化示例,该架构可能更为复杂,并包含其他特定于供应商的工具。在典型的事件响应场景中,您会收到入侵警报,并立即执行带有 acl_manger 角色来阻止攻击者 IP 地址的 playbook。
您的整个团队都可使用 Ansible 安全自动化来处理调查、威胁黑客和事件响应。Red Hat Ansible Automation Platform 为您提供了可轻松在安全团队内使用和重复使用的已认证内容集合。
其他资源
如需有关 Ansible 角色的更多信息,请参阅 docs.ansible.com 上的角色。
1.2.1. 创建新的防火墙规则
使用 acl_manager 角色创建新的防火墙规则,以阻止源 IP 地址访问目标 IP 地址。
先决条件
- 已安装最新版本的 ansible-core。
- 您可以访问检查点管理服务器来强制执行新策略
流程
使用 ansible-galaxy 命令安装 acl_manager 角色。
$ ansible-galaxy install ansible_security.acl_manager
创建一个新 playbook,再设置以下参数:例如,源对象、目的地对象、两个对象与您要管理的实际防火墙之间的访问规则,如 Check Point:
- name: block IP address hosts: checkpoint connection: httpapi tasks: - include_role: name: acl_manager tasks_from: block_ip vars: source_ip: 172.17.13.98 destination_ip: 192.168.0.10 ansible_network_os: checkpoint
运行 playbook
$ ansible-navigator run --ee false <playbook.yml>
。
验证
您已创建了一条阻止源 IP 地址访问目标 IP 地址的新防火墙规则。访问 MGMT 服务器,并验证是否已创建了新的安全策略。
其他资源
有关安装角色的更多信息,请参阅从 Galaxy 安装角色。
1.2.2. 删除防火墙规则
使用 acl_manager 角色删除安全规则。
先决条件
- 已安装 Ansible 2.9 或更高版本
- 您可以访问防火墙 MGMT 服务器来强制执行新策略
流程
使用 ansible-galaxy 命令安装 acl_manager 角色:
$ ansible-galaxy install ansible_security.acl_manager
使用 CLI,创建一个具有 acl_manger 角色的新 playbook,并设置参数(如源对象、目标对象、访问两个对象之间的访问规则):
- name: delete block list entry hosts: checkpoint connection: httpapi - include_role: name: acl_manager Tasks_from: unblock_ip vars: source_ip: 192.168.0.10 destination_ip: 192.168.0.11 ansible_network_os: checkpoint
运行 playbook $ ansible-navigator run --ee false <playbook.yml>:
验证
您已删除防火墙规则。访问 MGMT 服务器,并验证新的安全策略是否已移除。
其他资源
有关安装角色的更多信息,请参阅从 Galaxy 安装角色。