セキュリティ : Cisco ASA 5500-X シリーズ次世代型ファイアウォール

PIX/ASA 7.x 以降/FWSM:MPF を使用した SSH/Telnet/HTTP 接続のタイムアウトの設定例

2010 年 3 月 10 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 9 月 13 日) | 英語版 (2008 年 10 月 16 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
設定
      ネットワーク ダイアグラム
      設定
      初期タイムアウト
確認
トラブルシューティング
関連するシスコ サポート コミュニティ ディスカッション
関連情報


概要

このドキュメントでは、すべてのアプリケーションではなく SSH/Telnet/HTTP などの特定のアプリケーションに固有のタイムアウトの設定例を、PIX 7.1(1) 以降を対象として示します。この設定例では、PIX 7.0 で導入された新しいモジュラ ポリシー フレームワークを使用します。詳細は、『モジュラ ポリシー フレームワークの使用』を参照してください。この機能は、IPsec VPN 環境では利用できません。

この設定例では、ワークステーション(10.77.241.129)から Telnet/SSH/HTTP により、ルータの背後にあるリモート サーバ(10.1.1.1)に接続できるよう、PIX ファイアウォールを設定します。Telnet/SSH/HTTP トラフィックに対する別の接続タイムアウトも設定します。他のすべての TCP トラフィックでは引き続き、timeout conn 1:00:00 と関連付けられている通常の接続タイムアウトを使用します。



前提条件

要件

このドキュメントに関する特別な要件はありません。



使用するコンポーネント

このドキュメントの情報は、Cisco PIX/ASA セキュリティ アプライアンス ソフトウェア バージョン 7.1(1)とAdaptive Security Device Manager(ASDM)5.1が稼働する環境に基づいています。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。



表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



設定

このセクションでは、このドキュメントで説明する機能の設定に必要な情報を提供しています。

注:このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことをご了承ください。



ネットワーク ダイアグラム

このドキュメントでは、次のネットワーク構成を使用しています。

pix7x-connection-timeout-1.gif

注:この設定で使用している IP アドレス スキームは、インターネット上で正式にルーティング可能なものではありません。これらはラボ環境で使用された RFC 1918 でのアドレスです。



設定

このドキュメントでは次の設定を使用しています。

注:後述の CLI および ASDM の設定は、Firewall Service Module(FWSM; ファイアウォール サービス モジュール)に適用できます。

CLI による設定:

PIX の設定

PIX Version - 7.1(1)
!
hostname PIX
domain-name Cisco.com
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface Ethernet0
 nameif outside
 security-level 0
 ip address 192.168.200.1 255.255.255.0
!
interface Ethernet1
 nameif inside
 security-level 100
 ip address 10.77.241.142 255.255.255.192
!


access-list inside_nat0_outbound extended permit ip 10.77.241.128 255.255.255.192 any


!--- クラス マップ内で一致すべきトラフィックを定義します。
!--- この例では、Telnet を定義しています。

access-list outside_mpc_in extended permit tcp host 10.77.241.129 any eq telnet
access-list outside_mpc_in extended permit tcp host 10.77.241.129 any eq ssh
access-list outside_mpc_in extended permit tcp host 10.77.241.129 any eq www
access-list 101 extended permit tcp 10.77.241.128 255.255.255.192 any eq telnet 
access-list 101 extended permit tcp 10.77.241.128 255.255.255.192 any eq ssh
access-list 101 extended permit tcp 10.77.241.128 255.255.255.192 any eq www 

pager lines 24
mtu inside 1500
mtu outside 1500
no failover
no asdm history enable
arp timeout 14400
nat (inside) 0 access-list inside_nat0_outbound
access-group 101 in interface outside

route outside 0.0.0.0 0.0.0.0 192.168.200.2 1
timeout xlate 3:00:00


!--- デフォルトの接続タイムアウト値(1 時間)が、 
!--- 他のすべての TCP アプリケーションに適用できます。

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00
timeout mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
telnet timeout 5
ssh timeout 5
console timeout 0
!


!--- モジュラ ポリシー フレームワークを使用してセキュリティ機能を設定する際、 
!--- Telnet/ssh/http トラフィックを分類するために、  
!--- クラス マップ telnet を定義します。
!--- クラス マップと照合されるパラメータを割り当てます。


class-map telnet
 description telnet
  match access-list outside_mpc_in

class-map inspection_default
 match default-inspection-traffic
!
!
policy-map global_policy
 class inspection_default
  inspect dns maximum-length 512
  inspect ftp
  inspect h323 h225
  inspect h323 ras
  inspect netbios
  inspect rsh
  inspect rtsp
  inspect skinny
  inspect esmtp
  inspect sqlnet
  inspect sunrpc
  inspect tftp
  inspect sip
  inspect xdmcp


!--- ポリシー マップ内で、事前定義されたクラス マップ telnet を使用します。



policy-map telnet


!--- アイドルな TCP (Telnet/ssh/http) 接続が切断されるクラス モード下で、 
!--- 接続タイムアウトを設定します。
!--- この例では、10 分という値が設定されています。
!--- 設定可能な最小値は、5 分です。


 class telnet
  set connection timeout tcp 00:10:00 reset
!
!
service-policy global_policy global


!--- インターフェイス上のポリシーマップ telnet を適用します。
!--- service-policy コマンドは、nameif コマンドで定義できる任意の 
!--- インターフェイスに適用できます。

service-policy telnet interface outside
end

ASDM による設定:

後述のステップを実行して、ADSM を使用するアクセス リストに基づき、Telnet トラフィックの TCP 接続タイムアウトを図のように設定します。

注:ADSM を介して PIX/ASA にアクセスするための基本的な設定については、『ASDM 用の HTTPS アクセスの許可』を参照してください。

  1. インターフェイスの設定

    1. Configuration > Interfaces > Add を選択して、インターフェイス Ethernet0(outside)と Ethernet1(inside)を図のように設定します。

      dia1.gif

      dia2.gif

    2. OK をクリックします。

      dia4.gif

      これを CLI で設定すると、次のようになります。

      interface Ethernet0
       nameif outside
       security-level 0
       ip address 192.168.200.1 255.255.255.0
      !
      interface Ethernet1
       nameif inside
       security-level 100
       ip address 10.77.241.142 255.255.255.192
  2. NAT 0 の設定

    1. Configuration > NAT > Translation Exemption Rules > Add を選択して、ネットワーク 10.77.241.128/26 からのトラフィックが変換なしにインターネットにアクセスできるようにします。

      dia3.gif

    2. OK をクリックします。

      dia5.gif

      これを CLI で設定すると、次のようになります。

      access-list inside_nat0_outbound extended permit ip 10.77.241.128 255.255.255.192 any
      nat (inside) 0 access-list inside_nat0_outbound
  3. ACL の設定

    Configuration > Security Policy >Access Rules を選択して、ACL を図のように設定します。

    Add をクリックして ACL 101 を設定し、ネットワーク 10.77.241.128/26 から発信されたTelnet トラフィックが任意の宛先ネットワークに到達できるようにし、それを outside インターフェイス上の発信トラフィックに適用します。

    dia6.gif

    OK をクリックします。ssh および http トラフィックの場合も、同様に設定します。

    diag6-1.gif

    diag6-2.gif

    これを CLI で設定すると、次のようになります。

    access-list 101 extended permit tcp 10.77.241.128 255.255.255.192 any eq telnet
    access-list 101 extended permit tcp 10.77.241.128 255.255.255.192 any eq ssh
    access-list 101 extended permit tcp 10.77.241.128 255.255.255.192 any eq www
    access-group 101 out interface outside
  4. タイムアウトの設定

    Configuration > Properties > Timeouts を選択し、さまざまなタイムアウトを設定します。このシナリオでは、すべてのタイムアウトに対して、デフォルト値のままとします。

    dia8.gif

    これを CLI で設定すると、次のようになります。

    timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
  5. Service Policy Rules の設定

    Configuration > Security Policy > Service Policy Rules > Add を選択してクラス マップおよびポリシーマップを設定し、TCP 接続タイムアウトを 10 分にします。そして、outside インターフェイスのサービス ポリシーを図のように適用します。

    1. Interface ラジオ ボタンを選択して、作成する outside - (create new service policy) を選択し、ポリシー名として telnet を割り当てます。

      dia9.gif

      Next をクリックします。

    2. クラス マップ名 telnet を作成し、Traffic match criteria の Source and Destination IP address (uses ACL) チェックボックスを選択します。

      dia10.gif

      Next をクリックします。

    3. ネットワーク 10.77.241.128/26 から任意の宛先ネットワークに発信される Telnet トラフィックに照合させるための ACL を作成し、それをクラス telnet に適用します。

      dia13.gif

      Next をクリックします。ssh および http トラフィックの場合も、同様に設定します。

      diag13-1.gif

      diag13-2.gif

    4. Connection Settings を選択して、TCP 接続タイムアウトを 10 分に設定し、Send reset to TCP endpoints before timeout チェックボックスも選択します。

      dia11.gif

    5. Finish をクリックします。

      dia12.gif

    これを CLI で設定すると、次のようになります。

    access-list outside_mpc_in extended permit tcp host 10.77.241.129  any eq telnet
    access-list outside_mpc_in extended permit tcp host 10.77.241.129 any eq ssh
    access-list outside_mpc_in extended permit tcp host 10.77.241.129 any eq www
    
    class-map telnet
     description telnet
      match access-list outside_mpc_in
    
    policy-map telnet
    class telnet
      set connection timeout tcp 00:10:00 reset
    service-policy telnet interface outside


初期タイムアウト

初期タイムアウトとは、ハーフ オープンの接続(3 ウェイのハンドシェイクが完了していない場合など)のことです。ASA 上では SYN タイムアウトとして定義されており、ASA 上の SYN タイムアウトのデフォルト値は 30 秒です。初期タイムアウトを設定する方法を、次に示します。

access-list emb_map extended permit tcp any any 
 
class-map emb_map
match access-list emb_map
  
policy-map global_policy
class emb_map
set connection timeout embryonic 0:02:00
 
service-policy global_policy global


確認

このセクションでは、設定が正常に動作していることを確認しています。

特定の show コマンドが、アウトプットインタープリタ登録ユーザ専用)(OIT)でサポートされています。OIT を使用して、show コマンド出力の解析を表示できます。

