PloneHotfix-20110720に関連するドキュメント(和訳)
原文: Plone Hotfix CVE-2011-0720
攻撃による権限昇格への対策
リリースノート
動作検証環境: | Plone 4, Plone 3, Plone 2.5, Plone 2.1, Plone 2.0 |
---|---|
リリース状態: | Final release |
ライセンス: | GPL |
修正プログラムのインストール手順
修正プログラムCVE-2011-0720のインストール手順は、運用しているPloneのバージョンによってことなります。BuildoutでPloneをインストールしている場合は手順の後半のbuildoutを活用した方法で修正プログラムをインストールしてください。
既存データのバックアップ
データの安全を確保するために、修正プログラムを含むアドオンをインストールする前に、データとインストールファイルをすべてバックアップしてください。既に定期的にPloneのバックをとっている場合は、この手順をスキップして次に進んでください。
Ploneサイトをバックアップするには、Zopeインスタンスのフォルダ全体またはbuildoutフォルダ全体を安全な場所にコピーするのが簡単です。
推奨インストール手順
Ploneのインストールに関する経験あまりない場合は、下記の方法でPlone 2.5 - Plone 4に修正プログラムCVE-2011-720をインストールすることをおすすめします。
上記のダウンロードリンクより修正プログラムを取得します。必要であればmd5ツールによって取得したファイルの内容をチェックします。
- MD5 (PloneHotfix20110720-1.1.zip)
6e7bed686a0d3ddd5a50551ddf6f0187
- MD5 (PloneHotfix20110720-1.1.tar.gz)
a8c44e3e148ed7d91bff230987ef742c
- 取得したファイルをPloneを運用しているZopeインスタンスの"products"ディレクトリに設置します。
ファイルを解凍します。
LinuxやMacの場合は下記のコマンドになります:
$ unzip PloneHotfix20110720.zip
Windowsの場合は、7Zip等のZIPファイル圧縮解凍プログラムを使用します。
Zopeインスタンスをフォアグランドで実行し、修正プログラムがインストールされたことを確認します。
LinuxやMacの場合は下記のコマンドになります:
$ bin/instance fg
Windowsの場合は下記のコマンドになります:
> bin\instance.exe fg
(訳者追記) zeoインストールされている場合、instanceコマンドがありません。その場合は:
$ bin/client1 fg
- CTRL-Cを入力してコンソール内で起動しているZopeインスタンスを停止します。
Zopeインスタンスを起動します。
LinuxやMacの場合は下記のコマンドになります:
$ bin/instance start
Windowsの場合は下記のコマンドになります:
> bin\instance.exe start
(訳者追記) zeoインストールされている場合、instanceコマンドがありません。その場合は:
$ bin/plonectl start
修正プログラムの適応方法の優先順位:最優先としてzope2のproducts内設置。第二としてbuildoutによるインストール。第三として関連プロダクトの指定方式。
Buildoutによるインストール手順
経験豊富なPloneの管理者である場合で、buildoutベースでPloneをインストールしている場合、buildoutを使って修正プログラムCVE-2011-0720を適応することもできます。ただし、この方法を選択した場合、既存のPloneコンポーネントを誤って新しいバージョンのPloneコンポーネントを上書きしないよう注意する必要が有ります。Plone2.5、Plone3、Plone3.1でbuildoutを使用する場合は、このことに特に注意してください。
もしも、ここに記載されている内容が十分に理解できていない場合は、既に紹介した方法で修正プログラムを適用することを推奨します。
- buildout.cfgを探します。一般的には、Ploneをインストールした際のターゲットディレクトリ(/usr/local/Plone等)の"zinstance"の中にあります。
- テキストエディターでbuildout.cfgで開き、編集します。
[buildout]の"eggs"セクションを表示し、 Products.PloneHotfix20110720 を追記します。
[buildout] ... eggs = Products.PloneHotfix20110720
buildoutコマンドを再実行します。
LinuxやMacの場合は下記のコマンドになります:
$ ./bin/buildout -Nv
Windowsの場合は下記のコマンドになります:
> bin\buildout.exe -Nv
Zopeインスタンスを再起動します。
LinuxやMacの場合は下記のコマンドになります:
$ ./bin/instance start
Windowsの場合は下記のコマンドになります:
> bin\instance.exe start
修正プログラムのインストール後
修正プログラムが適用されるまでに、セキュリティ上の脆弱性を利用した形跡が無いかを確認します。
もしも、誰かがセキュリティの脆弱性を使って無断でユーザを作成した場合、発見するのは非常に難しいです。特に、多くのユーザを抱えるサイトや誰でも登録できるサイトでは更に困難になります。この状況を改善するためには、下記の手順に従い、修正プログラムに含まれているログ解析プログラムを使うと良いです。
修正プログラムに添付されているスクリプトを使用してでサイトのログ(Z2.log)を解析します。このツールが権限の昇格攻撃が発生していることを示した場合は、サイト内のユーザに関して再評価をすることを強く推奨します。このスクリプトは慎重を期して記述していますが、全てのアタックを発見するかに関しては保証の限りでは有りません。従って全てのサイトでユーザに関する再評価を実施することを推奨します。
管理者権限のユーザのチェック
この欠陥では攻撃者が新しいユーザ(管理者を含む)を作成することができるため、Ploneの"サイト設定"の"ユーザとグループ"で管理者権限を持っている全てのユーザーを閲覧し、未確認の管理者が登録されていないか確認します。
全ユーザのチェック
攻撃者は管理者の追加まででは行っていないが、サイトに被害を与えるに十分な権限や許可の必要なコンテンツを閲覧できるユーザを作っている可能性もあります。すべてのユーザーを確認することも重要です。また、他のユーザーのパスワードを変更することができますので、コンテンツ編集者がログインできることを再確認することが重要です。
管理者のパスワードを変更
攻撃者はこの欠陥を利用しサイトに存在するユーザや管理者に偽のログインクッキーを生成している可能性があります。管理者のパスワードの変更によって、システム側のログインクッキーを再生成し更新することで、攻撃者の手元にあるログインクッキーを無効化します。