13.12. ファイアウォールルールの管理
ファイアウォールルールは、デプロイメント時にオーバークラウドノードに自動的に適用され、OpenStack の運用に必要なポートのみを公開することを目的としています。必要に応じて、追加のファイアウォールルールを指定できます。たとえば、Zabbix モニタリングシステムのルールを追加するには、以下のようにします。
parameter_defaults: ControllerExtraConfig: ExtraFirewallRules: '301 allow zabbix': dport: 10050 proto: tcp source: 10.0.0.8
action
パラメーターを設定しない場合、結果は accept
になります。action
パラメーターは、drop
、insert
、または append
のみに設定できます。
アクセスを制限するルールを追加することもできます。ルールの定義時に使用される数字は、ルールの優先順位を決定します。たとえば、RabbitMQ のルール番号は、デフォルトでは 109
です。これを抑制するには、小さい数字を使用するように切り替えます。
parameter_defaults: ControllerParameters ExtraFirewallRules: '098 allow rabbit from internalapi network': dport: [4369,5672,25672] proto: tcp source: 10.0.0.0/24 '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
に保存されます。
ExtraFirewallRules: '109 rabbitmq': dport: - 4369 - 5672 - 25672
ルールには、以下のパラメーターを設定できます。
-
dport
: ルールに関連付けられた宛先ポート -
sport
: ルールに関連付けられた送信元ポート -
proto
: ルールに関連付けられたプロトコル。デフォルトは tcp です。 -
action
: ルールに関連付けられたアクションポリシー。デフォルトは INSERT であり、ジャンプを ACCEPTS に設定します。 -
state
: ルールに関連付けられた状態の配列。デフォルトは [NEW] です。 -
source
: ルールに関連付けられた送信元の IP アドレス -
interface
: ルールに関連付けられたネットワークインターフェイス -
chain
: ルールに関連付けられたチェーン。デフォルトは INPUT です。 -
destination
: ルールに関連付けられた宛先の cidr