fastadmin 相关安全配置

开发阶段请给予项目全部的777权限。
生产环境首先全部设置为555权限,
runtime目录设置为755权限
public/uploads目录设置为755权限并禁用PHP脚本执行

nginx如何禁止指定目录php脚本执行权限 nginx不允许某个目录执行php怎么设置

nginx如何禁止指定目录php脚本执行权限,nginx不允许某个目录执行php怎么设置,有些目录比如上传目录(uploads)是不能运行执行php的,要不网站就会出现漏洞,有被攻破的危险
php病毒相关-LMLPHP
具体代码如下:

location ~* ^/(upload|uploads|images|static)/.*.(php|php5)$ {

        deny all; 

}

里面的目录可以替换成自己需要禁止脚本的目录

注意这一段代码一定要放在下面的代码之前:

include enable-php-73.conf;(这个是你调用的php版本)

其他病毒文件搜索

find / -iname “*.php” | xargs grep -H -n “eval\(base64_decode”
 

寻找PHP(网站)挂马,后门

发布时间:2017-06-07

php后门木马常用的函数大致上可分为四种类型:

  1. 执行系统命令: system, passthru, shell_exec, exec, popen, proc_open

  2. 代码执行与加密: eval, assert, call_user_func,base64_decode, gzinflate, gzuncompress, gzdecode, str_rot13

  3. 文件包含与生成: require, require_once, include, include_once, file_get_contents, file_put_contents, fputs, fwrite

  4. .htaccess: SetHandler, auto_prepend_file, auto_append_file

想找一个 关键词是“hellow word” 在哪些文件中有,我们用grep命令

grep --color -i -r -n “hellow word” /data/www/

这样就能搜索出来 文件中包含关键词的文件

–color是关键词标红

-i是不区分大小写
-r是包含子目录的搜索
-d skip忽略子目录

可以用以上命令查找网站项目里的带有挂马的文件

.两个查后门的实用linux命令:
find /data/web/website/ -iname .php -mtime -35 找出/data/web/website/目录下 35分钟前新建的php
find /data/web/website/ -name “
.php” | xargs grep “eval( P O S T [ ”找出 / d a t a / w e b / w e b s i t e / 里面源码包含 e v a l ( _POST[” 找出/data/web/website/ 里面源码包含eval( POST[找出/data/web/website/里面源码包含eval(_POST[的php文件 (注意:POST后面可能需要转义符“\”,否则有可能不能执行)

四.

例如
注入漏洞eval(base64_decode

grep --color -i -r -n “eval” /data/www/ 找出来对比以前正常的代码,看是否正常。然后用stat查看这个木马文件的修改时间,最后去寻找WEB日志,找出木马从哪里进来的

eg: grep --color -i -r -n ‘eval($_POST’ cncar/

五:

实用查找PHP木马命令:

查找PHP木马

# find ./ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decoolcode|spider_bc"> /tmp/php.txt

 

# grep -r --include=*.php  '[^a-z]eval($_POST' . > /tmp/eval.txt

 

# grep -r --include=*.php  'file_put_contents(.*$_POST

.∗

);' . > /tmp/file_put_contents.txt

 

# find ./ -name "*.php" -type f -print0 | xargs -0 egrep "(phpspy|c99sh|milw0rm|eval\(gzuncompress\(base64_decoolcode|eval\(base64_decoolcode|spider_bc|gzinflate)" | awk -F: '{print $1}' | sort | uniq

查找最近一天被修改的PHP文件

#   find -mtime -1 -type f -name \*.php

修改网站的权限

# find -type f -name \*.php -exec chmod 444 {} \;

 

# find ./ -type d -exec chmod 555{} \;

假设最后更新是10天前我们可以查找10天内生成的可以php文件:

find /var/www/ -name “*.php” -mtime -10

也可以通过关键字的形式查找 常见的木马常用代码函数 eval,shell_exec,passthru,popen,system

find /var/www/ -name “.php” |xargs grep “eval” |more
find /var/www/ -name “
.php” |xargs grep “shell_exec” |more
find /var/www/ -name “*.php” |xargs grep “passthru” |more

还有查看access.log 当然前提是你网站的所有php文件不是很多的情况下

一句话查找PHP木马

find ./ -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decode|spider_bc”> /tmp/php.txt

grep -r –include=*.php ’[^a-z]eval($_POST’ . > /tmp/eval.txt

grep -r –include=.php ’file_put_contents(.$_POST[.*]);’ . > /tmp/file_put_contents.txt

find ./ -name “*.php” -type f -print0 | xargs -0 egrep “(phpspy|c99sh|milw0rm|eval(gzuncompress(base64_decode|eval(base64_decode|spider_bc|gzinflate)” | awk -F: ‘{print $1}’ | sort | uniq

查找最近一天被修改的PHP文件

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

以下其实是多余的操作了其实,但是还是有值得看的地方

,检查代码。

肯定不是一个文件一个文件的检查,Linxu有强悍的命令

grep ‘eval’ * -R 全盘搜索当前目录所有文件(包含子目录)中带有eval的文件,这条可以快速查找到被挂马的文件。

关于eval,请自行google一句话php代码。

2,查看日志。

不到这个时候不知道日志的可贵啊。

还是以grep命令为主。

思路:负责的站点是Linux,只开了2个端口,一个22和80,外部的执行命令是由从80端口进来,Selinux报httpd访问/boot文件,确认被挂马。而所有的命令执行必须POST提交给执行的文件。所以,查找日志中所有的POST记录。

cat access_log_20120823.log | grep ‘POST’ | grep -v ‘反向查找’ | less,通过grep -v排除正常post,egrep也支持正则,但是太复杂了,看懂不知道怎么运用。

(这里不建议用cat,用tail可以追加一个文件来看)

这可以防患于未然,防止不知道哪天又被人黑进来了。每天看一眼日志。

3,对于网页目录,只给apache用户rx权限,不要给w权限,目录设置要加上rx,不要给w,个别文件除外。所以,配合2使用,Linux下可以快速过滤刷选出来不规则的POST请求。

综合1,2其实就可以快速查找被黑的页面,被修改的文件替换干净的代码。

Linux本身相对Win来讲安全点,因为好多人不会命令,这就是优点啊!但网站现在开源的这么多,所以漏洞也相对较多,一不小心网站被上传木马也是常有的事情。
收集和整理了一下利用find命令来查找一下是否网站被种木马了,无非是根据木马的特征代码来配对。

find ./ -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decode|spider_bc”> /tmp/php.txt

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

grep -r –include=.php 'file_put_contents(.$_POST[.*]);’ . > /tmp/file_put_contents.txt

find ./ -name “*.php” -type f -print0 | xargs -0 egrep “(phpspy|c99sh|milw0rm|eval(gzuncompress(base64_decode|eval(base64_decode|spider_bc|gzinflate)” | awk -F: ‘{print $1}’ | sort | uniq
查找最近一天被修改的PHP文件

find -mtime -1 -type f -name *.php
修改网站php文件权限,只读

find -type f -name *.php -exec chmod 444 {} ;
修改网站目录权限

find ./ -type d -exec chmod 555{} ;

03-25 22:31