SAINTを利用したセキュリティホールの発見

決して人に向けて使用しないで下さい(^^;)

SAINTとは?

 SAINTは、WWDSI(World Wide Digital Security Inc.)が無償で提供している、指定したホストに対して擬似アタックをかけることによりセキュリティホールを発見するためのツールです。WWDSIのSAINTのページのURLを示しておきます。

http://www.wwdsi.com/saint/index.html

 全てのセキュリティホールを探知するわけではありませんが、ネットワーク越しにアタックすることが可能"かもしれない"サービスや設定を検知して、その危険度別にアラートを出し、その対策をアドバイスしてくれます。

 もっとも、SOHOレベルでは端末の前に座る人間は基本的に自分しかいないわけですから、アタックを受ける可能性があるとすればネットワーク越しになるわけで、その意味では非常に有用なツールであると言えると思います。

 

SAINTの入手とインストール

 SAINTにはrpm版のパッケージが用意されています。特にTurbo Linux用にパッケージされた物ではなく、一般的なRedhat用のようですが、私が試した限りでは全く問題なく動作しています。rpm版のパッケージは、以下のURLのディレクトリ配下にあります。

ftp://ftp.wwdsi.com/pub/saint/RPM/

 ちなみに、私が利用しているのはVer.3.0-3ですが、現在(2000年11月20日)の最新版はVer.3.1.1-1のようです。ここから最新のrpmファイルを入手し、

rpm -Uvh saint*****.rpm

とすれば/usr/bin/saintにインストールされます。

 

SAINTの利用

 SAINTを利用するにはルート権限が必要です。起動前にsuしておいて下さい。ルート権限を持った状態で"saint"と入力すれば起動します。このため、おそらくリモートのブラウザから起動することは出来ません。

 SAINTはWWWブラウザをインターフェースとして利用します。私の場合はNetscapeがインストールされているので自動的にNetscapeが起動しましたが、manによると環境変数を設定すれば変更できるようです。

 SAINTを起動するとこのような画面が表示されます。セキュリティホールチェックを行うには、左側に並んでいるボタンの中から、"Target Selection"を選択します。

 "Target Selection"を選択するとこのような画面が表示されます。この画面ではセキュリティホールチェックの対象とするホストの入力(直接入力/ホスト名が書かれたファイルの指定のいずれか)、どの程度のレベルまでのチェックを行うか、対象とするホストがFirewallの向こう側にあるかどうかを指定します。ちなみに、もっとも厳しいチェック(Heavy+)を行うと、NTだとOSごと落としてしまうような擬似アタックをかけるので、注意しましょう。

 "Target Selection"の画面で必要なオプションを選択し、一番下にある"Start the Scan"のボタンを押しますと、このような画面が表示されます。要するにSAINTが出す情報がインターネット上をクリアテキストで流れるから、なるべくリモートホストに対して使用しないでね、といっているだけです。気にせずに先に進みましょう。画面で指示されている通り、一度戻って改めて"Start the Scan"のボタンを押します。

 そうすると画面が遷移して、実際の擬似アタックが開始されます。このような画面が表示され、画面にアタック内容の出力は出ますが、はっきり言って意味はなんとなくしか分かりません。一番下に"Data Collection Completed"と表示されたら終了です。右下の"Continue with report and analysis"というリンクをクリックすると、結果の画面に移ります。

 

SAINTの結果の見方

 結果画面としてこのような画面が表示されます。たくさん項目がありますが、重なっている部分も多いので、見るべき部分は限られています。

 まず"Vulnabilities"の中の"By Approximate Danger Level"を選択してみます。ここを選択すると、このような画面があらわます。ここでサンプルとして出した画面から分かるのは、少なくともSAINTがチェックした所ではセキュリティ的にほぼ問題がないということです。というのは、"Critical Problem"と"Areas of Concern"に一項目も表示されていないからです。

 私は何回かSAINTで試して指摘された弱点を修正したのでこのようになっていますが、最初はいくつもこの項目に出ました。実際に指摘されて修正した点としては、

・Sambaのアンインストール
・/cgi-bin/testcgiとprintenvの削除

などがあります。

 もし"Cretical Problem"や"Areas of Concern"に何かが表示されたら、そのリンクをクリックして実際に何が問題なのかを確認します。実際に表示される画面はこのような画面になります。

 右上に信号機のような物がありますが、これは危険度を示しています。一番上の赤がついているのがセキュリティ的に重大な欠陥があるということで、真中、下の順でだんだん重大性が下がってゆきます。先のサンプル画面はさほど重要な欠陥ではないということになります。

 この画面の中に発見された欠陥についての概要や背景、問題となる点と改善方法が詳細に説明されているので、ここの記述内容を参考に設定などのサービスを加えることになります。

 このように、SAINTは簡単な手順で効果的にセキュリティホールをチェックすることが出来ます。もちろんプログラムの実装に依存するセキュリティホールをふさぐためにはそのプログラム自体を更新する必要がありますが、ネットワークサービスは設定次第でセキュリティは強くも弱くもなるので、SAINTは非常に有効なセキュリティのチェック手段といえると思います。