セキュリティポリシーを設定する際に、制限をかけるIPアドレスなどをアドレスオブジェクトとして設定します。 設定できるアドレスオブジェクトはIPアドレス(サブネット、IP範囲)だけでなく、FQDN・ジオグラフィなども指定しての設定も可能です。
アドレスオブジェクトは、ポリシー&オブジェクト >> アドレス より、新規作成 >> アドレスを選択することで、新しくオブジェクトを作成できます。
今回は、よく使用するサブネット・IP範囲・FQDN・ジオグラフィについて設定し、動作確認してみます。
サブネット
タイプをサブネットとして、IPアドレスとネットマスク(今回は8.8.8.8/32)を設定します。 名前は任意の名前(今回は、Subnet)としインタフェースはインターネット側 wan1(port3) を指定します。
IPアドレスとネットマスクの設定の仕方は、以下2通りどちらでも可能です。
もしくは
設定後、OKをクリックすると、以下のように登録されているのが確認できます。
ポリシー&オブジェクト >> ファイアウォールポリシー に上で登録したアドレスオブジェクトに対して、ICMPを拒否します。
端末から8.8.8.8/32へPingを実行し、ログ&レポート >> 転送トラフィックを確認すると、以下の通り、接続が拒否されていることが確認できます。
IP範囲
次に、サブネットではなく、IPアドレスの範囲を指定してみます。
タイプをIP範囲として、IP範囲(今回は8.0.0.0-8.255.255.255)を設定します。名前は任意の名前(今回は、IP_Range)としインタフェースはインターネット側wan1(port3)を指定します。
設定後、OKをクリックすると、以下のように登録されているのが確認できます。
ポリシー&オブジェクト >> ファイアウォールポリシー に上で登録したアドレスオブジェクトに対して、ICMPを拒否します。
端末から8.0.0.1 ,8.0.0.2・・・・と順番にPingを実行し、ログ&レポート >> 転送トラフィックを確認すると、以下の通り、接続が拒否されていることが確認できます。
FQDN
FQDN
FQDN(今回はhirotanoblog.com)を設定します。 ここで設定したFQDN(hirotanoblog.com)はFortigate自身で名前解決できる必要があります。
Fortigate自身にDNSサーバが設定されていることを ネットワーク >> DNS で確認します。デフォルトでは、FortiGuardのDNSサーバが設定されています。
それでは、タイプをFQDNとして、hirotanoblog.comと設定します。
設定後、OKをクリックすると、以下のように登録されているのが確認できます。 ただし、設定直後は、名前解決ができていないため、以下の通り、未解決のFQDNとしてエラー表示されます。
しばらくして、名前解決ができると、以下の通り、エラー表示が消え、解決先にIPアドレスが列挙されます。
ポリシー&オブジェクト >> ファイアウォールポリシー に上で登録したアドレスオブジェクトに対して、ICMPを拒否します。
端末からhirotanoblog.comへPingを実行すると、以下の通り、接続が拒否されていることが確認できます。
ワイルドカードFQDN
Fortigateでは、ワイルドカードFQDNの記述もサポートしています。(バージョン6.2.2よりサポート)
FQDNでは、Fortigate自身がFQDNの名前解決をし、解決されたIPアドレスをアドレスオブジェクトに登録していました。
ワイルドカードFQDNでは、Fortigate自身が名前解決するのではなく、Fortigateを通過するクライアントからのDNSクエリーを収集し、解決されたIPアドレスをアドレスオブジェクトに登録します。
つまり、クライアントとDNSサーバ間の通信が必ずFortigateを経由するように配置しないといけません。
それでは、タイプをFQDNとして、ワイルドカードFQDNとして *.google.com を設定します。
設定後、OKをクリックすると、以下のように登録されているのが確認できます。 ただし、設定直後は、名前解決ができていないため、以下の通り、未解決のFQDNとしてエラー表示されます。
クライアントからFortigateを通過させるよう、*.google.comに該当する名前解決を試みます。
まず、mail.google.com の名前解決をします。
>nslookup
>server 8.8.8.8
Default Server: dns.google
Address: 8.8.8.8
> mail.google.com
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: googlemail.l.google.com
Addresses: 2404:6800:4004:821::2005
172.217.31.165
Aliases: mail.google.com
DNSレスポンスが172.217.31.165と返ってきました。このアドレスをFortigateが収集します。下記のとおり、オブジェクトに登録されているアドレスを確認できます。
さらにクライアントから、drive.google.comの名前解決をします。
>nslookup
>server 8.8.8.8
Default Server: dns.google
Address: 8.8.8.8
> drive.google.com
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: drive.google.com
Addresses: 2404:6800:4004:813::200e
142.250.196.142
追加で解決されたアドレスも登録されていることが確認できます。
ポリシー&オブジェクト >> ファイアウォールポリシー に上で登録したアドレスオブジェクトに対して、ICMPを拒否します。
端末からmail.google.comへPingを実行すると、以下の通り、接続が拒否されていることが確認できます。
FQDNに対応するIPアドレスの確認
FQDNに対応するIPアドレスの保持内容を diagnose test application dnsproxy コマンドで確認できます。
diagnose test application dnsproxy の後にオプション番号を追加することで、様々な情報が確認できます。オプション番号は、diagnose test application dnsproxy と入力したあと、エンターを押すと確認できます。
FG1 # diagnose test application dnsproxy worker idx: 0 1. Clear DNS cache 2. Show stats 3. Dump DNS setting 4. Reload FQDN 5. Requery FQDN 6. Dump FQDN 7. Dump DNS cache 8. Dump DNS DB 9. Reload DNS DB 10. Dump secure DNS policy/profile 11. Dump Botnet domain 12. Reload Secure DNS setting 13. Show Hostname cache 14. Clear Hostname cache 15. Show SDNS rating cache 16. Clear SDNS rating cache 17. DNS debug bit mask 18. DNS debug obj mem 99. Restart dnsproxy worker
FQDNと対応するIPアドレスを確認するには、6. Dump FQDN を選択します。
FG1 # diagnose test application dnsproxy 6 worker idx: 0 vfid=0 name=hirotanoblog.com ver=IPv4 timer running, min_ttl=3600:3441, cache_ttl=0 , slot=-1, num=1, wildcard=0 183.181.81.57 (ttl=3600:3447:3447) vfid=0 name=*.google.com ver=IPv4 min_ttl=100:0, cache_ttl=0 , slot=-1, num=2, wildcard=1 172.217.31.165 (ttl=298:127:127) 142.250.196.142 (ttl=100:31:31)
例えば、内部のDNSキャッシュを確認したい場合は、7. Dump DNS cache 、DNSキャッシュをクリアしたい場合は、1. Clear DNS cache をオプション番号として使用します。
下記のドキュメントも参考にしてください。
>> 参考 : DNS troubleshooting – Administration Guide FortiOS 7.0.3ジオグラフィ(地域)
タイプをジオグラフィとして、地域(今回は米国(United States))を設定します。
名前は任意の名前(今回はUnited States)としインタフェースはインターネット側 wan1(port3)を指定します。
ポリシー&オブジェクト >> ファイアウォールポリシー に上で登録したアドレスオブジェクトに対して、すべてのサービスを拒否します。
端末からFacebookやYahooなど、いくつかのサイトにアクセスし、ログ&レポート >> 転送トラフィックを確認すると、宛先IPアドレスが米国(United States)だけ接続が拒否されていることがわかります。
コメント