木马和后门的查杀是系统管理员一项长期需要坚持的工作,切不可掉以轻心。以下从几个方面在说明Linux系统环境安排配置防范和木马后门查杀的方法:

  一、Web Server(以Nginx为例)

  1、为防止跨站感染,将虚拟主机目录隔离(可以直接利用fpm建立多个程序池达到隔离效果)

  2、上传目录、include类的库文件目录要禁止代码执行(Nginx正则过滤)

  3、path_info漏洞修正:

  在nginx配置文件中增加:

if ($request_filename ~* (.*).php) {
set $php_url $1;
         }
if (!-e $php_url.php) {
return 404;
    }

  4、重新编译Web Server,隐藏Server信息

  5、打开相关级别的日志,追踪可疑请求,请求者IP等相关信息。

  二、改变目录和文件属性,禁止写入

find -type f -name *.php -exec chmod 444 {} ;
find -type d -exec chmod 555 {} ;

  注:当然要排除上传目录、缓存目录等;

  同时好禁止chmod函数,攻击者可通过chmod来修改文件只读属性再修改文件!

  三、PHP配置

  修改php.ini配置文件,禁用危险函数:

disable_funcions = dl,eval,exec,passthru,system,popen,shell_exec,proc_open,
proc_terminate,curl_exec,curl_multi_exec,show_source,touch,
escapeshellcmd,escapeshellarg

  四、MySQL数据库账号安全:

  禁止mysql用户外部链接,程序不要使用root账号,好单独建立一个有限权限的账号专门用于Web程序。

  五、查杀木马、后门

grep -r –include=*.php  ‘[^a-z]eval($_POST’ . > grep.txt
grep -r –include=*.php  ‘file_put_contents(.*$_POST[.*]);’ . > grep.txt

  把搜索结果写入文件,下载下来慢慢分析,其他特征木马、后门类似。有必要的话可对全站所有文件来一次特征查找,上传图片肯定有也捆绑的,来次大清洗。

  查找近2天被修改过的文件:

find -mtime -2 -type f -name *.php

  注意:攻击者可能会通过touch函数来修改文件时间属性来避过这种查找,所以touch必须禁止

  六、及时给Linux系统和Web程序打补丁,堵上漏洞