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

3. 物理的なセキュリティ

最初に考慮すべきセキュリティの層は,コンピュータシステムの物理的なセキュ リティです.誰がマシンへ直接触ることができるのか? 触ることができるべ きなのか? また,彼らがマシンをいじれないよう守れるのか? あるいは守る べきなのか?

物理的なセキュリティがどの程度必要になるかは,大抵の場合,状況や予算に よって決まります.

もしあなたがマシンを自分の家で使っているのならば,たぶん注意すべきこと はあまりないでしょう(子供やうるさい親戚からマシンを守る必要はあるかも しれませんが).研究室ならば,かなり注意しなければならないでしょ うが,ユーザはそのマシンで仕事をできる必要があります.そのためには以下 の各章が参考になるでしょう.あなたがオフィスにいるならば,終業後やあな たが席を離れているときにマシンを安全にしておく必要があるかもしれません し,その必要は無いかもしれません.会社によっては,コンソールを放置する ことはクビにされる程の規則違反です.

ドアの施錠やケーブル,鍵付きのキャビネット,ビデオ監視装置等のわかりや すい物理的な防御方法は全て良い考えなのですが,このドキュメントの守備範 囲ではありません :-)

3.1 コンピュータへの施錠

最近の PC ケースの多くには「鍵」が付いています.普通はケースの前面に鍵 穴があり,鍵を施錠か解除の位置にセットできるようになっています.ケース の鍵によって,何者かが PC を盗んだり,ケースを開けて直接ハードウェアを いじったり盗んだりすることを防ぐことができます.ケースによっては,フロッ ピーディスクや他の機器によるマシンの再起動を防ぐことができます.

マザーボードのサポートやケースの作りによっては,ケースの鍵で色々なこと ができます.多くの PC ではケースを開けるためにはこれを壊さなくてはなり ません.また,新しいキーボードやマウスを挿せないものもあります.詳しく はマザーボードやケースの説明書を読んでください.通常,鍵の質はとても低 く,攻撃者は偽造によって簡単に破ることができるのですが,それでも鍵はと ても便利な機能になり得ます.

ケース(特に Sun SPARC や Macintosh)によっては,背面にドングル(dongle) が付いていて,これを通してケーブルを繋げば,ケーブルを切るかケースを壊 さなければ攻撃者はケーブルを繋ぐことができません.これらに単に南京 錠や連結錠を付けることで,マシンを盗もうとしている人への大きな抑止効果 が得られます.

3.2 BIOS のセキュリティ

BIOS はもっともハードウェアに近いレベルのソフトウェアで,x86ベースのハー ドウェアの設定及び操作を行います.LILO 等のブートローダは,BIOS にアク セスして Linux マシンをどうやってブートさせるか指示します.Linux の他 のプラットフォームでも同様のソフトウェアがあります(Mac や 新しい Sun の OpenFirmware, Sun の boot PROM 等).BIOS の設定で,攻撃者がマシンを 再起動して Linux システムを操作するのを防ぐことができます.

多くの PC BIOS では起動パスワードの設定をすることができます.これはそ んなに安全ではありません(BIOS はリセットすることができますし,ケースを 開けることができるなら取り外すこともできるでしょう)が,抑止効果は大き いでしょう(時間かせぎにもなりますし,システムをいじった痕跡も残るから です).同様に S/Linux (SPARC(tm)プロセッサのマシン用の Linux)では, EEPROM を設定して起動パスワードをかけることができます.これで侵入者を 足止めできるかもしれません.

多くの x86 マシンの BIOS では,この他にも役立つセキュリティ設定を色々 指定できます.BIOS のマニュアルを調べるか,次回のマシン起動時にチェッ クしてみましょう.例えば,フロッピーディスクでの起動を禁止できる BIOS もありますし,一部の設定にパスワードをかけることができる BIOS もありま す.

注意: サーバマシンを管理していて,起動パスワードを設定してい る場合,人がいないとマシンは起動しません.停電などの時は,マシンの所に 行ってパスワードを打ち込んでやる必要があることを覚えておきましょう. ;-(

3.3 ブートローダのセキュリティ

色々なブートローダにも起動パスワードを設定することができます.例えば LILO を使っている場合には,passwordrestricted の 設定を調べてみましょう.password は起動時に必ずパスワードを要 求するようにします.restricted の場合は,LILO プロ ンプトに対してオプション(single等)を指定した場合だけ起動パス ワードを要求するようになります.

パスワードを設定したら,これを忘れてはならない点に注意してください.:-) また,気合いの入った攻撃者に対しては,このようなパスワードは単なる足止 め程度にしかならないことも忘れてはいけません.この方法では誰かがフロッ ピーディスクから起動してルートパーティションをマウントすることを防ぐこ とはできません.ブートローダと組み合わせたセキュリティ手法を使う場合に は,コンピュータの BIOS でフロッピーディスクからの起動を無効にすること ができますし,BIOS をパスワード保護することもできます.

