ファイアーウォールとは ファイアウォールは、「信頼できるネットワーク」と「信頼できないネットワーク」の2つのネットワーク間のアクセスを制御するために使われる。具体的には、学内ネットワーク(「信頼できるネットワーク」)とインターネット(「信頼できないネットワーク」)の間で出入りするパケットを監視し、決められたルールをもとに通したり破棄したりする。このルールは、ネットワークをどのように運用したいかという、ユーザーのポリシー(ルール)を反映させたもの。 ファイアウォールを導入すれば、外部の攻撃から学内ネットワークを守り、セキュリティを大幅に高めることができる。しかし、ファイアウォールですべての攻撃を完全に防げるわけではない。例えば、コンピュータウイルスの侵入や、ファイアウォールをバイパスするコネクションや未知の脅威、内部的な脅威も保護することができない。 ファイアーウォールの防御の仕組み ファイアウォールの防御方法の仕組みとしては、大きく2種類のものがある。「パケットフィルタリング型」と「アプリケーションゲートウェイ型」である。 @「パケットフィルタリング型」ファイアウォールは、送信元や送信先のIPアドレス、ポート番号などによって通信データを通過させるかどうかを判断し、不正アクセスを防ぐことができる。ネットワーク層で動作するファイアウォールである。 ネットワーク上を流れるデータは、「パケット」と呼ばれる単位に分割され送信される。パケットには、 1. 送信元のIPアドレス 2. 送信元のポート 3. 送信先のIPアドレス 4. 送信先のポート の4つの情報が含まれている。「パケットフィルタリング型」は、これらの情報を基に、どこから送られてきたものかを判断し、それが設定されているIPアドレスかどうか、アプリケーションかどうかを判断し、通過させるかどうかを判断する。これにより、特定のデータだけを通すことができる。外部から流れてくる不要なデータを遮断したり、内部からのデータの漏えいを防ぐことができる。 最近ではこれを拡張した「ステートフルパケットフィルタリング」と呼ばれる方式も広く使われるようになっている。これは単純にパケット単位でフィルタリングするのではなく、アプリケーションレベルのデータのやりとりをチェックして、パケットを通過させるか否かを判断する方式である。  パケットフィルタリングはシンプルゆえに高速な処理を期待できるが、ルールの定義が煩雑になりやすいのが問題である。 A「アプリケーションゲートウェイ型」ファイアウォールは、通信を中継するプロキシサーバを利用し、学内ネットワークとインターネットの間で直接通信をできないようにする方式。つまり、アプリケーション層のファイアウォールということになる。 ポートの開閉について クラッカーは開いているポートから侵入するので、セキュリティを維持するには必要のないポートをふさぐのが基本。開いているポートを調べるなら、nmapコマンドを使うのが便利である。 Vine Linuxの場合、Vine PlusにnmapのRPMファイル(nmap-3.00-1.i386.rpm)が用意されている。これをダウンロードして(http://www.insecure.org/nmap/)以下のコマンドを実行する。 # rpm -ihv nmap-3.00-1.i386.rpm また、xnmapというX Window System用のフロントエンドも用意されている(nmap-frontend-3.00-1.i386.rpm)。これもダウンロードして、以下のようにインストールする。 # rpm -ihv nmap-frontend-3.00-1vl1.i386.rpm これでnmapが使えるようになる。 # nmap localhost Starting nmap V. 3.00 by fyodor@insecure.org ( www.insecure.org/nmap/ ) Interesting ports on localhost (127.0.0.1): (The 1504 ports scanned but not shown below are in state: closed) Port State Service 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 25/tcp open smtp 37/tcp open time 79/tcp open finger 80/tcp open http 98/tcp open linuxconf 110/tcp open pop-3 111/tcp open sunrpc 113/tcp open auth 139/tcp open netbios-ssn 513/tcp open login 514/tcp open shell 515/tcp open printer 901/tcp open samba-swat 982/tcp open unknown 5680/tcp open canna 22273/tcp open wnn6 Nmap run completed -- 1 IP address (1 host up) scanned in 1 second xnmapの場合は、以下のようになる。  ただし、他人のサーバに対してポートスキャンすると、クラッキングの準備をしていると勘違いされる可能性がある。nmapを使ったポートスキャンは、自分のサーバに対してのみ行うようにする。 クラッキングを受ける可能性がある不必要なポートは閉じておく必要がある. ここでも前述のnmapを使う.ダウンロードの方法は前述. [root@twincle root]# nmap localhost Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ ) Interesting ports on twincle (127.0.0.1): (The 1536 ports scanned but not shown below are in state: closed) Port State Service 21/tcp open ftp 22/tcp open ssh 53/tcp open domain 80/tcp open http 139/tcp open netbios-ssn /etc/inetd.confで使わないものはすべてコメントアウト. 後は再起動してポートが閉じているかを確認する. 参考 http://www.atmarkit.co.jp/fsecurity/special/17fivemin/fivemin00.html http://sukoburu.no-ip.com/linux/