・セキュリティの基本は,大切なデータを扱っているサーバーを守ること。
 そのためには,サーバーOSのしくみを知っておく必要がある。
・とくに,サーバーに対してなんでもできる管理者権限を守ることが重要である。
・サーバー上で動作するソフトも,ユーザーと同じようにだれかの権限を持って動くので,
 これを不正侵入者が狙ってくることもある。

 セキュリティを学ぶうえで,最初に押さえておきたいのが,本当に守るべきものはなんなのか――。ここをぼかしたまま,具体的なフィルタリング,ファイアウォール,暗号,VPNといったセキュリティ技術を理解しても,本質は語れない。

 極論してしまえば,セキュリティの本質は,大切なデータを扱うサーバーを守ることだ。そのためには,サーバーOSのしくみを理解し,不正侵入者に対抗するためには,どこに気をつけなければならないか,ということを知っておく必要がある。

権限とはなんなのか

 サーバーOSを理解するうえで,重要なポイントとなるのが,「権限」という言葉である。

 サーバーOSは複数ユーザーが同時に利用できるしくみを備えていなければならない。そのためには,それぞれのユーザーに対して,してもよいことと,してはいけないことを明確に区分けする必要がある。例えば,だれもが自由にファイルを消去したり,サーバーをダウンさせるようなコマンドを実行できてしまっては困る。他人のメールが読めてしまったり,だれかの不注意で実行したコマンドでシステムが壊れてしまうようでは,サーバーをまともに運用できないからだ。このような理由により,サーバーOSには他人のファイルを読めないようにしたり,特定のユーザーだけがコマンドを実行できるようにするしくみが備わっている。これが権限の概念である。つまり,権限とはユーザーごとに割り当てられる,できることと,できないことのルールと考えればよい。

 こうした権限の中でも,とくに重要なのが,管理者権限である。一般のユーザーは,通常,自分に関係するファイルへのアクセスだけが許可され,サーバー・システム全体に影響が及ぶコマンドの実行などは禁止されている。しかし,なんでも許可される権限を持ったユーザーがいないと,サーバーの保守・管理が難しくなる。このなんでもできる権限が「管理者権限」である。この管理者権限を備えたユーザーとしてUNIXではroot(ルート),WindowsNT /2000ではAdministrator(アドミニストレータ)という名前のユーザーが標準で用意されている。

 この本質が理解できれば,サーバー管理者が守るべきものは,管理者権限であるとわかるだろう。

不正侵入者の手口は2種類

図 サーバー・ソフトもだれかの権限で動く
不正侵入者はサーバー・ソフトのバグを利用したバッファ・オーバーフロー攻撃などで,サーバー・ソフトが備えていた権限を奪おうとする。また,パスワードなどを類推して,他人になりすましてサーバーへログインしようとする。ネットワーク・セキュリティではこうした不正侵入者からシステムを守ることである。
 では,どうやって不正侵入者は管理者権限を奪おうとするのか。手口は2種類に分かれる([拡大表示])。

 まずは単純な方から説明しよう。それは,正規のユーザーになりすましてサーバー・システムへログインする方法だ。一般にサーバーOSは,あらかじめユーザー名とパスワードの組み合わせを一覧表形式のファイル(パスワード・ファイル)で管理している。ログインしようとするユーザーが,ネットワークにつながったクライアント・マシンやサーバーのコンソール画面で,ユーザー名とパスワードを入力すると,サーバーOSはパスワード・ファイルと照合して,合っていればログインを許可する。つまり,ユーザー名とパスワードの組み合わせが正しければ,ログインしてきたユーザーが不正侵入者であっても,サーバーOSはログインを許可してしまう。

 パスワードの管理を厳重にしなければならない,というのは,こうした背景があるためだ。

プログラムも権限を持って動く

 もう一つの手口は少々複雑だ。ポイントはサーバー・ソフトもユーザーと同じように,なんらかの権限を持って動いているということ。例えば,Webサーバー・ソフトはハードディスク上のHTMLファイルなどを読み出す権限がなくては,WebページをWebブラウザに返信できない。

 なかには,管理者権限を持って動くサーバー・ソフトもある。ハードディスクのバックアップを行うプログラムや,サーバー・システムへ直接アクセスする必要がある通信関連ソフトだ。

 不正侵入者は,こうしたソフトに対してなんらかの攻撃(例えば不正データを送りつける)を加えて,サーバー・ソフトをハングアップさせる。これが,いわゆるサービス妨害(DoS:ディーオーエス)攻撃である。

 さらには,サーバー・ソフトがハングアップする際に,不正侵入者が送り込んだ不正な命令を実行してしまうこともあり,これが悪用されると管理者権限も奪われてしまう。

 こうした攻撃は,サーバー・ソフトのバグを利用する。したがって,サーバー・ソフトにバグが見つかったら,すぐにバグ修正のパッチ(不具合の修正)を適用することが大切だ。また,サーバー上では,どんなサーバー・ソフトがどんな権限で動作しているのかを知り,不要なサーバー・ソフトは止めておくことも重要である。

三輪 芳久