LILO 以外のブートローダ(grub, silo, milo, linload 等)のセキュリティ関連情報をご存知ならば,ぜひお知らせ ください.

注意: サーバマシンにパスワードを設定した場合,人がいないとマ シンは起動しなくなります.停電などの場合でも,マシンのところ に行ってパスワードを打ち込まなければならないことは覚えておきましょう. ;-(

3.4 xlock と vlock

頻繁にマシンから離れて出歩くならば,コンソールに「鍵」を掛け,誰もマシ ンをいじったり,作業の様子を覗けないようにしておくと良いでしょう. このようなプログラムとして,xlockvlock の 2 つを 紹介します.

xlock は X のディスプレイをロックします.X をサポートしている Linux のディストリビューションならば,普通 xlock はインストールされて いるでしょう.オプションについてはオンラインマニュアルを参照してほしい のですが,大まかに説明すると,ロックしたいコンソール上の xterm から xlock を起動すると,ディスプレイがロックされ,パスワードを入 力しないとこれを解除できなくなります.

vlock は Linux の仮想コンソールの一部あるいは全てをロックする ための簡単なプログラムです.現在作業中のコンソールを 1 つだけロックす ることもできますし,全てをロックすることもできます.仮想コンソールを 1 つロックしている場合,他の人はコンソールを使うことができます.ですが, ロックされている仮想端末はロックが解除されるまでは使うことができません. vlock は RedHat Linux には入っていますが,入っていないディス トリビューションもあるかもしれません.

当然ながら,コンソールをロックすれば何者かにあなたの作業をいじられるの を防ぐことはできますが,マシンを再起動されたりしてやりかけの作業が壊さ れることは防げません.また,ネットワーク上の他のマシンからコンソールを ロックしたマシンにアクセスして問題を起こすことを防ぐこともできません.

さらに重要な点としては,誰かが X ウィンドウシステムから完全に抜けて通 常の仮想コンソールのログインプロンプトに行くことや,X11 を起動した仮想 コンソールに行き X をサスペンドさせ,ユーザの権限を奪ってしまうことを 防げない点が挙げられます.ですから,完全に xdm の制御下において使うこ とだけを考えるのがよいでしょう.

3.5 物理的な攻撃を受けたことの発見

まずは,マシンをいつ再起動したのか必ず記録するようにしましょう.Linux は頑健で安定な OS ですから,あなたがマシンを再起動するのは OS のアップグレードやハードウェアの交換等の時だけでしょう.あなたが知らな いうちにマシンが再起動されていたら,これは侵入者に悪用されたことの印か もしれません.侵入者がマシンに物理的な攻撃をする手段の多くは,マシンを 再起動したり,電源を切ったりしなければならないからです.

ケースやコンピュータ周辺をいじられた兆候が無いかどうかチェックしましょ う.侵入者は普通ログから痕跡を消しますが,これらを全てチェックし,矛盾 が無いか調べるのも良いでしょう.

ログのデータを安全な場所(きちんと守られたネットワーク内部の専用のログ サーバ等)に置くのも良い考えです.あるマシンが悪用された場合には,ログ データはほとんど役に立たなくなるからです.というのも,侵入者は大抵ログ も書き換えてしまうからです.

syslog デーモンを設定して,ログを自動的に中央のログサーバに送るように することもできますが,これは通常は平文のデータで送られます.したがって, 侵入者は転送されているデータを見ることができます.これにより,公にする つもりのないネットワーク関係の情報が洩れてしまうかもしれません.データ を送る際に暗号化することができる syslog デーモンもあります.

syslog のメッセージの偽造は容易である点にも注意してください.これを悪 用するためのプログラムも出回っています.syslog はローカルホストから出 されたと言っているネットワーク経由のログエントリであっても,本当の送信 元を示すことなく受け付けてしまいます.

ログを調べる際には以下の点に注意します.

システムログデータについては,この HOWTO 内の 後の章で説明します.


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