Contentsパケットフィルタとはパケットフィルタの動作インタフェースへの適用のポイントアプリケーションの通信の前提パケットフィルタとはパケットフィルタとは、ルータを通過するパケットを特定の条件に基づいて許可したり、破棄したりする機能です。通常のルータは、受信したIPパケットの宛先IPアドレスとルーティングテーブルを見て、転送先を判断します。ルーティングテーブルに一致するルート情報があれば、そのパケットをネクストホップへと転送します。万が一、不正な通信であったとしても、パケットはルーティングされてしまいます。そこで、パケットフィルタにより、不正な通信のフローのパケットを破棄して、セキュリティを確保します。パケットフィルタはアクセスコントロールリストの最も多い用途です。パケットフィルタの動作パケットフィルタは、アクセスコントロールリストでフローを識別します。識別したフローのパケットを通過(permit)させるか、破棄(deny)するかを決めます。パケットフィルタのときは、アクセスコントロールリストのpermitとdenyは言葉通りに解釈してください。permitは「通過させる」で、denyは「破棄する」です。パケットフィルタを行うときは、アクセスコントロールリストをインタフェースに適用します。インタフェースに適用するときにインバウンド/アウトバウンドの2つの方向があります。アクセスコントロールリストをインタフェースに適用するときには、インバウンド方向、アウトバウンド方向に対してそれぞれ1つです。効果的なパケットフィルタを行うためには、インバウンド/アウトバウンドの違いをしっかりと把握しておくことが重要です。インバウンドとアウトバウンドルータがフローのパケットをルーティングするときには、次の3つの動作を行っています。ルーティング対象のパケットを受信ルーティングテーブルから宛先IPアドレスに一致するルート情報を検索してネクストホップと出力インタフェースを決定(ルーティング処理)出力インタフェースからパケットを送信1.と2.の間でアクセスコントロールリストをチェックするのがインバウンド方向です。2.と3.の間でアクセスコントロールリストをチェックするのがアウトバウンド方向です。インバウンドでアクセスコントロールリストを適用すると、ルーティング対象のパケットを受信してルーティングテーブルの検索を行う前にリストの条件をチェックします。permitされたフローのパケットのみがルーティング処理されて、出力インタフェースから送信されるようになります。アウトバウンドでアクセスコントロールリストを適用すると、他のインタフェースで受信しルーティング処理されたパケットを出力するときに、リストの条件をチェックします。permitされたフローのパケットのみが出力インタフェースから送信されます。インバウンドとアウトバウンドなお、パケットフィルタはルータを通過するフローのパケットのみが対象です。ルータ自身が送信するパケットは対象外です。ルータのコンソールからPingを実行した場合、アウトバウンド方向で適用したアクセスコントロールリストの対象外です。Routing)の設定で実現できます。インタフェースへの適用のポイントパケットフィルタのためアクセスコントロールリストをインタフェースに適用するときのポイントは、これまでに何度も触れているとおり「通信は原則双方向である」ということをしっかりと意識することです。通信させるには行きと戻りのフロー両方をpermit通信は双方向で何らかのリクエスト(行きのフロー)に対してリプライ(戻りのフロー)が返ってきます。アプリケーションの通信を成立させるためには、当然ながら、行きと戻りの両方のフローがpermitされるようにしなければいけません。戻りのフローをpermitすることを忘れてしまって、「パケットフィルタの設定をすると、まったく通信できなくなった」というのはとてもありがちな設定ミスです。通信できなくするには行きまたは戻りのフローをdenyまた、不要なアプリケーションの通信ができなくするためには、行きのフローか戻りのフローのどちらかをdenyすればよいです。場合、行きのフローをdenyします。通信を止めるならば、行きのフローをpermitしても意味がなく、ルータやネットワークリソースを無駄に消費してしまうからです。denyするときもアウトバウンド方向よりもインバウンド方向の方がルータのリソース消費を抑えることができます。通信をとめる場合クライアントとサーバの位置関係は固定されているわけではないさらに、クライアントとサーバの位置関係は相対的で固定されているわけではないことにも注意が必要です。利用するアプリケーションの通信であるWebアクセスでも、次の2つのアクセスは違うものです。Webアクセスの例この図の社内のネットワーク構成はものすごく簡略化しています。インターネットへ公開する公開サーバとクライアントPCは同一ネットワークにすることはまずありません。アクセスコントロールリストを適用するインタフェースを集約するパケットフィルタを行うためには、必要な通信について行きのフローと戻りのフローの方向もきちんと考慮することが重要です。設定はどのようにでもできますが、たくさんのアクセスコントロールリストを作成していろんなインタフェースのインバウンド/アウトバウンドで適用すると煩雑になってしまいます。いろんなインタフェースにアクセスコントロールリストを適用する代わりに、「制御したい通信が必ず通るインタフェース」を見極めます。制御したい通信が必ず通るインタフェースのインバウンドとアウトバウンド方向それぞれに必要なフローをpermitしているアクセスコントロールリストを適用すると設定をシンプルにできます。社内ネットワークとインターネットの境界でインターネットとの通信を制御したいのであれば、インターネットに接続している側のインタフェースが制御したい通信が必ず通るインタフェースです。インターネット側のインタフェースのアウトバウンドとインバウンドにそれぞれアクセスコントロールリストを適用します。シンプルにするために、以降はWebアクセスだけに限定します。アウトバウンドに適用するアクセスコントロールリストでは、次のフローをpermitします。社内からインターネットWebサーバへのアクセスのリクエストのフロー(1)インターネットから社内Webサーバへのアクセスのリプライのフロー(2)インバウンドに適用するアクセスコントロールリストでは、次のフローをpermitします。WebアクセスについてのACLの例もちろん、Webアクセス以外にもいろんなアプリケーションのフローがあります。それらのフローも同様に考えて、必要なフローだけをpermitできるようにします。アプリケーションの通信の前提アクセスコントロールリストでのパケットフィルタを行うときには、アプリケーションの通信を行うための大前提も考慮してください。ルーティングプロトコルでルーティグテーブルを作成するこのアプリケーションの通信の大前提を満足するためにアクセスコントロールリストの条件には次の2点を考慮してください。DNSの名前解決ができるようにpermitするルーティングプロトコルをpermitするTCP/IPの通信を行うためには、IPアドレスを指定してIPパケットを送信します。宛先IPアドレスが分かっていなければ通信自体が成立しません。宛先IPアドレスを求めるために、通常、DNSを利用します。DNSによる名前解決ができるようにしておかなければ、そもそもの宛先IPアドレスがわからなくなってしまいます。アクセスコントロールリストの条件では、必ずDNSをpermitするようにしてください。宛先IPアドレスまでルーティング可能でなければいけません。そのために、ルーティングテーブルに宛先IPアドレスに対するルート情報が必要です。ルーティングプロトコルによってルーティングテーブルを作成している場合は、アクセスコントロールリストの条件に必ず利用しているルーティングプロトコルをpermitするようにしてください。CCNA試験の問題ではDNSとかルーティングプロトコルをpermitするということをきちんと考えていません。実際にパケットフィルタの設定を行うときにはきちんと考えてください。Ciscoルータでアクセスコントロールリスト(ACL)を利用したパケットフィルタの設定は、以下の記事をご覧ください。ACLによるパケットフィルタの設定https://www.n-study.com/security-fundamentals/cisco-acl-packet-filter-configuration/パケットフィルタの設定手順パケットフィルタの設定手順は、次の2つです。会社概要サイトマップ。