fablefe 发表于 2018-12-24 08:11:35

linux nginx php***排查及加固整理

  linux nginx php***排查及加固整理
  1、改变目录和文件属性,禁止写入
find -type f -name \*.php -exec chmod 444 {} \;
find -type d -exec chmod 555 {} \;
注:当然要排除上传目录、缓存目录等;
同时最好禁止chmod函数,***者可通过chmod来修改文件只读属性再修改文件
2、php配置
禁用危险函数
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,
ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,popen,dl,
syslog,show_source
  3、nginx配置
限制一些目录执行php文件
location~^/images/.*\.(php|php5)$
{
denyall;
}
   
location~^/static/.*\.(php|php5)$
{
denyall;
}
  location~*^/data/(attachment|avatar)/.*\.(php|php5)$
{
denyall;
}
注:这些目录的限制必须写在
   location~.*\.(php|php5)$
    {
   fastcgi_pass127.0.0.1:9000;
   fastcgi_indexindex.php;
   include fcgi.conf;
    }
   的前面,否则限制不生效
  
path_info漏洞修正:
在通用fcgi.conf顶部加入
if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
return 404;
}
  4、***查找
  php***一般含有或者
  find /data/wwwroot/* -type f -name "*.php" |xargs grep "eval(" > /root/scan.txt

还有
   常见的一句话后门:
   grep -r --include=*.php'[^a-z]eval($_POST' . > grep.txt
   grep -r --include=*.php'file_put_contents(.*$_POST\[.*\]);' . > grep.txt
   
   把搜索结果写入文件,下载下来慢慢分析,其他特征***、后门类似。有必要的话可对全站所有文件来一次特征查找,上传图片肯定有也捆绑的,来次大清洗。
5、查找近3天被修改过的文件:
find /data/www -mtime -3 -type f -name \*.php
注意:***者可能会通过touch函数来修改文件时间属性来避过这种查找,所以touch必须禁止
  
参考文章
  http://hi.baidu.com/zxm_xdl/blog/item/cbbaa9349a3df5a5d1a2d3b4.html
  http://hi.baidu.com/goodtangyb/blog/item/4233142618af820d8b82a16d.html



页: [1]
查看完整版本: linux nginx php***排查及加固整理