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

8. セキュリティの準備 (ネットワークに接続する前に)

さて, システムのチェックが終わり, 安全かつ使いやすいものになり, ネット ワークに接続する準備ができました. ここでは, 実際に侵入された場合に備え ての準備のためにすべきことをいくつか挙げます. これを行っておけば, 侵入 者をすぐに追い払い, システムを復旧, 稼働させることができます.

8.1 マシン全体のバックアップの作成

バックアップの方法や保存媒体についての議論は本ドキュメントの範囲外です が, バックアップとセキュリティについて簡単に触れておきます:

1 つのパーティションに入っているデータが 650MB 以下であれば, CD-R にデー タをコピーすると良いでしょう(改竄が困難ですし, きちんと保管すれば長期 間保存できます). テープなどの読み書き可能なメディアは, バックアップが 終わり次第書き込み禁止にし, 改竄できないようにすべきです. バックアップ はオンラインでアクセスできない場所に置きましょう. 良いバックアップを作っ ておけば, 何かあった時にシステムをその時点に復旧させることができます.

8.2 適切なバックアップ計画の決定

6 本のテープを使い回すと管理が楽です. 4 本のテープを平日に使い, 残りの 2 本は 1 本ずつ金曜日に隔週で使います. 毎日インクリメンタルバックアップ を実行し, 金曜日のテープ(適切な方)にはフルバックアップを取ります. 特に重要な変更がシステムにあった場合や, 重要なデータを加えた場合には, バックアップを行うのが適切でしょう.

8.3 RPM ファイルデータベースや Debian のファイルデータベースのバックアップ

システムに侵入された時に RPM データベースを tripwire 代わりに 使うことができますが, これはデータベースが改竄されていないことが確実な 場合だけです. ですから, RPM データベースをフロッピーディスクにコピーし ておき, コンピュータから取り出して保管しておきましょう. Debian ディス トリビューションについても同様です.

ファイル /var/lib/rpm/fileindex.rpm/var/lib/rpm/packages.rpm は大抵フロッピーディスク 1 枚には収まらないでしょう. ですが圧縮すれば別々のフロッピーディスクに収めることができるはずです.

仮にシステムに侵入されてしまったときには, 次のコマンドを実行してシステ ムの各ファイルを検査します:

                        root#  rpm -Va
rpm のオンラインマニュアルを参照すれば, 出力を少なくするオプ ションに関する説明があります. RPM のバイナリ自体が改竄されていないこと も確認すべきである点は忘れないでください.

この方法を使う場合には, 新しい RPM パッケージを追加するごとに RPM デー タベースのバックアップを取らなければなりません. この方法を使うかどうか は利点と欠点を考え合わせて決めてください.

8.4 システムログの監視

syslog から得られる情報が改竄されないようにするのはとても重要です. まず, /var/log を 特定のユーザしか読み書きできないようにしておきましょう.

ログに出力されていること, 特に auth の項目には目を通しましょ う. 例えばログイン失敗が続いていると, これは侵入の試みの痕跡かもしれま せん.

ログがどこにあるかは ディストリビューションによって異なります. Red Hat のように "Linux Filesystem Standard" に準拠しているシステムであれば, /var/logmessages ファイルや mail.log 等 があるはずです.

自分が使っているディストリビューションがどこにログを出力しているのかは, /etc/syslog.conf ファイルを見ればわかります. これは syslogd (システムのログを取るためのデーモン)に, メッセージの 出力の仕方を指示するファイルです.

ログが長くなり過ぎないようにし, 検査もしやすくするために, ログをローテー トさせるスクリプトやデーモンを設定することもできます. 最近の Red Hat ディ ストリビューションでは logrotate パッケージを調べてみましょう. 他のディストリビューションにも同様の仕組みがあるはずです.

ログファイルが改竄されてしまっても, いつ, どんな種類の改竄が行われたの かを調べましょう. 長期間記録されていない項目はありませんか? (もしある ならば)バックアップのテープで, 改竄されていないログをチェックすること もできます.

侵入の痕跡を消すため, 侵入者は一般的にログファイルを改竄しますが, それでも思わぬところでチェックに引っかかることもあります. 入口を見つけようとしていたり, root 権限を得るためプログラムを不正使用しようとしている 侵入者に気づくかもしれません. 侵入者がログを改竄するより前に, ログを見ましょう.

su によるユーザ変更やログインの試み等のユーザアカウント情報を 含む auth の項目は, 他のログから分離すべきでしょう.

可能ならば, 重要なデータのコピーを安全なシステムに送るように syslog を設定しましょう. これにより, login/su/ftp 等の記録を 消して侵入者が足跡を消してしまうことを防げます. syslog.conf のオンラインマニュアルの @ オプションを参照してください.

高機能版の syslogd がいくつかあります. 例えば http://www.core-sdi.com/ssyslog/ にある Secure Syslog をご覧く ださい. Secure Syslog を使うと syslog のエントリを暗号化して誰も改竄で きないようにします.

別の高機能 syslogd としては syslog-ng があります. これを用いるとログの記録をより柔軟に行うことができ, またリモートの syslog のストリームを改竄できないようにします.

最後になりますが, 誰も読んでいないようなログは役に立ちません. 適当に間 隔を取ってログを読み, いつもはどんな感じであるのかを感覚的に知っておき ましょう. そうしておけば, 異常があった場合にすぐに見つけることができます.

8.5 システム更新パッケージの適用

ほとんどのユーザは Linux を CD-ROM からインストールします. しかし, セ キュリティのためのシステム修正は速いペースで行われているので, 新しい (修正済みの)プログラムが常にリリースされています. マシンをネットワーク に接続する前には, お使いのディストリビューションの FTP サイトをチェッ クし, インストールに使った CD-ROM より新しいパッケージを全て手に入れま しょう. これらのパッケージにはセキュリティ関連の重要な修正が入っている ことが多いので, これをインストールするのは良い考えです.


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