ゾーンベースファイアウォール設定(FQDNフィルタリング)¶
動作確認バージョン: | vSRX Version22.4R1 |
---|
ここでは、FQDNを利用したゾーンベースファイアウォール設定を紹介します。
注釈
- vSRX Version15.1X49-D105.1, vSRX Version19.2R1.8をご利用いただく際に、特定のシナリオでコントロールプレーンのCPU値が高くなる傾向があることが確認されております。発生条件や留意事項詳細は、 バージョン固有の留意事項について をご確認ください。
- 複数のフィルタリングルールを設定した場合、コンフィグレーション上に表示された順序で適用されます。
FQDNを遮断する条件にしたゾーンベースファイアウォール設定¶
DNSで名前解決したIPアドレスへの通信をゾーンベースファイアウォールで遮断し、その他のIPアドレスを宛先とする通信に関しては転送する設定を行います。
サンプル設定のシナリオ
- TrustゾーンからUntrustゾーンへのゾーンベースファイアウォールを設定したい
- ドメイン名 www.ntt.com を宛先とする通信だけ遮断したい
- その他の通信はすべて転送したい
注釈
- DNSサーバーのアドレスは実際に存在するIPアドレスのためマスク(X.X.X.X)しています。
- 設定を有効にするためには、DNSサーバーから名前解決ができるようネットワークの接続性が確立できている必要があります。
- TrustゾーンのサーバーインスタンスがUntrustゾーンの仮想ルーターを経由してインターネットと通信するネットワーク構成です。
- ファイアウォール(vSRX) はDNSサーバーで名前解決したIPアドレスのTTLを確認し、失効を確認後DNSサーバーに対して名前解決を実行します。
シナリオにおける設定のながれ
CLIにて入力するコマンド
user01@vSRX-02# set system name-server X.X.X.X
user01@vSRX-02# set security address-book global address NTTCOM dns-name www.ntt.com ipv4-only
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy NTTCOM_DENY match source-address any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy NTTCOM_DENY match destination-address NTTCOM
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy NTTCOM_DENY match application any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy NTTCOM_DENY then deny
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy default-permit match source-address any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy default-permit match destination-address any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy default-permit match application any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy default-permit then permit
正しく設定が完了したときのコンフィグレーションは次のとおりです。
system {
name-server {
X.X.X.X;
}
}
security {
address-book {
global {
address NTTCOM {
dns-name www.ntt.com {
ipv4-only;
}
}
}
}
policies {
from-zone trust to-zone untrust {
policy NTTCOM_DENY {
match {
source-address any;
destination-address NTTCOM;
application any;
}
then {
deny;
}
}
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
}
}
動作確認結果
以下の検証結果ログは、「ping www.ntt.com count 5」コマンド実行後に「show security policies hit-count」を実行したものです。 「NTTCOM_DENY」のルールに該当してゾーンベースファイアウォールで遮断しているため、Policy countが増加していることが確認できます。
user01@vSRX-02> show security policies hit-count
Logical system: root-logical-system
Index From zone To zone Name Policy count
1 trust trust default-permit 0
2 trust untrust NTTCOM_DENY 5
3 trust untrust default-permit 0
Number of policy: 3
user01@vSRX-02>
FQDNを許可する条件にしたゾーンベースファイアウォール設定¶
DNSで名前解決したIPアドレスへの通信を許可して転送し、その他のIPアドレスを宛先とする通信に関してはゾーンベースファイアウォールで遮断する設定を行います。
サンプル設定のシナリオ
- TrustゾーンからUntrustゾーンへのゾーンベースファイアウォールを設定したい
- ドメイン名 www.ntt.com を宛先とする通信だけ許可して転送したい
- その他の通信はすべて遮断したい
注釈
- DNSサーバーのアドレスは実際に存在するIPアドレスのためマスク(X.X.X.X)しています。
- 設定を有効にするためには、DNSサーバーから名前解決ができるようネットワークの接続性が確立できている必要があります。
- TrustゾーンのサーバーインスタンスがUntrustゾーンの仮想ルーターを経由してインターネットと通信するネットワーク構成です。
- ファイアウォール(vSRX) はDNSサーバーで名前解決したIPアドレスのTTLを確認し、失効を確認後DNSサーバーに対して名前解決を実行します。
シナリオにおける設定のながれ
CLIにて入力するコマンド
user01@vSRX-02# set system name-server X.X.X.X
user01@vSRX-02# set security address-book global address NTTCOM dns-name www.ntt.com ipv4-only
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy NTTCOM_PERMIT match source-address any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy NTTCOM_PERMIT match destination-address NTTCOM
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy NTTCOM_PERMIT match application any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy NTTCOM_PERMIT then permit
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy ALL-DENY match source-address any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy ALL-DENY match destination-address any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy ALL-DENY match application any
user01@vSRX-02# set security policies from-zone trust to-zone untrust policy ALL-DENY then deny
正しく設定が完了したときのコンフィグレーションは次のとおりです。
system {
name-server {
X.X.X.X;
}
}
security {
address-book {
global {
address NTTCOM {
dns-name www.ntt.com {
ipv4-only;
}
}
}
}
polices {
from-zone trust to-zone untrust {
policy NTTCOM_PERMIT {
match {
source-address any;
destination-address NTTCOM;
application any;
}
then {
permit;
}
}
policy ALL-DENY {
match {
source-address any;
destination-address any;
application any;
}
then {
deny;
}
}
}
}
動作確認結果
以下の検証結果ログは、「ping www.ntt.com count 5」コマンド実行後に「show security policies hit-count」を実行したものです。 「NTTCOM_PERMIT」のルールに該当してゾーンベースファイアウォールで許可して転送しているため、Policy countが増加していることが確認できます。
user01@vSRX-02> show security policies hit-count
Logical system: root-logical-system
Index From zone To zone Name Policy count
1 trust trust default-permit 0
2 trust untrust NTTCOM_PERMIT 5
3 trust untrust ALL-DENY 0
Number of policy: 3
user01@vSRX-02>
FQDNフィルタリング機能は、以下のような製品仕様です。
設定時に名前解決ができないFQDNでのポリシーの扱い
- ポリシーは無視されます。
- なお、FQDNのポリシーを設定してcommitした際に名前解決できなかったとしても、製品としてエラーが発生することはなく設定が反映されます。
- 名前解決ができたタイミングでポリシーは機能します。
一度名前解決できたが、その後一時的に名前解決ができなくなった場合のポリシーの動作
- 最後に名前解決したIPアドレス情報をポリシーで利用し続けます。
- TTLが0となっても、ポリシーはIPアドレス情報を破棄しません。
- 上記のため、vSRXが再度名前解決可能となるまでの間にFQDNに紐づけられたIPアドレスが変更されてしまうと、クライアントが正しいIPアドレスに通信しようとしてもポリシーの条件に当てはまりません。