次のページ 前のページ 目次へ

6. IP フィルタリングの設定(IPFWADM)

IPフィルタリングタイプのファイアウォールを設定する場合、まず最初にカー ネルに IP Forwarding 機能を組みこんで再構築し、パケットがきちんと転送 されていることを確認しておきます。Linux の IP Forwarding 機能はデフォ ルトでは有効になっているので、経路制御表を正しく設定していればネットワー クの内でも外でも自由に接続できるはずです。

しかし、ここではファイアウォールを設定しようとしていますので、この状 態から使える機能を制限していくことにします。

私のシステムではさまざまなスクリプトでファイアウォールの forwarding の設定と accounting の設定を行なっています。これらのスクリプトは /etc/rc.d/ から起動時に呼び出すようにしています。

デフォルトでは Linux の IP Forwarding は全てのパケットを forward する ようになっています。そのため、ファイアウォールを設定するためのスクリプ トでは、まず全ての forward を禁止して、以前に設定された forwarding ルー ルを全て消去する必要があります。このスクリプトがその機能を果します。

  #
  # setup IP packet Accounting and Forwarding
  #
  #   Forwarding
  #
  # By default DENY all services
  ipfwadm -F -p deny
  # Flush all commands
  ipfwadm -F -f
  ipfwadm -I -f
  ipfwadm -O -f

これで完璧なファイアウォールになりました。どんなパケットもこのホスト を通過できません。もちろん、必要なサービスはファイアウォールを通過さ せる必要があります。そのためには以下に示すスクリプトが参考になるでしょう。

  # 外部からの e-mail が自分のメールサーバへ届くことを許可する
  ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 192.1.2.10 25

  # 外部のメールサーバへ接続を許可する
  ipfwadm -F -a accept -b -P tcp -S 196.1.2.10 25 -D 0.0.0.0/0 1024:65535

[オリジナルではこうなっていますが、訳者は、この部分の設定は ipfwadm -F
-b a accept -b -P tcp -S 192.1.2.10 1024:65535 -D 0.0.0.0/0 25 だと思
います。]

  # 外部からの Web サーバへの接続を許可する
  /sbin/ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 196.1.2.11 80

  # 外部の Web サーバへの接続を許可する
  /sbin/ipfwadm -F -a accept -b -P tcp -S 196.1.2.* 80 -D 0.0.0.0/0 1024:65535 

  # DNS のやりとりを許可する
  /sbin/ipfwadm -F -a accept -b -P udp -S 0.0.0.0/0 53 -D 196.1.2.0/24

ファイアウォールを通過するデータに興味がある場合、次のスクリプトがパ ケットの記録を取るために使えます。必要に応じて記録するアドレスを増すか、 システム全体の記録を取るようにしてください。

                      
  # 現在のアカウントルールを消去
  ipfwadm -A -f
  # 新しくアカウントを開始
  /sbin/ipfwadm -A -f
  /sbin/ipfwadm -A out -i -S 196.1.2.0/24 -D 0.0.0.0/0
  /sbin/ipfwadm -A out -i -S 0.0.0.0/0 -D 196.1.2.0/24
  /sbin/ipfwadm -A in -i -S 196.1.2.0/24 -D 0.0.0.0/0
  /sbin/ipfwadm -A in -i -S 0.0.0.0/0 -D 196.1.2.0/24

フィルタリングファイアウォールを使う場合はこれで充分です。楽しんでく ださい :-)

6.1 フィルタリングファイアウォールの欠点

フィルタリング式のファイアウォールの欠点は、インターネットから内部のネッ トワークへアクセスできないことです。フィルタリング式のファイアウォール ではフィルタを通過できるように設定したサービスしかファイアウォール越し に使うことができません。プロキシサーバを使えば、外部ユーザはファイアウォー ルマシンにログインしてから、アクセス可能な内部ネットワークのマシンに自 由にアクセスできるようになります。

新しいネットワーククライエントやネットワークサービスは毎日のように開発 されています。それらのサービスを使う際には、それらのサービスをコントロー ルするための新しい方法を考える必要があります。


次のページ 前のページ 目次へ