0

PCI コンプライアンスに合格する必要があるサイトがあります。

Magento 1.5.1 (Magento は PHP ベースのシステム) を使用するサイトで、PCI コンプライアンス エラーは予測可能な Cookie セッション ID です。

これは、「フロントエンド」という名前の Magento の Cookie をランダムな UUID に変更したいという意味だと思います。これは、コアを改造または拡張しなくても実行できると思いますが、これを実行するための設定が見つかりません。

考え?

脆弱性の説明は次のとおりです。

リモート Web アプリケーションは、予測可能な Cookie ベースのセッション ID を使用しています。理想的には、セッション ID は、攻撃者が推測できないランダムに生成された数字です。セッション ID が予測可能な場合、攻撃者はアクティブな被害者のセッションをハイジャックする可能性があります。

4

1 に答える 1

0

これが役立つかどうかはわかりませんが、セッションのセットアップ方法を知っている限り、これは安全です。私のすべての電子商取引プロジェクトに直接影響するため、私より知識のある人に修正してもらいたいです。

私のオープンソースフレームワークcurrent_domain()から来た以下のコードで参照されている関数があります(リンクは関数を含むファイルへです)。動的ドメイン置換が必要ない場合は、そこにドメインをハードコーディングできます。

<?
ini_set( 'session.use_trans_sid',       false                   );
ini_set( 'url_rewriter.tags',           ''                      );
ini_set( 'session.use_cookies',         true                    );
ini_set( 'session.use_only_cookies',    true                    );
ini_set( 'session.name',                sha1( current_domain()  ) ); // current domain is a function implemented in tgsf
ini_set( 'session.cookie_lifetime',     0                       ); // until browser is closed.  I implement this server side

ini_set( 'session.hash_function',           1 ); // sha-1
ini_set( 'session.hash_bits_per_character', 6 );

// only if host is not localhost 
ini_set( 'session.cookie_domain', 'www.example.com' );

// use for localhost
//ini_set( 'session.cookie_domain', null );

ini_set( 'session.cookie_path', '/' ); // limit as much as you can for security
ini_set( 'session.cache_limiter',           'nocache' ); //prevents back button displaying a page after session is dead
ini_set( 'session.cookie_httponly',         true ); // helps prevent xss by preventing javascript access to the session cookie (on SOME browsers, not all)
于 2011-12-12T17:46:28.913 に答える