はじめに
このドキュメントでは、Cisco IPSを使用したプライベートインターネット交換(PIX)/ASA/Cisco IOS®ルータでのシャニングの設定方法について説明します。
前提条件
要件
ARCをブロッキングまたはレート制限に設定する前に、次の作業を実行する必要があります。
-
ネットワークトポロジを分析して、どのデバイスがどのセンサーによってブロックできるか、どのアドレスがブロックされないかを把握します。
-
各デバイスへのログインに必要なユーザ名、デバイスパスワード、イネーブルパスワード、および接続タイプ(TelnetまたはSSH)を収集します。
-
デバイスのインターフェイス名を確認します。
-
必要に応じて、プレブロックACLまたはVACLと、ポストブロックACLまたはVACLの名前を確認します。
-
ブロックできるインターフェイスとブロックできないインターフェイス、およびブロックする方向(インまたはアウト)を理解します。
使用するコンポーネント
このドキュメントの情報は、Cisco Intrusion Prevention System(IPS)5.1以降に基づいています。
注:デフォルトでは、ARCは最大250個のブロックエントリに対して設定されています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
ドキュメント表記の詳細は、『テクニカルティップスのフォーマット表記法と他のコンテンツの使用』を参照してください。
背景説明
センサー上のブロッキングアプリケーションであるARCは、ルータ、Cisco 5000 RSMおよびCatalyst 6500シリーズスイッチ、PIXファイアウォール、FWSM、および適応型セキュリティアプライアンス(ASA)上でブロックの開始と停止を行います。ARCは、悪意のあるIPアドレスの管理対象デバイスに対してブロックまたは回避を発行します。ARCは、センサーが管理するすべてのデバイスに同じブロックを送信します。プライマリブロッキングセンサーが設定されている場合、ブロックはこのデバイスに転送され、このデバイスから発行されます。ARC は、ブロック時間をモニタし、時間の経過後にブロックを削除します。
IPS 5.1を使用する場合、マルチコンテキストモードでファイアウォールにシャニングするときは、回避要求とともにVLAN情報が送信されないため、特別な注意が必要です。
注:ブロッキングは、マルチコンテキストFWSMの管理コンテキストではサポートされていません。
ブロックには次の3つのタイプがあります。
-
Host block:特定のIPアドレスからのすべてのトラフィックをブロックします。
-
接続ブロック:特定の送信元IPアドレスから特定の宛先IPアドレスおよび宛先ポートへのトラフィックをブロックします。同じ送信元IPアドレスから異なる宛先IPアドレスまたは宛先ポートへの複数の接続ブロックでは、ブロックが接続ブロックからホストブロックに自動的に切り替わります。
注:接続ブロックは、セキュリティアプライアンスではサポートされていません。セキュリティアプライアンスは、オプションのポートおよびプロトコル情報を持つホストブロックのみをサポートします。
-
ネットワークブロック:特定のネットワークからのすべてのトラフィックをブロックします。ホストブロックと接続ブロックは、シグニチャがトリガーされたときに手動または自動で開始できます。手動で開始できるのは、ネットワークブロックだけです。
自動ブロックの場合、特定のシグニチャのイベントアクションとしてRequest Block HostまたはRequest Block Connectionを選択する必要があります。これにより、SensorAppはシグニチャがトリガーされたときにブロック要求をARCに送信します。ARCは、SensorAppからブロック要求を受信すると、ホストまたは接続をブロックするようにデバイス設定を更新します。
CiscoルータおよびCatalyst 6500シリーズスイッチでは、ARCはACLまたはVACLを適用してブロックを作成します。ACLとVACLは、トラフィックを許可または拒否するために、方向とVLANを含むフィルタをインターフェイスにそれぞれ適用します。PIXファイアウォール、FWSM、およびASAでは、ACLまたはVACLは使用されません。組み込みのshunコマンドとno shunコマンドが使用されます。
ARCを設定するには、次の情報が必要です。
-
デバイスにAAAが設定されている場合は、ユーザIDでログインします。
-
ログインパスワード
-
イネーブルパスワード。ユーザがイネーブル権限を持っている場合は必要ありません。
-
管理対象のインターフェイス(ethernet0、vlan100など)。
-
作成されるACLまたはVACLの先頭(プリブロックACLまたはVACL)または末尾(ポストブロックACLまたはVACL)に適用する既存のACLまたはVACL情報。PIXファイアウォール、FWSM、またはASAでは、ブロックにACLまたはVACLを使用しないため、これは適用されません。
-
デバイスとの通信にTelnetとSSHのどちらを使用するか。
-
ブロックしないIPアドレス(ホストまたはホストの範囲)
-
ブロックの存続期間。
ブロッキングページを使用して、ブロッキングとレート制限をイネーブルにするために必要な基本設定を行います。
ARCは、管理対象デバイスのブロックおよびレート制限アクションを制御します。
ブロックできないホストやネットワークを特定するには、センサーを調整する必要があります。信頼できるデバイスのトラフィックがシグニチャを起動する可能性があります。このシグニチャが攻撃者をブロックするように設定されている場合、正当なネットワークトラフィックが影響を受ける可能性があります。デバイスのIPアドレスは、このシナリオを回避するためにNever Blockリストにリストできます。
ネバーブロックエントリで指定されたネットマスクは、ネバーブロックアドレスに適用されます。ネットマスクが指定されていない場合は、デフォルトの/32マスクが適用されます。
注:デフォルトでは、センサーは自身のIPアドレスに対するブロックを発行できません。これは、センサーとブロックしているデバイス間の通信が妨害されるためです。ただし、このオプションはユーザが設定できます。
ARCがブロッキングデバイスを管理するように設定されると、ブロッキングデバイスの排除と、ブロッキングに使用されるACL/VACLは手動で変更できなくなります。これにより、ARCサービスが中断され、将来ブロックが発行されない可能性があります。
注:Cisco IOS®デバイスでは、デフォルトでブロッキングだけがサポートされています。レート制限またはブロッキングプラスレート制限を選択すると、ブロッキングデフォルトを上書きできます。
ブロックを発行または変更するには、IPSユーザに管理者ロールまたはオペレータロールが必要です。
Ciscoルータを管理するためのセンサーの設定
このセクションでは、Ciscoルータを管理するためのセンサーの設定方法について説明します。次のトピックが含まれています。
ユーザプロファイルの設定
センサーは、ユーザプロファイルをセットアップするために、user-profiles profile_nameコマンドを使用して他のデバイスを管理します。ユーザプロファイルには、ユーザID、パスワード、およびイネーブルパスワード情報が含まれています。たとえば、すべてのルータが同じパスワードとユーザ名を共有する場合、1つのユーザプロファイルの下に配置できます。
注:ブロッキング状態のデバイスを設定する前に、ユーザプロファイルを作成する必要があります。
ユーザプロファイルを設定するには、次の手順を実行します。
-
管理者権限を持つアカウントで CLI にログインします。
-
ネットワークアクセスモードに入ります。
sensor#configure terminal
sensor(config)#service network-access
sensor(config-net)#
-
ユーザプロファイル名を作成します。
sensor(config-net)#user-profiles PROFILE1
-
ユーザプロファイルのユーザ名を入力します。
sensor(config-net-use)#username username
-
ユーザのパスワードを指定します。
sensor(config-net-use)# password
Enter password[]: ********
Re-enter password ********
-
ユーザのイネーブルパスワードを指定します。
sensor(config-net-use)# enable-password
Enter enable-password[]: ********
Re-enter enable-password ********
-
設定を確認します。
sensor(config-net-use)#show settings
profile-name: PROFILE1
-----------------------------------------------
enable-password: <hidden>
password: <hidden>
username: jsmith default:
-----------------------------------------------
sensor(config-net-use)#
-
ネットワークアクセスサブモードを終了します。
sensor(config-net-use)#exit
sensor(config-net)#exit
Apply Changes:?[yes]:
-
変更を適用する場合は Enter キーを押し、変更を廃棄する場合は [no] を入力します。
ルータとACL
ACLを使用するブロッキングデバイスでARCが設定されている場合、ACLは次のように構成されます。
-
センサーのIPアドレスを含むpermit行、または指定されている場合はセンサーのネットワークアドレス変換(NAT)アドレス。
注:センサーのブロックを許可する場合、この行はACLに表示されません。
-
プレブロックACL(指定した場合):このACLはデバイスにすでに存在している必要があります。
注:ARCは、事前設定されたACLの行を読み取り、これらの行をブロックACLの先頭にコピーします。
-
アクティブなブロック。
-
ポストブロックACLまたはpermit ip any any:
-
ポストブロックACL(指定した場合):
このACLは、デバイスにすでに存在している必要があります。
注:ARCはACLの行を読み取り、これらの行をACLの最後にコピーします。
注:不一致のパケットをすべて許可するには、ACLの最後の行がpermit ip any anyになっていることを確認してください。
- permit ip any any(ポストブロックACLが指定されている場合は使用されません)
注:ARCが作成するACLは、ユーザまたは他のシステムが変更することはできません。これらのACLは一時的なもので、新しいACLはセンサーによって常に作成されます。実行できる唯一の変更は、ブロック前およびブロック後のACLです。
ブロック前またはブロック後のACLを変更する必要がある場合は、次の手順を実行します。
-
センサーのブロッキングを無効にします。
-
デバイスの設定を変更します。
-
センサーのブロッキングを再度有効にします。
ブロッキングが再度有効になると、センサーは新しいデバイス設定を読み取ります。
注:1つのセンサーで複数のデバイスを管理できますが、複数のセンサーで1つのデバイスを管理することはできません。複数のセンサーから発行されたブロックが単一のブロッキングデバイスを対象とする場合は、設計にプライマリブロッキングセンサーを組み込む必要があります。プライマリブロッキングセンサーは、複数のセンサーからブロッキング要求を受信し、すべてのブロッキング要求をブロッキングデバイスに発行します。
プレブロックおよびポストブロックACLは、ルータ設定で作成および保存します。これらのACLは、名前付きまたは番号付きの拡張IP ACLである必要があります。ACLの作成方法の詳細については、ルータのマニュアルを参照してください。
注:ブロック前およびブロック後のACLは、レート制限には適用されません。
ACLはトップダウン方式で評価され、最初に一致したアクションが実行されます。プレブロックACLには、ブロックから発生した拒否よりも優先される許可を含めることができます。
ブロック後ACLは、ブロック前ACLで処理されない条件を説明するために使用されます。インターフェイス上に、ブロックが発行される方向に既存のACLがある場合、そのACLをブロック後ACLとして使用できます。ポストブロックACLがない場合、センサーは新しいACLの最後にpermit ip any anyを挿入します。
センサーが起動すると、2つのACLの内容を読み取ります。次のエントリを持つ3番目のACLを作成します。
センサーは、指定されたインターフェイスと方向に新しいACLを適用します。
注:新しいブロックACLをルータのインターフェイスに特定の方向で適用すると、その方向のそのインターフェイス上にある既存のACLが置き換えられます。
CLIを使用したCiscoルータの設定
Ciscoルータを管理するセンサーを設定して、ブロッキングとレート制限を実行するには、次の手順を実行します。
-
管理者権限を持つアカウントで CLI にログインします。
-
ネットワークアクセスサブモードに入ります。
sensor#configure terminal
sensor(config)#service network-access
sensor(config-net)#
-
ARCによって制御されるルータのIPアドレスを指定します。
sensor(config-net)#router-devices ip_address
-
ユーザプロファイルの設定時に作成した論理デバイス名を入力します。
sensor(config-net-rou)#profile-name user_profile_name
注: ARC関数では、入力した文字列はすべて受け入れられます。ユーザプロファイルが存在するかどうかはチェックされません。
-
センサーへのアクセスに使用する方法を指定します。
sensor(config-net-rou)# communication {telnet | ssh-des | ssh-3des}
指定しない場合は、SSH 3DESが使用されます。
注:DESまたは3DESを使用している場合は、ssh host-key ip_addressコマンドを使用して、デバイスからのSSHキーを受け入れる必要があります。
-
センサーのNATアドレスを指定します。
sensor(config-net-rou)#nat-address nat_address
注:これにより、ACLの最初の行のIPアドレスがセンサーのアドレスからNATアドレスに変更されます。NATアドレスは、センサーのアドレスで、NAT後のものです。センサーとブロッキングデバイスの間にある中継デバイスによって変換されます。
-
ルータがブロッキング、レート制限、またはその両方を実行するかどうかを指定します。
注:デフォルトはブロッキングです。ルータでブロッキングだけを実行する場合は、応答機能を設定する必要はありません。
-
インターフェイス名と方向を指定します。
sensor(config-net-rou)#block-interfaces interface_name {in | out}
注:インターフェイスの名前は、interfaceコマンドの後に使用するとルータが認識する省略形である必要があります。
-
(オプション)事前ACL名を追加します(ブロッキングのみ)。
sensor(config-net-rou-blo)#pre-acl-name pre_acl_name
-
(オプション)ポストACL名を追加します(ブロッキングのみ)。
sensor(config-net-rou-blo)#post-acl-name post_acl_name
-
設定を確認します。
sensor(config-net-rou-blo)#exit
sensor(config-net-rou)#show settings
ip-address: 10.89.127.97
-----------------------------------------------
communication: ssh-3des default: ssh-3des
nat-address: 10.89.149.219 default: 0.0.0.0
profile-name: PROFILE1
block-interfaces (min: 0, max: 100, current: 1)
-----------------------------------------------
interface-name: GigabitEthernet0/1
direction: in
-----------------------------------------------
pre-acl-name: <defaulted>
post-acl-name: <defaulted>
-----------------------------------------------
-----------------------------------------------
response-capabilities: block|rate-limit default: block
-----------------------------------------------
sensor(config-net-rou)#
-
ネットワークアクセスサブモードを終了します。
sensor(config-net-rou)#exit
sensor(config-net)#exit
sensor(config)#exit
Apply Changes:?[yes]:
-
変更を適用する場合は Enter キーを押し、変更を廃棄する場合は [no] を入力します。
シスコファイアウォールを管理するためのセンサーの設定
シスコファイアウォールを管理するようにセンサーを設定するには、次の手順を実行します。
-
管理者権限を持つアカウントで CLI にログインします。
-
ネットワークアクセスサブモードに入ります。
sensor#configure terminal
sensor(config)#service network-access
sensor(config-net)#
-
ARCによって制御されるファイアウォールのIPアドレスを指定します。
sensor(config-net)#firewall-devices ip_address
-
ユーザプロファイルを設定したときに作成したユーザプロファイル名を入力します。
sensor(config-net-fir)#profile-name user_profile_name
注: ARC関数では、入力した文字はすべて受け入れられます。論理デバイスが存在するかどうかはチェックされません。
-
センサーへのアクセスに使用する方法を指定します。
sensor(config-net-fir)#communication {telnet | ssh-des | ssh-3des}
指定しない場合は、SSH 3DESが使用されます。
注:DESまたは3DESを使用している場合は、ssh host-key ip_addressコマンドを使用してキーを受け入れる必要があります。そうしないと、ARCはデバイスに接続できません。
-
センサーのNATアドレスを指定します。
sensor(config-net-fir)#nat-address nat_address
注:これにより、ACLの最初の行のIPアドレスが、センサーのIPアドレスからNATアドレスに変更されます。NATアドレスは、センサーとブロッキングデバイスの間にある中間デバイスによって変換されたセンサーのアドレスで、ポストNATです。
-
ネットワークアクセスサブモードを終了します。
sensor(config-net-fir)#exit
sensor(config-net)#exit
sensor(config)#exit
Apply Changes:?[yes]:
-
変更を適用する場合はEnter キーを押し、変更を廃棄する場合は [no] を入力します。
PIX/ASAでのSHUNによるブロック
shunコマンドを発行すると、攻撃ホストからの接続がブロックされます。コマンド内の値に一致するパケットは、ブロッキング機能が削除されるまで廃棄され、ログに記録されます。shunは、指定したホストアドレスとの接続が現在アクティブかどうかに関係なく適用されます。
宛先アドレス、送信元ポートと宛先ポート、およびプロトコルを指定すると、これらのパラメータに一致する接続に回避が絞り込まれます。shunコマンドは、送信元IPアドレスごとに1つだけ使用できます。
shunコマンドは攻撃をダイナミックにブロックするために使用されるため、セキュリティアプライアンスの設定には表示されません。
インターフェイスを取り外すたびに、そのインターフェイスに接続されているすべての回線も取り外されます。
この例は、攻撃ホスト(10.1.1.27)が攻撃対象(10.2.2.89)とTCPとの接続を確立していることを示しています。セキュリティアプライアンスの接続テーブルの接続は次のようになります。
TCP outside:10.1.1.27/555 inside:10.2.2.89/666
攻撃ホストからの接続をブロックするには、特権EXECモードでshunコマンドを使用します。shunコマンドを次のオプションで適用します。
hostname#shun 10.1.1.27 10.2.2.89 555 666 tcp
このコマンドは、セキュリティアプライアンスの接続テーブルから接続を削除し、10.1.1.27:555(TCP)から10.2.2.89:666(TCP)へのパケットがセキュリティアプライアンスを通過するのを防ぎます。
関連情報