トラフィックのフィルタリングとして使用されるACLは,前回学習した標準ACLだけでなく,さらに詳細な条件を指定してより細かく制御できる拡張ACLがあります。今回はこの拡張ACLと,名前付きACL,さらにはACLの応用を学びましょう。

拡張IP-ACL:より細かな条件指定が可能

 標準IP-ACL(標準ACL)は「送信元IPアドレス」のみを条件として,「許可」「拒否」を決定するACLです。よりきめ細かく制御したい場合は,拡張IP-ACL(拡張ACL)を使用します。拡張IP-ACLでは前回の「セキュリティ編<第1回> 標準ACL」で説明した以下の条件をすべて使用できます。

  • 送信元,あて先IPアドレス
  • IPヘッダの中身(ToS,フラグメント)
  • 使用プロトコル
  • 送信元,あて先ポート番号(TCP/UDP時)
  • ICMPタイプ(ICMP時)

 拡張IP-ACLのACL番号は100~199,2000~2699になります。拡張IP-ACLの設定は,オプションを使ってかなり詳細に条件を絞り込むことができます。

  • (config)# access-list [ACL番号] [permit | deny] [プロコトル] [送信元] {ポート} [あて先] {ポート} {オプション}
    • [ACL番号]
      • ACLの番号
    • [permit | deny]
      • 許可(permit)か拒否(deny)か
    • [プロトコル]
      • 使用するプロトコル
    • [送信元]
      • ACLの条件部分。送信元IPアドレスとワイルドカードマスク
    • [あて先]
      • ACLの条件部分。あて先IPアドレスとワイルドカードマスク
    • {ポート}
      • ACLの条件部分。ポート番号を指定する
    • {オプション}
      • TOS,ICMPタイプ,時間,フラグメント,TCPフラグなどを条件に追加できる

 詳細な設定が可能なため,拡張IP-ACLは煩雑になりがちです。基本的なポイントを覚えておきましょう。

  • [プロトコル] キーワード
    • 使用するプロトコルを記入する。ip,tcp,udp,icmpなど
    • tcpまたはudpを指定すると,ポート番号を条件として使用できる
    • ipを指定すると,tcp,udp,icmpのすべてのトラフィックを含む

 ipを指定した場合は,基本的なトラフィックをすべて含むと考えるとよいでしょう。「permit ip any any」や「deny ip any any」はよく使います。

  • {ポート} キーワード
    • プロトコルキーワードでtcpやudpを使用した場合にのみ使用できる
    • 記述方法は「lt,gt,eq」+「番号」
      • 「lt 番号」は,そのポート番号より小さい
      • 「gt 番号」は,そのポート番号より大きい
      • 「eq 番号」は,そのポート番号と等しい

 例えば,「lt 1024」と記述すれば,「1024番より小さいポート番号のトラフィック」という意味になり,ウェルノウンポートを示します。「gt 1023」では「1023番より大きいポート番号のトラフィック」で一般的なクライアントアプリケーションが使うポートになります。「eq 80」と記述すればHTTP,「eq 25」と記述すればSMTPを指すことになります。

  • {オプション} キーワード
    • ACLで使用するオプションを示します
    • よく使われるものとしては次のものがあります
      • 「log」は,ACLに一致したもののログを表示します
      • 「established」は,スリーウェイハンドシェーク後のTCPコネクションが確立されたトラフィックを示します

 拡張IP-ACLの例としては以下のようになります(図1図2)。

 図1 ACLの目的
ACLの目的

 図2 ACLの作成
ACLの作成