show service-policy interface outside コマンドを発行すると、設定を確認できます。

PIX#show service-policy interface outside

   Interface outside:
    Service-policy: http
     Class-map: http
      Set connection policy:
      Set connection timeout policy:
        tcp 0:05:00 reset
      Inspect: http, packet 80, drop 0, reset-drop 0

show service-policy flow コマンドを発行すると、特定のトラフィックがサービス ポリシーの設定に一致していることを確認できます。

次に出力の例を示します。

PIX#show service-policy flow tcp host 10.77.241.129 host 10.1.1.2 eq 23

   Global policy:
  Service-policy: global_policy

Interface outside:
  Service-policy: telnet
    Class-map: telnet
      Match: access-list 101
        Access rule: permit tcp 10.77.241.128 255.255.255.192 any eq telnet
      Action:
        Input flow:  set connection timeout tcp 0:10:00 reset


トラブルシューティング

接続タイムアウトが Modular Policy Framework(MPF; モジュラ ポリシー フレームワーク)でうまく機能しない場合は、TCP 初期接続をチェックしてください。この問題の原因としては、送信元と宛先の IP アドレスが逆転していることが考えられます。また、アクセス リスト内の IP アドレスの設定が間違っていて MPF 内で一致せず、該当アプリケーションでの新しいタイムアウト値の設定またはデフォルト タイムアウトの変更が行えないことも考えられます。接続の開始に合ったアクセス リスト エントリ(送信元と宛先)を作成し、MPF で接続タイムアウトを設定します。



関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報




Document ID: 68332