我被要求修复在生产服务器上使用osCommerce构建的被黑网站。
该网站始终存在于远程主机上。没有离线 clean 版本。让我们忘记这一刻是多么愚蠢并处理它是什么。
通过删除网络外壳文件/上传脚本,它被多次黑客攻击而另一个人修复。
它经常被黑客攻击。
我该怎么办?
答案 0 :(得分:28)
因为您无法信任Web主机上的任何内容(可能安装了rootkit),最安全的方法是从头开始重建新的Web服务器;不要忘记更新所有面向外部的软件before bringing it online。在严酷的防火墙的快乐方面进行所有更新。
重建系统时,请务必特别注意正确配置。如果 Web内容由与 Web服务器的用户标识不同的Unix用户拥有,并且文件的权限设置为禁止写入,则Web服务器无法修改程序文件。
配置您的Web服务器的Unix用户帐户,使其只对其日志文件和数据库套接字具有写访问权限(如果它们位于文件系统中)。被黑客攻击的Web服务器仍然可以向客户端提供被黑客攻击的页面,但重新启动会“撤消”“实时黑客”。当然,您的数据库内容可能会被发送到Yakuza,或被认为您的数据应包含独角兽图片的人破坏。 Principle of Least Privilege将是一个很好的指导方针 - 您的网络服务器需要才能正确访问才能完成工作?只授予那个。
另请考虑部署mandatory access control系统,例如AppArmor,SELinux,TOMOYO或SMACK。正确配置的这些系统中的任何一个都可以控制系统被黑客攻击时可能损坏或泄露的范围。 (我已经在AppArmor上工作了十年,我相信大多数系统管理员可以在一两天的学习中学习如何在他们的系统上部署可行的安全策略。没有工具适用于所有情况,所以一定要确保阅读所有你的选择。)
第二次,请确保通过puppet,chef等工具管理您的配置,或者至少在revision control system中。
<强>更新强>
其他一些东西,与回到网上有点无关,但可能具有相同的教育性:从受感染的系统中保存硬盘,这样您就可以安装它并从另一个系统检查其内容。也许通过对受损数据进行取证可以学到一些东西:您可能会发现这些泄密事件发生在几个月之前并且一直在窃取密码或ssh
密钥。您可能会找到rootkit或进一步的漏洞利用工具。您可能会找到显示攻击来源的信息 - 也许的管理员网站尚未意识到他们已被黑客入侵。
在检查被黑网数据时要小心 - 你不认识的.jpg
很可能是一开始破解系统的漏洞,并且在'a'上查看它已知良好的'系统也可能破解它。完成后,您可以使用硬盘驱动器进行格式化。 (虚拟化或强制访问控制系统可能足以限制“被动”基于数据的黑客攻击,但没有什么比一次性系统更安心了。)
答案 1 :(得分:9)
获取该网站构建的osCommerce版本的新副本,并在新的新鲜osCommerce和被黑网站之间做差异。还要检查服务器上但不在osCommerce包中的文件。
通过手动比较差异,您可以追踪黑客可能创建或修改脚本的所有可能位置。
答案 2 :(得分:0)
我知道提供此解决方案的时间有点晚,但osCommerce开发的官方修复方法如下: http://library.oscommerce.com/confluence/display/OSCOM23/(A)+(SEC)+Administration+Tool+Log-In+Update
应用这些代码更改后,大部分实际工作都在清理网站。管理员登录绕过漏洞利用将导致攻击者通过文件管理器(通常)将文件上传到可写的目录(通常是images目录)。
还有其他文件也经常可写,可能会附加恶意代码。 cookie_usage.php和includes / languages / english / cookie_usage.php是受影响的常见文件,但在某些服务器配置中,所有站点文件都容易受到影响。
即使官方osCommerce修复与上述相关,我也建议也进行此更改:在上面的页面中,向下滚动,直到看到“更新PHP_SELF值”的链接。也做出这些改变。
这将纠正$ PHP_SELF报告的方式,并防止攻击者在试图绕过管理员登录时使用格式错误的URL。
我还建议您将htaccess基本身份验证登录添加到管理目录。
同时查看我编写的一个名为osC_Sec的插件,它是一个安全修复程序,虽然适用于大多数支持php的网络系统,但它专门用于处理旧版osCommerce中存在的问题。 http://addons.oscommerce.com/info/8283