Jump to slide

APPI99 報告集 (KEK Proceedings 2000-17, pp19-26)
1999/7/13

KEK でのコンピュータセキュリティ対策

高エネルギー加速器研究機構, KEK

計算科学センター

八代茂夫

  1. はじめに
  2. 高エネルギー加速器研究機構(以下KEKと略す)内の計算機システムは国内外の大学や 研究所との共同研究のために, 機構内LANを経由してインターネットに接続されている. インターネットは当初には, 研究を目的とする限られた組織が接続されているだけで, セキュリティの問題[1]はそれほど重要でなかった. むしろ自由に利用できることが, 研究の道具として利用するために重要であった.

    その後, インターネットの利用価値と利便性が社会的に注目されるようになり, 一般の利用と商業化が進んだ. 不特定多数による利用が広がると同時に, ネットワーク環境は急激に改善されていったが, 同時にセキュリティの問題が無視できないものになっていった.

    KEKの計算機およびネットワークの管理は, 研究の促進を目的として, 利便性を追求する方向で設計されてきた. しかし, インターネット環境の変化により, 頻繁に攻撃を受け, 不正使用されるという事態になり, 対処策を検討し実施することになった.

  3. KEKの計算機環境
  4. KEKでは計算科学センター(以下センターと略す)の管理する大型計算サーバシステムや, 研究グループや研究者の所有する計算機システムといった, さまざまな計算機が, 実験データの解析, 実験データの収集, 数値シミュレーション, 加速器の設計, 加速器の制御, 研究に関する情報の交換などに使われている. 大多数の計算機は, データや情報の交換, および遠隔操作のために機構内LANに接続されている. つくば地区の機構内LANは, それぞれが研究グループに対応した14個のFDDIリング(ネットワーククラスター)と, それらを接続するネットワークスイッチから構成されている. それぞれの計算機は, 研究グループに応して, いずれかのFDDIリング接続されている. 機構内LANは, 国内外の共同利用者が使用ができるように, HEPnet (High Energy Physics Network) や HEPnet-J (HEPnet-Japan) としてインターネットに接続されている.

    センターの管理するつくば地区のサーバシステムは, 共通計算機システム(以下KEKCCと略す), Bファクトリー計算機システム, スーパーコンピュータシステム, 放射光計算機システム がある. これらは計算機の管理者が明確になっており, セキュリティ上の問題が起こった場合にも的確な対応が可能である.

    研究グループや研究者の所有する計算機システムは, 約300台のUNIXワークステーションおよび約1500台のパーソナルコンピュータ(PC)である. PCのOSはWindows, Mac, それと最近セキュリティ問題が多く起っているLinuxも少なくない. これらの計算機は, 管理者が明確で問題が生じた場合に直ちに対応できるものだけでなく, 一部は管理者が明確でなくなっている状態のものもある. また, 管理者が明確であっても常にセキュリティ対策をしているわけでない.


    図1 KEKのサーバシステムとネットワーク構成

  5. セキュリティ対策の経過
  6. KEK内に1990年ごろからUNIXワークステーションが広まり, 1996年1月には, センターが運用する共通計算機システムが, UNIXサーバシステムにダウンサイズされた.

    一方, 1997年8月頃からUNIXシステムに対する, httpdのphf攻撃, IMAPに対する攻撃. Sendmail に対する攻撃などが目立ち始めた. この間センターでは「パスワードの管理について」や「httpd の cgi-bin を利用した攻撃についての警告」の広報を発行してきた.

    攻撃が増える一方なので, 対症療法だけでなく予防的な対処策を検討することが必要であるということで, 1997年12月にセンター内に「セキュリティワーキングOループ」(以下SWGと略す)が設けられた. 1998年4月には改組され, さらに「セキュリティ・チーム」(以下STと略す)が新設された.

    SWGは,19名のKEK職員( 7名は計算科学センター)と2名の大学の共同利用者で構成された. 1998年度は毎月会合を持ち, KEKでのセキュリティ対策の基本方針と, 計算機の管理者に対するガイドラインを検討した. 日常的に起こるセキュリティの問題に対しては対応の方針を検討した.

    SWGは, 研究者を含めての方針を検討する組織であり, それに対して, 具体的な技術的問題の検討や日常的な問題への対応のための組織を, 計算科学センターに作ることが求められた. センターで検討した結果, 問題の緊急性から必要であるということになった. しかし専任のチームを作るための人材を緊急に確保することが困難なことから, ネットワークグループの4名, 大型計算サーバシステム担当の2名, 広報担当者の1名が兼任するということでSTが発足した.



  7. 基本方針の検討
  8. KEKのネットワークおよび計算機環境に関する立場として, 大学共同利用機関としてあるいは国際協力のために国内外の大学および研究所に対して, 利用環境を提供しなければならない. インターネット経由での, KEKの計算機利用の利便性を保ちながら,不正使用を防ぐという, 相反する問題の解決方法を検討する必要があった.

    SWGではまず, セキュリティ対策として何の対策するのか, その対策によって何を守るのか, ということを検討した.[2]

    不正アクセスによる被害として, (a)研究・業務マヒが引き起こされる, (b)システムあるいはデータが破壊される, (c)大事な情報が流出する, (d)不正アクセスの中継とされる, ということがあげられる. 議論を開始した時点では, KEKには, たとえば人命に関わるような緊急課題があるわけでないし, また機密情報があるわけではないので, データのバックアップの管理させ徹底させればよく, セキュリティ対策のような非生産的なことに労力を浪費するよりも, 生産的な仕事を優先させる方が全体的に能率的だという意見が少なくなかった. しかし, 議論を進めている最中にも, 不正アクセスを受け, その中には攻撃の「踏み台」にされるということも含まれていた. 様々な不正アクセスを経験することにより, 踏み台になることの重大性をあらためて認識した. 最終的に, インターネットの利用にあたっての, モラルと秩序を維持するために, セキュリティ対策を講じることは, インターネット利用者の義務であるという結論に達した.

    そして, a) 機構内外の計算機資源を不正に使用しない, b) 自分が使用・管理する計算機資源を他に不正に使用させない, c) 不正使用を発見したときは通報と対処を行う, d) 対処を怠った管理者の機器は, 本機構のネットワークから切り離す, という4項目からなるのコンピュータセキュリティの基本ルールを定めた.

  9. セキュリティ対策の実施
    1. 対策の実施項目
    2. 基本ルールが明確になったところで, 具体化の方策を検討して, (a)外部からの通信を監視するネットワーク・モニタリング, (b)外部からの通信を制御する接続制御, (c)セキュリティ関連の情報の発信, (d)不正使用に対する対処, を行なうことが確認された. これらを実現させるための技術的な活動はST が受け持ってきた. 以下, ネットワーク・モニタリングと情報の発信について説明する. 接続制御については別稿 [3] を参照のこと.

    3. ネットワーク・モニタリング
    4. 外部との通信は24時間行っており, 不正アクセスの監視は昼夜続けなければならない. 人間がこの監視を行うことは事実上できないので, ネットワーク・モニタリング・システムを導入することを検討した. このシステムでは, 通信ログを記録するだけでなく, リアルタイムで通信ログを解析し不正アクセスを検出する機能があり, 早急な対処を可能である.

      しかし, 自動的な解析機能は, あくまで不正アクセスである可能性の検出であり, 担当者がその警告に関する記録された通信ログを詳細に解析し, 該当ホストに関する調査を行うことが必要である. この作業は, 日常的に欠かさずにおこなうことが必要であり, 負担の高い業務となっている. また, 侵入手口が常に変化しており, それに追随するための継続的な技術の向上が要求される. 外部への業務委託化も検討しているが, セキュリティ情報を外部に委ねることになる問題, 個人の研究活動の情報の保護の問題など, 重要な検討すべき課題がある.

    5. 情報の蓄積と発信
    6. KEK全体のセキュリティを高めるためには, 計算機システムのすべての管理者および利用者が, セキュリティに関する知識と情報を共有する必要がある.

      SWGで検討したセキュリティに関する方針を徹底させ,新しい情報を伝達するために, メイリングリストによる情報の配布ルートの作成と, WWWによる情報提供 を開始した.

      メイリングリストでは, 緊急性のある情報や全体に徹底する必要のある情報を配布することを目的としている. 必要な人に的確な情報を配布できるようにする方法を検討した. その結果, (a)セキュリティ対策に関係するメンバー向の非公開情報, (b)システムの管理者向の情報, (c)一般ユーザ向の情報,と情報を内容により3つに分類して発信できるように, それぞれに対応する3種類のメイリングリストを作成した.

      WWWページでは, 系統だった情報を提供することができ, 誰もが必要な情報を必要なときに参照できる. SWGとSTの共同でセキュリティのページを作成し, 1998年12月10日から公開している. このページでSWGが決めたセキュリティ方針や, 次に説明するKEK RFSなどを公開している. セキュリティ対策の情報を公開することはセキュリティホールを示唆することになりかねないので, KEK内のホストからのみ参照可能と設定している.

    7. KEK RFS
    8. UNIXワークステーションが次々と導入されているが, そのシステム管理者が必ずしもセキュリティに関して十分な情報と関心があるわけではない. システム管理者に注意を促し, セキュアなシステムを構築することを支援するために, 各種ガイドラインを定め文書化することを始めた. この文書を KEK RFS (KEKコンピュータ・セキュリティ推奨事項, KEK Recommendation for Computer Security) と名付けた. 表2のようなテーマについての文書化を進めている.



    9. 計算機システムにおけるセキュリティ対策
    10. 筆者の管理している KEKCCでも, phf攻撃, named攻撃, SPAMメイルといったの攻撃を受けた. KEKCCの計算およびデータサーバでは, 分散システム環境を構築するミドルウエアは, セキュリティ上問題のある NISや NFSを使用せずに, DCE/DFS [4] を使用してセキュアなものとしている. しかしUNIXレベルでのセキュリティ対策は十分ではなかった.

      不正攻撃は常に進化し高度化している. 従って攻撃への対策には, 際限なく労力と時間と費用がかかる. しかもセキュリティ対策は時として計算機の使い勝手を犠牲にすることや, ユーザのプライバシーに触れることがある. 現実的には, 攻撃の傾向に合わせて, 最も効果的な対策から順におこなってゆくことになる.

      KEKCCでは, 不正攻撃への対策として, 外部からのアクセスの制御, サーバ機能の見直しと不要なサーバ機能の停止, ユーザのパスワードの保護を検討して実施した.

      1. 外部からのアクセスの制御
      2. TCPによるアクセスの記録および制御を行うために TCP wrappersを導入した. このソフトウエアでは, \3のサービスに対して, 特定のIPアドレスあるいはドメインからのアクセスを拒否したり, 受け入れるといった設定ができる. 通信は記録したり, 異常なアクセスをE-mailで通知する機能もある. KEKCCでは, 原則として共同利用者のいるドメインとの通信だけを受け入れる設定にした.

          表3 TCP wrappersが処理の対象とするサービス
            telnet, ftp, rlogin
            rsh, rexec
            tftp, finger, talk, systat
            etc.

        なお, 最近 Linuxでは TCP wrappersがOSと共にインストールされることが多い. しかし, hosts.allowと hosts.denyの設定はされないので自分で行わないとアクセス制御が機能しない.

      3. 不要なサーバ機能の停止
      4. 不正アクセスはUNIXで動作している各種サーバ機能の弱点を突かれることが多い. これを防ぐにはサーバ機能の更新情報を常に入手して, 最新のバージョンに保っていく必要がある. これは継続的な努力のいることである. OSのインストール時に標準値として各種のサーバを立ち上げるように設定するOSが多く, そのために多くのホストでは使用しないサーバ機能が動作する. これはサーバ機能を試したり使ってみたいユーザにとっては便利で使いやすいものであるが, セキュリティの観点からは非常に危険である. どのサーバが立ち上がっているのかを意識しないうちに, 動作していることになる. 最近多いLinuxに対する攻撃は, このような管理者が意識しないうちに動作しているサーバ機能の弱点を突かれることがおおい. 使用しないサーバ機能を動作しないようにすることは効果的なセキュリティ対策である. KEKCCでは, セキュリティ対策の一環としてサーバ機能の動作状況を見直して, 必要のないものを停止させた.

        表4 はinetd から立ち上げられるサーバ機能であり, サーバと位置づけて運用するのでなければ必要ないはずである. Rloginなどr-系の機能は便利であるが,あえて使用する場合にはセキュリティの観点から十分に検討する必要がある. TftpはX端末のブートサーバなどにならなければ必要ない機能である. Gopher, pop, imapはクライアントとして利用することはあっても, 通常はサーバになることはない. Fingerdなどでユーザ情報をネットワークに流すのは危険を誘致するようなものである. 以上のサーバ機能はセキュリティ向上のために /etc/inetd.confファイルのエントリをコメント化して, 停止した方が良い.

          表4 Inetd から立ち上げられるサーバ
          rlogind, rshd, rexec リモートログイン, リモート実行
          fingerd ユーザ情報の提供
          tftp 簡易ファイル転送サーバ
          gopher gopher サーバ
          popd, imapd

        表5 はブート時に立ち上げられるサーバ機能で, これらもセキュリティ向上のために停止した方が良い. Linuxの場合は /etc/rc.d/ の下で設定されており, /sbin/chkconfig -list で設定を確認できる. サーバ機能の停止および再起動は /usr/sbin/setupなどのツールでできる. NFS関係のサーバは, NFSを使用しないなら停止すべきであり, 使用する場合にはセキュリティの観点から慎重に設定する必要がある. Statd , named や routed といったネットワークのサーバ機能は通常の使用では必要ない. Ruserd, rwhod は fingerdと同様にユーザ情報をネットワークに流す. Httpd は Web サーバとする商 quot;豺膂奮阿砲歪篁澆靴進・・匹ぎ 動作される場合でもCGIなどは自信のない限り無効にする必要がある.

          表5 ブート時に自動的に立ち上げられるサーバ
          mountd, nfsbind, amd, etc. NFS関係
          statd ネットワーク・ステータス・モニタ
          named ドメインネームサーバ
          routed ルーチングデーモン
          sendmail 電子メイルサーバ
          ruserd, rwhod ユーザ情報の提供
          httpd Webサーバ

      5. パスワードの保護
      6. パスワードの保護は計算機の不正アクセスを防ぐための基本である. 以前から検討していたが, 実施の遅れていたパスワードのシャドウ化を実現させた. またリモートのホストへのログイン時に, ネットワークに流れるユーザのパスワードを暗号化できるように Secure Shell(以下SSHと略す) を導入した.

        SSHは, ローカルホストにクライアントを導入しただけでは使えず, リモートホストにサーバが導入されている必要がある. 全てのリモートログインのパスワードが暗号化されるためには, ユーザが使用する計算機全体に導入されるのが理想的である. X端末を利用する場合には, どうしてもX端末と最初にログインするホストとの間では, 生のパスワードが流れることになり, SSHで保護することができない. 現状では, このような限られた環境の中で, 全ての通信をSSHでおこなえる状態に達していないが, より安全な通信をするためにSSHを活用することができる. 少なくとも, 機構外との通信には全てのユーザが SSHを使うようにしてゆきたい.

    11. さいごに
    12. KEKでは国内外の共同利用者の便宜のために, ファイアウォールシステムの導入には慎重である. しかし不正アクセスを経験して, セキュリティ対策の重要性が認識されるようになった. SWGでの検討の結果, 従来はシステムの管理者まかせであったセキュリティ対策を, 組織的に取り組む体制ができた. 基本方針を定めて, ファイアウォールの機能である, 不正アクセスの監視, アクセス制御を開始して, 成果をあげている. またセキュリティ情報をシステム管理者やユーザに広報するルートを構築できた.

      不正アクセスの監視には, 日常的なマンパワーの確保と,技術の向上が必要である. 少ない人員の中, このための実行部隊をいかに確保するかが今後の大きな課題である.

      また, 国立天文台の千葉庫三氏の提案で,共同利用機関のコンピュータセキュリティ 関係の実務担当者の会合が1999年2月にKEK で開かれた. 今後も,共同利用機関としての対処策について情報交換と協議を 定期的に行なう予定である.

      なお, 本稿は http://research.kek.jp/people/yashiro/RepN/9903APPI/で参照できる.

    謝辞


    参考文献

    1. Practical UNIX & Internet Security, S. Girfinkel & Gene Spafford, O'Reilly & Associates, Inc., 山口英, 谷口功訳, オライリージャパン, 1998
    2. コンピュータ・セキュリティに対するKEKの取り組み, 湯浅富久子他, KEK Internal 99-3
    3. ネットワーク接続制御による不正アクセス対策, 橋本清治, 本論文集に収録
    4. Large-Scale File Service based on DCE/DFS in HEP, S. Yashiro et. al., KEK preprint 97-20