概要
このドキュメントでは、Security Intelligence(SI)で適用できるように、ドメインネームシステム(DNS)リストをDNSポリシーに追加する手順について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco ASA55XX Threat Defenseの設定
- Cisco Firepower Management Centerの設定
使用するコンポーネント
- Cisco ASA5506W-X Threat Defense(75)バージョン6.2.3.4(ビルド42)
- Cisco Firepower Management Center for VMWare
- ソフトウェア バージョン:6.2.3.4 (build 42)
- OS:Cisco Fire Linux OS 6.2.3(ビルド13)
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
セキュリティインテリジェンスは、既知の不正なレピュテーションを持つIPアドレス、URL、またはドメイン名との間のトラフィックをブロックすることによって機能します。このドキュメントでは、主にドメイン名のブラックリスト化を取り上げています。
この例では、ブロック1ドメインを使用しています。
URLフィルタリングを使用してこれらのサイトの一部をブロックすることもできますが、問題は、URLが完全に一致している必要があることです。一方、SIを使用したDNSブラックリストは、サブドメインやURLの変更を心配することなく、「cisco.com」のようなドメインに焦点を当てることができます。
このドキュメントの最後に、オプションのSinkhole設定も示します。
ネットワーク図
設定
ブロックするドメインを使用してカスタムDNSリストを設定し、リストをFMCにアップロードします
ステップ1:ブロックするドメインを含む.txtファイルを作成します。コンピュータに.txtファイルを保存します。
ステップ2:FMCで、[Object] > [Object Management] >> [DNS Lists and Feeds] >> [Add DNS List and Feeds]に移動します。
ステップ3:「BlackList-Domains」という名前のリストを作成します。タイプはlistであり、問題のドメインを含む.txtファイルは、次の図に示すようにアップロードする必要があります。
*.txtファイルをアップロードすると、[Number of DNS entries]はすべてのドメインを読み取ります。この例では、合計が1です。
[action configured to 'domain not found']を使用して新しいDNSポリシーを追加します
*ソースゾーン、ソースネットワーク、およびDNSリストを追加してください。
ステップ1:[Policies] >> [Access Control] >> [DNS] >> [Add DNS Policy]に移動します。
ステップ2:図に示すように、DNSルールを追加します。
ルールの順序に関する重要な情報:
- グローバルホワイトリストは常に最初にあり、他のすべてのルールよりも優先されます。
- 子孫DNSホワイトリスト規則は、非リーフドメインのマルチドメイン展開でのみ表示されます。これは常に2番目であり、グローバルホワイトリスト以外のすべてのルールよりも優先されます。
- Blacklistセクションの前にWhitelistセクションがあります。ホワイトリストのルールは、常に他のルールよりも優先されます。
- グローバルブラックリストは、常に[ブラックリスト(Blacklist)]セクションの最初にあり、他のすべてのモニタおよびブラックリストのルールよりも優先されます。
- 子孫DNSブラックリスト規則は、非リーフドメインのマルチドメイン展開でのみ表示されます。これは常に[ブラックリスト(Blacklist)]セクションの2番目であり、グローバルブラックリスト以外のすべてのモニタおよびブラックリストのルールよりも優先されます。
- [ブラックリスト(Blacklist)]セクションには、モニタおよびブラックリストのルールが含まれています。
- DNSルールを初めて作成する場合、システム位置は[ホワイトリスト]セクションの最後に表示されます(ホワイトリストのアクションを割り当てた場合)。
アクセスコントロールポリシーへのDNSポリシーの割り当て
[Policies] >> [Access Control] >> [The Policy for your FTD] >> [Security Intelligence] >> [DNS Policy]に移動し、作成したポリシーを追加します。
完了したら、すべての変更を必ず導入してください。
確認
DNSポリシーの適用前
ステップ1:図に示すように、ホストマシンのDNSサーバとIPアドレス情報を確認します。
ステップ2:次の図に示すように、cisco.comに移動できることを確認します。
ステップ3:パケットキャプチャで、DNSが正しく解決されていることを確認します。
DNSポリシーの適用後
ステップ1:ipconfig /flushdnsコマンドを使用して、ホストのDNSキャッシュをクリアートします。
ステップ2:Webブラウザを使用して、対象のドメインに移動します。到達不能であるはずです。
ステップ3:ドメインcisco.comでnslookupを発行してみます。名前解決が失敗する。
ステップ4:パケットキャプチャは、DNSサーバではなくFTDからの応答を示します。
ステップ5:FTD CLIでデバッグを実行します。システムはfirewall-engine-debugをサポートし、UDPプロトコルを指定します。
*cisco.comが一致した場合のデバッグ:
シンクホールの設定(オプション)
DNSシンクホールは、誤った情報を提供するDNSサーバです。ブロックしているドメインのDNSクエリに対する「No such name」DNS応答を返す代わりに、偽のIPアドレスを返します。
ステップ1:[Objects] >> [Object Management] >> [Sinkhole] >> [Add Sinkhole]に移動し、偽のIPアドレス情報を作成します。
ステップ2:DNSポリシーにシンクホールを適用し、FTDに変更を導入します。
Sinkholeが動作していることを確認します
トラブルシュート
[Analysis] > [Connections] >> [Security Intelligence Events]に移動し、DNSポリシーでロギングを有効にしている限り、SIによってトリガーされるすべてのイベントを追跡します。
FMCによって管理されるFTDでは、system support firewall-engine-debugコマンドを使用することもできます。
パケットキャプチャは、DNS要求がFTDサーバに送信していることを確認するのに役立ちます。テスト時にローカルホストのキャッシュをクリアすることを忘れないでください。