1

Plone 4.01 インスタンスの最近の監査から:

  1. 可能であれば、セッション Cookie に保存されているユーザー名を暗号化するか、ユーザー名の代わりにワンタイム セッション ID を使用して (サーバー側で) ユーザーを識別します。

    • ユーザー名は、簡単にデコードできる base64 エンコーディングを使用してアプリケーション セッション Cookie に保存されました。
  2. ユーザーがログアウトするとすぐにセッション ID を無効にします。

    • PLONE アプリケーションからログアウトすると、アプリケーションは Cookie を削除しますが、ユーザー セッション ID は無効にしません。また、アプリケーションで 2 度目の認証を行っても、以前のセッション Cookie は無効にならなかったことにも注意してください。

可能であれば、これらの調査結果を解決するために別の製品をスタックに追加しないことをお勧めします。

ところで、私たちは Beaker をインストールしており、これはサイトの e コマース エリアの一部としてパブリック アカウントに使用されていますが、コンテンツ管理者/作成者は監査結果を引き出している標準の Plone ログイン/セキュリティ メカニズムを使用しています... Beaker はコンテンツ作成者にも再利用できるのではないでしょうか? これが良いアイデアかどうかはわかりませんが...

ところで、私たちはすぐに Plone 4.2 にアップデートしています。

4

1 に答える 1

2

Cookie のセキュリティに関心がある場合は、常に SSL 暗号化を使用する必要があります。たとえば、同じユーザー名がページ出力に含まれているため、Cookie にも同じユーザー名が含まれていること自体は情報漏えいではありません。

Cookie は、期間が限定された暗号化ハッシュを使用します。デフォルトは 12 時間で、その後 Cookie は受け入れられなくなります。

このタイムアウトを下げることができます:

  1. plone インスタンスの ZMI に移動します

  2. acl_usersフォルダーを見つけてから、sessionプラグインを見つけます。

    ZMI のセッション プラグイン

  3. タブに移動Properties(一番右のタブ)

  4. 「Cookie 有効性タイムアウト (秒単位)」プロパティを新しい値に変更します。

ただし、その下にある「更新間隔 (秒単位、更新を無効にする場合は -1)」の値に注意してください。署名された Cookie が更新間隔よりも古い場合は常に、新しい Cookie が生成され、Cookie の有効期間が更新されます。したがって、デフォルトでは、1 時間に 1 回、12 時間有効な新しい Cookie が発行されます。

Cookie の有効性タイムアウトが更新間隔を下回らないようにする必要があります。これらの値を非常に低く設定した場合は、定期的な AJAX 'ping' リクエストを使用して、ユーザーがまだサイトを使用している間、Cookie を最新の状態に保つことを検討してください。

実際、この ping を実装するための機能がplone.session既に含まれています。コントロール パネルに「Session refresh support」アドオンをインストールして有効にするだけです (「Site setup」 > 「Add-ons」アドオン アイコン> 「Session refresh support 3.5」をチェックし、「Activate」をクリックします)。これにより、javascript ライブラリがインストールされ、現在のページが読み込まれている間にマウスまたはキーボードの操作があった場合、サーバーに対して 5 分ごとに ping が送信されます。

于 2012-09-07T11:01:46.790 に答える