我的服务器现在足够安全吗?

时间:2013-10-28 09:53:35

标签: php wordpress apache .htaccess security

好的,所以上周我的服务器被黑了。黑客攻击了一个过时的第三方编辑器(在PHP中)并在PHP中植入了一个后门脚本并对我的网站造成了严重损害。我花了整整一个周末清理后门脚本和他留在我服务器上的任何恶意代码。为了避免被黑客攻击,我在服务器上执行了以下操作:

  1. 在PHP中关闭file_upload。由于被黑客通过PHP上传了后门,我在php.ini中禁用了该功能。所以现在我只能通过ftp上传。

  2. 在php中禁用create_function。我的软件都没有使用此功能。黑客使用此函数的方式与eval()一样,以字符串形式执行命令。

  3. 在php.ini中禁用popen,exec,system,passthru,proc_open,shell_exec,show_source,phpinfo。这些函数主要由后门脚本用于修改我的文件和目录。

  4. 安装suhosin。查找在eval()中调用的合法函数,将它们放在suhosin.executor.eval.whitelist中。黑客将恶意代码放入我的程序中,并使用base64_encode对其进行取消,然后在eval()中执行它们。所以我只允许在eval()中调用几个合法函数。

  5. 启用suhosin.executor.disable_emodifier。黑客在我的程序中添加了另一个被忽略的代码,并使用preg_replace()e修饰符来执行他在浏览器上放置的任何php命令。因此他可以通过浏览器上传或修改服务器上的任何文件。 (因为我关闭了file_upload,他无法上传,但他仍然可以根据需要修改和删除文件)。

  6. 通过禁用create_function,preg_replace()e修饰符和限制eval(),即使在我的服务器上有未清除的恶意代码,黑客也无法做任何事情。这些是PHP中最危险的3个函数。

    1. 将.htaccess添加到除根目录之外的每个文件夹,并禁止PHP直接从浏览器执行:
    2. 订单拒绝,允许 拒绝所有人

      我在Php之后添加了另一个*,因为我找到了一个名为missing.php.DISABLED的后门文件,如果我不在php之后放*,这仍然可以执行

      1. 将根目录(允许执行.php的唯一位置)设置为只读。将该文件夹中的所有文件设置为只读。所以黑客无法将任何新的后门脚本上传到可以执行php的唯一目录。他也不能修改该目录中的文件。

      2. 对于wordpress登录,我添加了

      3. 订单拒绝,允许 拒绝所有

        允许来自xxx.xxx.xxx.xxx

        到根目录下的.htaccess,其中xxx.xxx.xxx.xxx是我的ip。

        1. 将所有.htaccess设置为只读。
        2. 嗯,这是我可以做的,以加强我的服务器的安全性。我错过了什么吗?

          感谢您的建议。

1 个答案:

答案 0 :(得分:4)

除非您从已知的干净安装媒体中重新映像机器,否则您无法知道没有一个挥之不去的rootkit。