1、服务器本身的安全
安装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/attachments,uchome/attachment,ucenter/data/tmp等用户上传的目录,限制php程序。centos+nginx本身应该比较安全的,一般的黑客都是利用webshell来入侵。
在nginx的配置文件里面添加
代码如下 | 复制代码 |
location ~ .*\.(php|php5)?$ { ……. #—————————————— rewrite ^/(uc\_client|templates|include|plugins|admin|attachments|images| 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木马了,我经常使用后者来查找非常的不错,当然安全还是很重要的一步了,就是把一些系统函数给禁止掉了。