パケットフィルタリングとは?

 家庭用ブロードバンドルータを使ってインターネット接続を行うと、LANからインターネット側(アウトバウンド)へは全て通信を許可するけれども、インターネットからLAN(インバウンド)へは全て拒否するという設定がデフォルトですね。

 法人としてインターネットを利用している場合、何らかの形で通信を制限しなくてはいけないという場面も発生します。ファイアウォールやルータ等のネットワーク機器で特定のIPアドレス(またはFQDN)からのアクセスや、自ネットワーク内サーバの特定ポート番号(TCPかUDPかの指定も含む)に対してのアクセスを拒否する設定をパケットフィルタリングと呼びます。
 上述のネットワーク機器に限らず、Linuxマシンにインストールされているiptablesやfirewalld等のようなソフトウェアでパケットフィルタリングを行うこともあります。

 パケットフィルタリングルールを記述する場合の一般的な記述例ですが、
[ルール番号] [許可/拒否] [送信元IPアドレス] [送信先IPアドレス] [ポート番号]
のような形で書かれることが多いです。(送信元IPアドレス側のポートは固定されるわけではありませんので)

 複数のルールを書いて行くわけですが、記述したルールは上から順番に評価されます。どこかでルールにマッチした場合は、その後のルールについては参照しません。
 たとえば、以下のような形になります。

1 許可 * 10.0.1.1 80
2 許可 * 10.0.1.1 443
3 許可 10.0.0.1 10.0.1.2 22
4 拒否 * * *

 かなり簡略化していますが、説明のためですので御了承下さい。

 まず、1番を見ます。*は全てのIPアドレスを指します。送信元IPアドレスに関係なく、10.0.1.1の80番ポートに対する通信は許可します。もし、10.0.1.1の80番ポートに対する通信でしたら、これに該当しますので、この後のフィルタリングルールは参照されることはありません。
 1番に該当しなかった場合は、次に2番のルールを参照します。10.0.1.1の443番ポートに対する通信であれば、こちらを参照して、以下のルールはスルーします。同様に3番のルールに該当すれば、以下スルーで次のルールを参照します。
 4番は全てのIPアドレスから全てのIPアドレス・全てのポート番号に対して通信を拒否しています。
 1番から3番までの通信に合致しなかった場合は全て拒否する設定になっています。不用意な通信を許可しない(=必要最小限の通信しか許可しない)ように設定するために、最後に全ての送信元/送信先IPアドレス・ポート番号は拒否するという設定を明示的に入れておくことが重要です。
(注:機器によっては、全拒否設定を入れなくても有効になる場合もあるようですが、安全のため設定可能であれば設定しておくことをお勧めします。)
パケットフィルタリングとは?

  • このエントリーをはてなブックマークに追加

コメントをどうぞ