|
前段时间,服务器上的一个小站被挂了木马。服务器使用的centos+nginx+php,程序使用的Didcuz和UChome。本来这个网站没什么访问量,居然还被黑客盯上了,还好每天都有备份,没有造成什么损失。不过还是挺感谢黑客,帮我检验的服务器的安全漏洞,从而进一步加强服务器的安全防护。
现将服务器的一些安全防护分享一下~~~
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(..............));
查找一下自己的服务器有没有木马吧~~~ |
|