5.3. ファイアウォールルールの管理
ファイアウォールルールは、デプロイメント時にオーバークラウドノードに自動的に適用され、OpenStack の運用に必要なポートのみを公開することを目的としています。必要に応じて、追加のファイアウォールルールを指定できます。たとえば、Zabbix モニタリングシステムのルールを追加するには、以下のようにします。
parameter_defaults:
ControllerExtraConfig:
tripleo::firewall::firewall_rules:
'301 allow zabbix':
dport: 10050
proto: tcp
source: 10.0.0.8
action: accept
アクセスを制限するルールを追加することもできます。ルールの定義時に使用される数字は、ルールの優先順位を決定します。たとえば、RabbitMQ のルール番号は、デフォルトでは 109 です。これを抑制するには、小さい数字を使用するように切り替えます。
parameter_defaults:
ControllerExtraConfig:
tripleo::firewall::firewall_rules:
'098 allow rabbit from internalapi network':
dport: [4369,5672,25672]
proto: tcp
source: 10.0.0.0/24
action: accept
'099 drop other rabbit access':
dport: [4369,5672,25672]
proto: tcp
action: drop
この例では、098 と 099 は、RabbitMQ のルール番号 109 よりも小さい任意に選んだ番号です。ルールの番号を確認するには、適切なノードで iptables ルールを検査できます。RabbitMQ の場合は、コントローラーをチェックします。
iptables-save
[...]
-A INPUT -p tcp -m multiport --dports 4369,5672,25672 -m comment --comment "109 rabbitmq" -m state --state NEW -j ACCEPT
または、puppet 定義からポート要件を抽出することもできます。たとえば、RabbitMQ のルールは puppet/services/rabbitmq.yaml に保存されます。
tripleo.rabbitmq.firewall_rules:
'109 rabbitmq':
dport:
- 4369
- 5672
- 25672
ルールには、以下のパラメーターを設定できます。
-
port: ルールに関連付けられたポート。puppetlabs-firewallにより非推奨になりました。 -
dport: ルールに関連付けられた宛先ポート -
sport: ルールに関連付けられた送信元ポート -
proto: ルールに関連付けられたプロトコル。デフォルトは tcp です。 -
action: ルールに関連付けられたアクションポリシー。デフォルトは accept です。 -
jump: ジャンプ先のチェーン -
state: ルールに関連付けられた状態の配列。デフォルトは [NEW] です。 -
source: ルールに関連付けられた送信元の IP アドレス -
iniface: ルールに関連付けられたネットワークインターフェース -
chain: ルールに関連付けられたチェーン。デフォルトは INPUT です。 -
destination: ルールに関連付けられた宛先の cidr -
extras:puppetlabs-firewallモジュールでサポートされる追加パラメーターのハッシュ