我们希望听到您的声音!帮助我们深入了解 Ansible 生态系统的现状。
参加 Ansible 项目 2024 年调查

深入了解 Trend Micro Deep Security 集成模块

深入了解 Trend Micro Deep Security 集成模块

在 AnsibleFest 2020 上,我们宣布将扩展我们的安全自动化计划,以支持终端保护用例。如果您错过了它,请查看 AnsibleFest 页面上关于“使用 Ansible 自动化您的终端保护”的演讲录音。

今天,继这一宣布之后,我们发布了支持 Trend Micro Deep Security 的 Ansible 内容集。我们将通过几个示例来介绍用例,以及我们如何设想该内容集在现实场景中的应用。

关于 Trend Micro Deep Security

Trend Micro Deep Security 是 Ansible 安全自动化计划的最新成员之一。作为一种终端保护解决方案,它保护虚拟、云和容器环境中的服务和应用程序。它提供自动化的安全策略,并在单个平台上整合了跨不同环境的安全方面。

如何安装 Trend Micro Deep Security 的认证 Ansible 内容集

Trend Micro Deep Security 内容集可供 Red Hat Ansible 自动化平台客户在 自动化中心 获取,这是一个位于 cloud.redhat.com 上的软件即服务产品,Red Hat 订阅者可以在此快速找到和使用 Red Hat 及其技术合作伙伴支持的内容。

博文“自动化中心入门”介绍了自动化中心以及如何配置您的 Ansible 命令行工具以访问自动化中心进行内容集下载。

完成这些步骤后,即可轻松安装内容集。

ansible-galaxy collection install trendmicro.deepsec

Trend Micro Deep Security Ansible 内容集包含什么?

该内容集的重点是模块及其支持的插件:它包含用于与 Trend Micro Deep Security 代理交互的模块,例如 deepsec_firewallrulesdeepsec_anti_malwaredeepsec_log_inspectionrules 等。基本上,集成模块涵盖了 TM Deep Security 防火墙公开的 REST API。如果您熟悉 Ansible 的防火墙内容集和模块,您会认识到这种模式:所有这些模块都提供了与终端安全和防火墙解决方案交互的最简单方式。使用它们,可以接收常规数据,发送任意命令以及管理配置部分。

虽然这些模块对于设备完全未自动化的环境来说非常有价值,但本文的重点是终端安全用例,其中内容集中相应的模块可以帮助自动化。作为模块,它们具有特定的作用域,但使用该内容集的用户可以专注于特定的资源/REST API 场景,而不会受到其他内容或配置项的干扰。它们还简化了跨产品自动化,因为其他安全内容集遵循相同的模式。

通过内容集连接到 Trend Micro Deep Security

该内容集支持 httpapi 作为连接类型。

Trend Micro Deep Security 目前支持两种与 REST API 交互的方式,对于每种情况,Ansible 清单的更改方式稍有不同,如下所示。

对于 较新的 REST API,Ansible 清单将使用网络操作系统 trendmicro.deepsec.deepsec、Trend Micro API 密钥和 api-version 密钥。

[deepsec]
host_deepsec.example.com

[deepsec:vars]
ansible_network_os=trendmicro.deepsec.deepsec
ansible_httpapi_use_ssl=true
ansible_httpapi_validate_certs=false
ansible_connection=httpapi
ansible_python_interpreter=/usr/bin/python
ansible_httpapi_session_key={'api-secret-key': 'secret-key', 'api-version': 'v1'}

对于使用 旧版 REST API 的 API,Ansible 清单也将需要网络操作系统 trendmicro.deepsec.deepsec,但使用用户名和密码。

[deepsec]
host_deepsec.example.com

[deepsec:vars]
ansible_network_os=trendmicro.deepsec.deepsec
ansible_user=admin
ansible_httpapi_pass=password
ansible_httpapi_use_ssl=true
ansible_httpapi_validate_certs=false
ansible_connection=ansible.netcommon.httpapi
ansible_python_interpreter=python

请注意,在生产环境中,应以安全的方式支持这些变量,例如使用 Red Hat Ansible Tower 凭据

用例:防火墙规则配置

