Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第 20 章 安全增强

以下小节提供了增强 overcloud 安全性的一些建议。

20.1. 管理 Overcloud 防火墙

每个核心 OpenStack 平台服务都在其相应的可组合服务模板中包含防火墙规则。这会为每个 overcloud 节点自动创建一组默认防火墙规则。

overcloud Heat 模板包含一组有助于其他防火墙管理的参数:

ManageFirewall
定义是否自动管理防火墙规则。设置为 true,以允许 Puppet 在每个节点上自动配置防火墙。如果要手动管理防火墙,则设置为 false。默认值是 true
PurgeFirewallRules
定义在配置新防火墙规则前是否清除默认 Linux 防火墙规则。默认值为 false

如果 ManageFirewall 设为 true,则可以在部署时创建额外的防火墙规则。使用配置 hook 设置 tripleo::firewall::firewall_rules hieradata (请参阅 overcloud 环境文件中的 第 4.5 节 “Puppet:为角色自定义 Hieradata”)。此 hieradata 是一个哈希,包含防火墙规则名称及其对应的参数作为键,它们都是可选的:

port
与该规则关联的端口。
dport
与该规则关联的目的地端口。
SPORT
与该规则关联的源端口。
proto
与该规则关联的协议。默认为 tcp
action
与该规则关联的操作策略。默认为 接受
跳过
要跳至的链。如果存在,它会覆盖 操作
state
与该规则关联的状态阵列。默认为 ['NEW']
source
与该规则关联的源 IP 地址。
iniface
与该规则关联的网络接口。
与该规则关联的链。默认为 INPUT
目的地
与该规则关联的目标 CIDR。

以下示例演示了防火墙规则格式的语法:

ExtraConfig:
  tripleo::firewall::firewall_rules:
    '300 allow custom application 1':
      port: 999
      proto: udp
      action: accept
    '301 allow custom application 2':
      port: 8081
      proto: tcp
      action: accept

这通过 ExtraConfig 将两个额外的防火墙规则应用于所有节点。

注意

每个规则名称都会成为对应 iptables 规则的注释。另请注意,每个规则名称都以三位前缀开头,以帮助 Puppet 在最终 iptables 文件中定义的所有规则。默认的 OpenStack Platform 规则使用 000 到 200 范围中的前缀。