我的网站需要通过PCI合规性。
使用Magento 1.5.1的站点(Magento是基于PHP的系统),PCI complience失败是可预测的Cookie会话ID。
我认为这意味着他们希望Magento中的cookie名为" frontend"更改为随机UUID。我认为没有修改或扩展核心可以做到这一点,但我找不到这样做的设置。
思想?
下面是漏洞描述:
远程Web应用程序正在使用可预测的基于cookie的会话 标识。理想情况下,会话ID是随机生成的数字,不能 被攻击者猜到了。如果会话ID是可预测的,则为攻击者 可以劫持一个活跃的受害者
答案 0 :(得分:0)
我不确定这是否会有所帮助,但这和我知道如何进行会话设置一样安全。我很想被比我更了解的人纠正,因为它会直接影响我所有的电子商务项目。
下面的代码中引用了current_domain()
函数来自我的opensource framework(链接到包含该函数的文件)。如果您不需要动态域名替换,则可以在那里对您的域进行硬编码。
<?
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)