LinuxのIPマスカレードでコスト要らずファイヤーウォール


 Linuxで簡単ファイヤーウォールの構築

 フリーUNIXであるLinuxにはIPマスカレードという簡易ファイヤーウォールともいうべき機能が標準で装備されています。

 IPマスカレードは本来,プライベートIPアドレスを持つ内部TCP/IPネットワークから、モデムなどによってグローバルIPアドレスが必要な外部インターネットへ接続可能とするためのプライベートIPアドレス/グローバルIPアドレス変換の機能として用意されているものです。

 しかし、IPマスカレードは単にプライベートIPアドレス/グローバルIPアドレス変換の機能としてだけに利用することができるだけでなく、インターネット側からローカルアドレス側へのアクセスを遮断するというファイヤーウォールの機能を非常に簡単に設定することができます。

 IPマスカレードはLinuxカーネル2.0.30から正式採用されました。
 カーネルにIPマスカレードの機能を追加するにはカーネルを再構築する必要があります。
 まず、カーネルのコンフィグレーションで以下の項目にYESを選択する必要があります。

 ●Enable loadable module support
 ●Netwaorking support
 ●TCP/IP support
 ●IP:forwarding/gatewaying
 ●Network firewalls
 ●IP:firewalling
 ●IP:masquerading
 ●IP:ipautofw masquerading
 ●IP:ICMP masquerading
 ●IP:always defragment
 ●IP:Dummy net driver support

 設定が終わればmakeしておきます。
 念のため記述しておくと・・・
  make config
  make dep
  make clean
  make
  make modules
  make install_modules


 次に、IPマスカレードのための設定ファイルを作成します。
 たとえば、以下のように記述します。

  ipfwadm -F -a -m -S 10.0.0.0/24 -D 0.0.0.0/0
  ipfwadm -F -p deny

 この例では10.0.0.*のプライベートIPアドレスから任意のインターネットアドレスへアクセスできます。
 また、それ以外は「deny」とすることによって、インターネット側からローカルネットワーク側には入ってくることはできません。

 最後に、プライベートIPアドレスを持つクライアントのネットワーク設定で、IPマスカレードを稼動させるLinuxマシンをゲートウェイに指定しておきます。

 Linuxは486程度の古いDOS/Vパソコンでも動作しますから、簡易なファイヤーウォールの構築にはうってつけでしょう。
 ただし、あくまでも簡易版ファイヤーウォールであり、パッケトレベルの遮断機能しかありませんから、FireWall-2などのような製品版ファイヤーウォールと同等のセキュリティレベルは求めないで下さい。
 より重要なネットワークを悪質なクラッカー達からから守るにはIPマスカレードでは不充分です。

情報化ヒント集(Tips)に戻る情報化ヒント集(Tips)に戻る
ホームページに戻る ホームページに戻る