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
モジュールでサポートされる追加パラメーターのハッシュ