戻る
Linux サーバ構築とセキュリティ
このプログラムでは以下のような内容の講演が行なわれた.
- サーバ運用の基本方針
- Linux サーバ構築時の注意点
- 安全のためのアクセスとサービスの限定
- 防護策
- システムの運用と管理
平たく言えば, Linux でサーバを構築/運営するためのイロハである. ただし
全く知らない話はそれほど多くはなかった. 普段から雑誌記事, www を眺めて
いたおかげであるが, 逆に言うとそれだけでも十分情報を集められるというこ
とである.
プログラム参加者はやはり企業関係者が多かったが, 大学関係者と思われる参
加者も散見された. 他のプログラムに比べると参加者層は比較的分散していた
ようである. そのためか講演内容に偏りはなく, いろいろな環境で役立つ内容
であった.
講演全体を聴講した上で地球惑星専攻サーバの現状を評価すると,
- 専攻サーバシステムの全体的な設計・運営指針は, 講演内容と重なる所が
多かった. (ってことは, 我々は結構イケてる? )
- 日常的なシステムの運営と管理については, まだまだ考慮しなくて
はいけない点がありそう. 特に監視ツールについての情報収集, ノ
ウハウが足りない.
以下, 個別の内容について簡単に紹介していくことにしよう.
1. サーバ運用の基本方針
まず運用方針を明解にすることが始めの一歩である, ということが述べら
た. 具体的には,
- 何を守るのか.
- 危険なサービスは代替手段を考える.
- 今必要なサービスだけを行なう.
- セキュリティと利便性のトレードオフを意識する.
ということをサーバ構築前に考える必要がある, ということである. これらは
専攻サーバのシステム設計を行なう際にも検討した内容ではあるが, この程度
の検討は今どき「アタリマエ」なのかもしれない.
2. Linux サーバ構築時の注意点
ここでは Linux をサーバに用いる場合の注意点についての解説がなされた.
ただし Linux サーバを比較的貧弱なリソース上で構築・運用することを考慮
していた. そのためいまどきの PC を買ってきてサーバを構築する場合を考え
ると, ほとんど気にしなくてもよいようなことにまで丁寧に注意を払っていた.
いろいろ注意点について解説がなされていたが, その内で特に注意が必要と思
われたのは,
- 選択するディストリビューションは, バグやセキュリティーホールの
対応が速いものにする.
- インストールするパッケージは自分が把握しているパッケージだけ,
かつ必要最小限.
- インストールカーネルは使わない. 目的に合わせ最適化したものを使う.
- 情報収集は普段からまめに行なう.
の 4 点である.
ディトリビューションによってはインストールの便利な「おまかせパッケージ」
をいくつか用意してくれているが, サーバ構築の際にこれを使うのはあまり好
ましくない. 何がインストールされたか把握するのが困難だからである. した
がってたとえば Debian の場合面倒ではあるが dselect で一つ一つパッケー
ジを選択したほうが無難である.
インストールカーネルはインストールのためのものなので, 余計なドライバ,
余計なサービスが組み込まれている. 不要なドライバ等を除去し, 本当に必要
な機能を組み込むことで, 安全なシステムの構築が期待できる. とくに tcp
syn flood 攻撃に対しては, カーネルのリコンフィグで対応することができる
(tcp syn flood 攻撃とは TCP の hand shake を悪用した攻撃).
3. 安全のためのアクセスとサービスの限定
ここでの要旨は非常にわかりやすかった.
- 必要なサービスだけ提供する. 余計なサービスはしない.
- 同じサービス(アクセス方法)なら安全, 簡単な方法を採用する.
- 盗聴対策はスイッチの導入やネットワークの分割といった物理的手段
と, 経路の暗号化などのソフト的手段とを上手に使い分ける.
安全なアクセス方法として ssh, OTP, APOP, アクセス制御ツールとしては
tcp-wrappaer, ipchains が紹介されていた.
4. 防護策
システムに対する攻撃をいくつかに分類し, それぞれの対応策について解説
がなされた.
- 内部ユーザからの保護;
- (ネットワークを介した)外部からの保護
- 物理的攻撃からの保護
- 電気的攻撃からの保護
内部ユーザからの保護についての解説に多くの時間が削かれていた. システム
の敵は以外と内側に多いということなのかもしれない.
パーミッションに気をつける, Ctl-Alt-Del の無効化(/etc/inittab), sudo を
使う, ということが提案されていた.
5. システムの運用と管理
とくに「監視」と「記録」の必要性が強調された. ホストとネットワークの常
態を把握することにより, 障害発生時にそれが攻撃によるものかどうかの判断
がしやすくなる, というのがそのご利益である.
監視/記録の対象は,
- リソース; プロセス, メモリ, ディスク
- システム
- ネットワーク
である.
プロセス, メモリ, ディスクの監視は ps, top, df コマンドで可能であ
る. システム監視の基本は syslog. ただし万能ではないし syslog ポートそ
のものが攻撃されることもある. ファイルの改鼠を検出するためのツールとし
て tripwire がある.
log を見るのは結構面倒であるが, その作業を簡単にしてくれる log 解析ツー
ルがいろいろある. syslog-summary, Xlogmaster, swatch がその代表.
ネットワークの監視は NIC を promisc モードで起動すれば可能. しかし NIC
が接続されたネットワーク上のパケットがなんでもみえてしまうので注意が必
要である. iptraf, tcpdump 等のフリーソフトから商用の NFR(Network
Fright Recorder)までいろいろある. なおネットワークの監視は別途に監視ホ
ストを用意して行なうほうがよい.
6. まとめ
- 安全は当り前のことの積み重ねから.
- 情報収集をまめに(www, news, 雑誌, セミナー, ...)
- 自分でもサービスを使う.
- 複雑なシステムで危険を覆うのではなく, 危険の除去を考える.
- 機械化できるところはやる.
小高正嗣(odakker@gfd-dennou.org)
1999/12/14