防火墙非常灵活,用户可以将其配置为限制性或允许性。与入侵防御和网络信誉模块一样,防火墙策略基于两个原则:它们可以允许任何服务,除非明确拒绝,或者拒绝所有服务,除非明确允许。

例如,使用 Ansible 和 Trend Micro Deep Security 集成,模块用户可以采用限制性防火墙方法。从安全角度来看,这通常是推荐的做法:默认情况下所有流量都被阻止,只有明确允许的流量才能通过。

以下清单显示了实现“拒绝所有流量”方法的剧本。

---
- name: Deny all traffic
  hosts: deepsec
  collections:
   - trendmicro.deepsec
  gather_facts: false
  tasks:
   - name: Create Restrictive firewall rule
     trendmicro.deepsec.deepsec_firewallrules:
       state: present
       name: deny_all_firewallrule
       description: Deny all traffic by default over tcp
       action: deny
       priority: "0"
       source_iptype: any
       destination_iptype: any
       direction: incoming
       protocol: tcp
       tcpflags:
         - syn

运行此剧本将创建一个防火墙规则,该规则将明确 **拒绝** 所有 TCP **syn** 绑定流量。请记住,使用 state 关键字并将其设置为 present。这意味着指定规则将被创建,并且模块将继续创建配置规则。相反,如果用户想要删除/丢弃任何特定的防火墙规则,则 state 应设置为 absent:在这种情况下,在运行剧本期间,模块将检查指定的防火墙规则是否存在,如果存在,则模块将继续删除/丢弃相应的防火墙规则配置。

用例:反恶意软件规则配置

反恶意软件配置通过提供实时和按需保护来帮助计算机上的代理抵御各种基于文件的威胁,包括恶意软件、病毒、木马和间谍软件。使用 Ansible deepsec 反恶意软件配置模块,用户可以触发所有类型的可用扫描。

  • 实时扫描
  • 手动扫描
  • 计划扫描
  • 快速扫描

我们将要讨论的剧本示例将根据事件响应进行实时扫描。用户可以检查威胁并隔离观察到的威胁。

---
- name: Scan and Quarantine in TrendMicro agents
  hosts: deepsec
  collections:
   - trendmicro.deepsec
  gather_facts: false
  tasks:
   - name: Create AntiMalware config
     trendmicro.deepsec.deepsec_anti_malware:
       name: scan_real_time
    description: scan and quarantine via anti-malware config
    scan_action_for_virus: pass
    alert_enabled: true
    scan_type: real-time
    real_time_scan: read-write
    cpu_usage: medium
       scan_action_for_virus: quarantine
       scan_action_for_trojans: quarantine
       scan_action_for_cve: quarantine
       scan_action_for_other_threats: quarantine
    state: present

上面列出的剧本将创建一个反恶意软件配置规则,该规则将在每次收到、复制、下载或修改文件时在 Trend Micro 代理上启动实时扫描。

所有文件将被扫描以查找任何安全威胁。如果代理在扫描期间基于病毒、木马、CVE 等检测到任何威胁,代理将显示有关受感染文件的相关信息,并且相关文件将根据剧本中的规定进行隔离。

用例:日志检查规则配置

日志检查集成模块帮助用户识别通常记录在系统/操作系统级别的事件。它还包括应用程序日志。使用日志规则配置,用户可以将记录的事件转发到 SIEM 系统或某些集中式日志服务器以进行分析、报告和归档。

日志检查有助于实时监控第三方日志文件。以下列出的剧本创建了一个用于日志检查的规则。

---
- name: Set up log inspection
  hosts: deepsec
  collections:
   - trendmicro.deepsec
  gather_facts: false
  tasks:
   - name: Create a Log inspection rule
     trendmicro.deepsec.deepsec_anti_malware:
       state: present
       name: custom log_rule for mysqld event
       description: some description
       minimum_agent_version: 6.0.0.0
       type: defined
       template: basic-rule
       pattern: name
       pattern_type: string
       rule_id: 100001
       rule_description: test rule description
       groups:
         - test
       alert_minimum_severity: 4
       alert_enabled: true
       log_files:
         - location: /var/log/mysqld.log
           format: mysql-log
     register: log