新年度に合わせて,新しくシステム管理者になった人も多いのではないだろうか。コンピュータやシステムにそれほど詳しくないにもかかわらず,管理者に指名された人もいるはずだ。今回のコラムではそんな「システム管理者“一年生”」に管理者としての心構えをいくつか贈りたい。

 まず覚えておいてほしいのは,システムはセキュアでなくてはいけないということである。2000年ほど前,ヴィトルヴィウス(Vitruvius)は建築についての覚え書きを書物*1 として著した。書物の結びでは,「十分な強さをもち,安全であること(=セキュアであること)」,「目的を適当に満たせること(=機能性)」,「芸術性に富んでいること(=意匠)」という言葉が記されている。門外漢なりに推測するならば,これらのバランスが取れてこそよい建築物であると言いたかったのであろう。現在でも十分通用する提言が2000年前に記されていることに,筆者は驚きを隠せない。強いて何かを付け加えるならば,「コスト」が挙げられるだろう。

 さらに驚くべきことは,第一の要件として「セキュアであること」を挙げている点だ。システムにも同様のことがいえる。「よいシステム」を作ることは,「よい建築物」を作るのと同じであると考えてほしい。

*1 :「Vitruvius: On Architecture」

責任範囲を明らかにする

 システム管理者になったからには,なんらかの“責任”を負わなくていけない。自分が責任を負うべき範囲や責任の所在をあらかじめ明らかにしておくことが重要だ。それに応じて,自分がやるべき仕事や何かあった場合の報告先などが変わってくるからだ。

 システムの所有者がシステム管理者を兼ねている場合には,責任の所在は明確である。クラッキング被害に遭ったり,何らかのインシデントを発生させてしまっても「自業自得」であり,所有者である管理者が全責任を負うことになる。

 問題はシステム管理者がシステムの所有者ではない場合である。SOHOのシステム管理者を除けば,多くの管理者はこのケースに当てはまるだろう。この場合,インシデントが発生すれば,すべてを管理者の責任にされる可能性がある。しかし,これは問題だ。システムを利用することで利益を享受するシステムの所有者(多くの場合は企業の経営者など)も責任を負うべきなのである。

 そのために,管理者はあらかじめ所有者に「既存のセキュリティ上の脅威」や「脅威が具体的に現れる程度」を説明し,必要な費用や人員を確保する必要がある。ここで所有者が費用を負担した範囲については管理者は責任を負う必要があるだろう。その範囲でインシデントが発生したら,それは管理者の責任だ。しかし所有者が費用を負担しない脅威に対しては,管理者の責任範囲外だ。実際にインシデントが発生した後にトラブルにならないように,システム管理者は責任範囲を明確にしておくべきだ。

危険性を“正確に”見積もる

 システム管理者はシステムに対する脅威の危険性を正確に見積もれなければならない。さもないと,危険性が低い部分にいたずらにコストをかけ,本当に危険な部分を手薄にしてしまう恐れがある。費用対効果を絶えず意識する必要がある。

 例えば,歩道橋がある場所で車道を横断する場合を考えてみよう。車の量が少ない場所ならば,歩道橋の階段を昇り降りするという“コスト”を支払わずに,車道を横断してもよいだろう。しかし,車の量が多かったり酔っているなど,危険性が高い場合には,コストを支払ってでも歩道橋を渡らなくてはいけない。“危険性”を正確に見積もって,それを避けるための“コスト”を支払うのである。

 システム管理も同様である。重要なデータを収めているサーバーや外部と接続しているサーバーなどの守りには,十分にコストをかけるべきである。しかしながら,重要度が低いサーバーや直接攻撃される可能性が低いサーバーなどは,必要最低限の守りで十分である。かけられるコストには限りがある。管理者には,危険性を正確に見積もる能力が要求される。

鵜呑み(うのみ)にしない

 悩み多きシステム管理者--特に“一年生管理者”--ならば,上司や身近な人に助けを求める機会は多いだろう。それらの助言を参考にするのはもちろん大切だ。しかし,それらを鵜呑みにしてはいけない。助言をそのまま実行したために何かインシデントが発生したとしても,助言してくれた人に責任をとってもらうわけにはいかないからである。システム管理者が担当するシステムは,誰か他人に責任を負わせられるものではない。

 助言などを基にして何らかの対策をシステムに適用する場合には,きちんと“裏”を取り,自らの責任で行うという姿勢が期待されよう。

情報を“的確に”入手する

 システムのセキュリティを維持するためには,日々公開されているセキュリティ・ホールなどの情報をウオッチする必要がある。もちろん,単にウオッチしているだけではだめだ。内容を的確に把握し,必要があれば自分が管理するシステムに回避策などを適用する必要がある。

 セキュリティ・インシデントに関するアドバイザリ(セキュリティ情報)として有名な「CERT Advisory」(発行はCERT/CC)を例にしてみよう。システム管理者としては,まずこのアドバイザリにたどり着くことが最低限必要である。

 次に,アドバイザリに書かれている内容を読み解く必要がある。試しに3月30日に発行されたアドバイザリ(CA-2001-05)を読んでほしい。

CERT Advisory CA-2001-05 Exploitation of snmpXdmid
CERT Advisory CA-2001-05 Exploitation of snmpXdmid(邦訳版)

 内容が読み解けただろうか? このアドバイザリの内容は以下のようにまとめることができるだろう。

  • Sun Microsystems 製OSにセキュリティ上のぜい弱性が発見され,それを衝いた攻撃が繰り返されている
  • 攻撃の結果,リモートからroot権限を奪取することが可能である
  • 原因はsnmpXdmid である
  • パッチは3月30日現在ではリリースされていない
  • 当座の回避策はsnmpXdmidを無効にすることである
  • プロセス一覧,待ち受けポート番号に不審なものがあるかどうか確認する必要がある

 今回のアドバイザリひとつとっても,これだけの情報がある。管理者は,これらを参考にして自分のシステムを守らなければならない。CERT/CCやベンダーなどから出されるアドバイザリの量を考えると大変な作業ではあるが,ぜひ実践してほしい。アドバイザリでまず注目すべきは,「該当するOSのバージョンが管理対象に含まれるかどうか」である。含まれる場合には,次の2点をチェックする必要がある。

  • 原因となるデーモン(プログラム)が誤って起動されていないか
  • 原因となるデーモンが必要であり,起動されている場合には不必要なアクセスを受け付けるように設定されていないか

◇ ◇ ◇ ◇ ◇

 システム管理は大変な仕事だ。しかし,誰かがやらなければいけない重要な仕事でもある。管理者は責任を持って日々の作業に当たってほしい。最初は不慣れでも,きちんと日々の仕事をこなしていけばスキルは確実に身につく。「継続は力なり」である。このコラムでは,システム管理者に有用な情報を今後も提供していくので,ぜひ参考にしてほしい。1年後,いや半年後には“立派な”システム管理者になっていることを期待している。


坂井順行 (SAKAI Yoriyuki)
株式会社ラック コンピュータセキュリティ研究所
sakai@lac.co.jp


 IT Proセキュリティ・サイトが提供する「今週のSecurity Check [一般編]」は,その週に起きたUNIX関連およびセキュリティ全般のニュースや動向をまとめた週刊コラムです。セキュリティ・ベンダーである「株式会社ラック」のスタッフの方を執筆陣に迎え,専門家の立場から解説していただきます。