好的,所以我的服务器上周被黑了.黑客攻击了过期的第三方编辑器(使用php),并在PHP中植入了后门脚本,对我的网站造成了严重损失.我花了整个周末来清理后门脚本和他留在服务器上的所有恶意代码.为了避免再次被黑客入侵,我对服务器执行了以下操作:
>在PHP中关闭file_upload.由于黑客通过PHP上传了后门程序,因此我在php.ini中禁用了该功能.所以现在我只能通过ftp上传.
>在php中禁用create_function.我的软件均未使用此功能.黑客使用此功能的方式与eval()相同,以字符串形式执行命令.
>在php.ini中禁用popen,exec,system,passthru,proc_open,shell_exec,show_source,phpinfo.后门脚本主要使用这些功能来修改我的文件和目录.
>安装suhosin.查找在eval()中调用的法律函数,并将其放入suhosin.executor.eval.whitelist中.黑客在我的程序中放入了恶意代码,并用base64_encode将其清除,然后在eval()中执行它们.因此,我只允许在eval()中调用几个法律函数.
>打开suhosin.executor.disable_emodifier.黑客在我的程序中添加了另一个模糊的代码,并使用preg_replace()e修饰符执行了他在浏览器中放置的任何php命令.因此,他可以通过浏览器上载或修改服务器上的任何文件. (自从我关闭file_upload以来,他无法再上传任何文件,但仍然可以根据需要修改和删除文件).
通过禁用create_function,preg_replace()e修饰符并限制eval(),即使在我的服务器上留下了无法清除的恶意代码,黑客也无能为力.这些是PHP中3个最危险的函数.
>将.htaccess添加到除根目录之外的每个文件夹中,并禁止直接从浏览器执行PHP:
拒绝订单,允许
全部拒绝
我在PHP后面加上了另一个*,因为我发现了一个后门文件,该文件被命名为missing.php.DISABLED,如果我不将*放在php之后,仍然可以执行该文件
>将根目录(唯一允许执行.php的位置)设置为只读.将该文件夹中的所有文件设置为只读.因此,黑客无法将任何新的后门脚本上传到可以执行php的唯一目录.他也不能修改该目录中的文件.
>对于wordpress登录,我添加了
拒绝订单,允许
全部拒绝
允许来自xxx.xxx.xxx.xxx
到根目录中的.htaccess,其中xxx.xxx.xxx.xxx是我的IP.
>将所有.htaccess设置为只读.
好吧,这是我可以采取的措施,以增强服务器的安全性.我有想念吗?
感谢您的意见.
解决方法:
除非从已知清洁的安装媒体对计算机进行重新映像,否则您将不知道没有持久的rootkit.