文書番号 29535 最終更新日 2001-08-30 公開区分 一般公開 文書タイプ PROBLEM
製品名(バージョン)[コンポーネント] Oracle Internet Directory (2.0.X - 2.1.1.X) [Oracle_Directory_Server]
プラットフォーム(バージョン) すべてのプラットフォーム ( - )
関連文書  
概要 Oracle Internet Directory におけるバッファオーバーフローの問題
内容:
[問題]
[対象リリース]

  Oracle Internet Directory:  2.0.6.x
                              2.1.1.0.0
                              2.1.1.1.0
                              2.1.1.2.0
                              3.0.1.0.0 (2001/7現在 日本では未出荷)

[修正リリース]

  Oracle Internet Directory:  2.1.1.3.0
                              3.0.1.1.0

[対象プラットフォーム]

  全プラットフォーム

[問題]

  Oracle Internet Directory(以下、OiD)が不正なデータを受信すると
  OiDサーバーが異常終了することがあります。

[原因]

  バッファ管理が適切に行われていないためにバッファオーバーフローが
  起きることが原因です。

[回避策]

  OiD を起動する時、UNIXにおいてはrootユーザー、Windows NT、Windows2000
  ではAdministrator権限を持つユーザーで起動しないようにすることで
  バッファオーバーフローによるセキュリティへの影響を減少させることが
  できます。そのために以下の回避策を実行して頂くことをお勧め致します。

  全ての Unix プラットフォーム
  ----------------------------
    1. oidldapd のオーナーをrootユーザーからOiDをインストールした
       UNIXユーザーに変更するために

         chown <os_username> $ORACLE_HOME/bin/oidldapd

       を実行して下さい。

    2. oidldapd のパーミッションに設定されているSビットを削除するために

         chmod 710 $ORACLE_HOME/bin/oidldapd 

       を実行して下さい。

    3. oidmon のオーナーをrootユーザーからOiDをインストールした
       UNIXユーザーに変更するために

         chown <os_username> $ORACLE_HOME/bin/oidmon

       を実行して下さい。

    4. oidmon のパーミッションに設定されているSビットを削除するために

         chmod 710 $ORACLE_HOME/bin/oidmon 

       を実行して下さい。

    5. OiDインスタンスを再起動する前に、OiDモニターとOiDディスパッチャの
       ログファイルを削除(バックアップ)してください。

  Windows NT
  ----------
    1. スタートアップメニューから、[スタート] - [設定] -
       [コントロールパネル] を選択して下さい。
    2. [サービス]をダブルクリックして下さい。
    3. OracleDirectoryServiceを選択(クリック)して下さい。

    4. スタートアップをクリックして下さい。
    5. 「アカウント」ラジオボタンをクリックして下さい。
    6. Administrator権限を持たないOSユーザーのユーザー名、パスワードを
       入力して下さい。
    7. OKをクリックして下さい。

  Windows 2000
  ------------
    1. スタートアップメニューから、[スタート] - [設定] -
       [コントロールパネル] を選択して下さい。
    2. [管理ツール]をダブルクリックした後、[サービス]をダブルクリック
       して下さい。
    3. OracleDirectoryService を右クリックし、[プロパティ]
       を選択して下さい。
    4. [ログオン]タブをクリックして、「アカウント」ラジオボタンを
       クリックして下さい。
    5. Administrator権限を持たないOSユーザーのユーザー名、パスワードを
       入力して下さい。
    6. OKをクリックして下さい。

  また、ファイアーウォール、ルーター等でOiDが使用するポート番号 389 と 636 への
  アクセス制限を行うことでも不正アクセスを防止することができます。

   ***注***
   なお、この回避策を実行すると、1023番以下のポートで OiDインスタンス(oidldapd)を
   起動することができなくなります。
   そのため、以下のようにして起動時にポートを指定し、1024番以上のポートを
   指定します。
   (以下は、10389番をldapdのポートとして使用する例です。)

       oidctl instance=1 server=oidldapd flags='-p 10389'
   ********

[よくある質問とその回答]

  Q. 今回の問題はどのような環境で発生する可能性があるのでしょうか。
  A. 通常の使用方法では、不正なデータが発生することはありませんので
     この障害が起きる可能性は非常に低いと考えられます。
     社外からOiDサーバーに接続できる環境の場合では、故意に作成した不正
     データを受信する可能性がある為、回避策や修正リリースの使用をご検討
     下さい。

  Q. 知らないうちにOiDが起動されていることはないのでしょうか。
  A. OiDは明示的に選択した場合のみインストールされますので
     知らずに起動されているということはありません。

  Q. この障害の為にOiDが停止してしまいました。応急処置を教えて下さい。
  A. OiDを再起動して下さい。