我最近build立了一个Ubuntu 12.04服务器(Apache 2.2和PHP 5.3.10)。 当我testing它的时候,我注意到在Apache访问日志中,一个未知的IP地址正在尝试执行PHP CGI注入攻击,利用这里描述的已知缺陷:
http://www.osvdb.org/81633
幸运的是,我碰巧注意到这一点,我阻止了入侵者进入服务器,但注入攻击成功地改变了我的一些php.ini设置。 根据漏洞描述,唯一免疫注入的PHP版本是5.3.13和5.4.3+。 我试图通过使用这个(显然是stream行的)非官方的仓库升级到5.5:
add-apt-repository ppa:ondrej/php5
它升级了我的PHP,但它也摧毁了我的Apache设置,并将Apache升级到了2.4,这是我无法使用的。 所以我不得不回滚系统。
然后,我尝试使用apt-get升级到PHP 5.3.13,但显然5.3.10是官方Ubuntu 12.04回购版中的最高版本。 有点令人沮丧,至less可以说。
所以我的问题是:我怎样才能保护PHP 3.5.10或在Ubuntu 12.04上安装PHP的“安全”版本,这样我就可以防止这种攻击再次发生? 我绝对不想要Apache 2.4,我需要一个LTS服务器。
Canonical支持Ubuntu的这些修补程序。 你发现的事件在5.3.10-1ubuntu3.2中被修复。 看来最新的版本是5.3.10-1ubuntu3.9。 您可以返回查看各种版本的更改日志 。
我build议你保持你的发行版更新。 这些命令应该这样做。
sudo apt-get update sudo apt-get upgrade
如果你勇敢的话,就可以了。 如果没有,请经常运行以保持系统达到最新的补丁级别。