php***其实就是一个正常的php文件了,只是我们给了权限太高导致这个程序可以执行系统文件或调用系统命令来操作从而得到了服务器相关权限了,这样对方就可以随时拿我们程序或数据库了,下面我来给各位介绍一些查找php***的方法与基本的安全配置教程吧。


安装denyhost,防止SSH的暴力破解,具体安装方法参考《denyhost防止SSH暴力破解,保护你的linux》一文。

另外对系统的一些重要文件添加一个i权限

比如:

 代码如下复制代码

# chattr +i /etc/passwd

# chattr +i /etc/group

# chattr +i /etc/shadow

# chattr +i /etc/gshadow

# chattr +i /etc/ssh/sshd_config

2、nginx和php的安全

(1)对discuz/p_w_uploads,uchome/p_w_upload,ucenter/data/tmp等用户上传的目录,限制php程序。centos+nginx本身应该比较安全的,一般的***都是利用webshell来***。

在nginx的配置文件里面添加

 代码如下复制代码

location ~ .*\.(php|php5)?$ {

…….

#——————————————

rewrite ^/(uc\_client|templates|include|plugins|admin|p_w_uploads|p_w_picpaths|

forumdata)/.*\.(php|php5)?$ /50x.php last;

#——————————————-

}

(2)修改php.ini

查找:disable_functions

找到后在=后面添加

 代码如下复制代码

exec,system,passthru,error_log,ini_alter,dl,openlog,syslog,readlink,symlink,

link,leak,fsockopen,proc_open,

popepassthru,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,

shell_exec,proc_get_status,popen

这里都是禁止在php里面执行的函数

(3)对一些重要而且不需要修改的文件添加i权限,方法同《1、服务器本身的安全》部分

3、如何查×××器中的php***

PHP***的最明显特征是使用了eval与base64_decode这个函数,我们可以这么查找

 代码如下复制代码

find /var/www/ -type f -name “*.php” | xargs grep “eval(” |more

如果发现这样的字样,多半是***程序

 代码如下复制代码

eval(base64_decode(…………..));

经验分享:如果你是windows系统我们可以使用像安全狗或webshell插件来扫描服务器php文件上不是有php***了,我经常使用后者来查找非常的不错,当然安全还是很重要的一步了,就是把一些系统函数给禁止掉了。