查看: 86636|回复: 92

[运营相关] 推荐:PHPCMS v9 安全防范教程!

    [复制链接]
发表于 2013-11-29 11:54:09 | 显示全部楼层 |阅读模式
一、目录权限设置很重要:可以有效防范黑客上传木马文件.
如果通过 chmod 644 * -R 的话,php文件就没有权限访问了。
如果通过chmod 755 * -R 的话,php文件的权限就高了。

所以就需要分开设置目录权限和文件权限:

  • linux 服务器权限:经常要用到的命令:


find /path -type f -exec chmod 644 {} \;  //设置文件权限为644
find /path -type d -exec chmod 755 {} \;  //设置目录权限为755

设置完成后,再通过命令:chown root:root * -R 将目录和文件的所有者改为root。

这样就更加安全了。

  • FTP用户,确定使用的是linux主机。windows需要登录到服务器中设置。
进入到phpcms 安装根目录,选取所有文件:
设置数字值为:755,同时选定:选择递归处理子目录,只应用到目录
同样再选择所有文件,数字值为:644,选择递归处理子目录,只应用到文件
如果设置错了,重新再设置就可以了。


二、Linux find命令 查找可疑的木马文件
查找:30天内被修改的文件
find  ./  -mtime  -30  -type f  -exec ls -l  {} \;
找到目录下所有的txt文件
find ./ -name "*.txt" -print
找到目录下所有的txt文件并删除
find ./ -name "*.txt" -exec rm -rf {} \;
找到目录下所有的php文件 并且在30天之类被修改的文件
find  ./ -name "*.php" -mtime  -30  -typef  -exec  ls -l  {} \;
找到目录下所有的php文件,同时,满足 30天以内,1天之前的
find ./ -name "*.php" -mtime -30 -mtime +1 -type f -execls -l {} \;

三、通过apache配置限定:
1、apache 下 禁止目录执行php
通过目录下面放置 .htaccess文件来限制权限。
该方法会将php文件当做附件并下载。同时,可以通过浏览器访问到文件。
php_flag engine off

使用场景:在下面目录放置
\uploadfile\
\statics\
\html\
\phpsso_server\uploadfile\
\phpsso_server\statics\

2、禁止通过浏览器访问所有文件

通过目录下面放置 .htaccess文件来限制权限。
RewriteEngine on
RewriteRule ^(.*) /index.html

使用场景:
\caches\
\phpsso_server\caches\

3、禁止php跨目录浏览权限配置:


虚拟主机配置样例:
<VirtualHost *:80>
    ServerAdmin root@phpip.com
    DocumentRoot /data/wwwroot/www
    ServerName www.phpip.com
    <Directory  /data/wwwroot/www>
        Options  FollowSymLinks
        AllowOverride Options FileInfo
        Order allow,deny
        Allow from all
        php_admin_value open_basedir /data/wwwroot/www/:/var/tmp/
        DirectoryIndex index.htm index.html index.php
    </Directory>
    ErrorLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-error_log 86400 480"
    CustomLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-access_log 86400 480" common
</VirtualHost>


4、按天存放apache日志:

参考上面配置文件:
    ErrorLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-error_log 86400 480"
    CustomLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-access_log 86400 480" common







评分

参与人数 4鲜花 +18 PC币 +10 收起 理由
macnie + 1 www.zaijiao.com/topic/view/5毛泽东诗词
xrnic + 1 实用教程我收藏到www.xricp.com了
suyetai + 1 感谢分享
05273 + 15 + 10 linux可以除了根目录,其余全部去掉可执行.

查看全部评分

发表于 2014-5-20 21:11:38 | 显示全部楼层
顶,正找这个呢。phpcms的安全真挺差的。
回复 支持 1 反对 0

使用道具 举报

发表于 2013-11-29 12:11:14 | 显示全部楼层
支持分享                              
回复 支持 1 反对 0

使用道具 举报

发表于 2013-11-29 12:00:53 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2013-11-29 12:16:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2013-11-29 12:17:34 | 显示全部楼层
不错。。。
回复 支持 反对

使用道具 举报

发表于 2013-11-29 12:19:18 | 显示全部楼层
嗯  不错 支持一下子
回复 支持 反对

使用道具 举报

发表于 2013-11-29 12:19:21 | 显示全部楼层
这个要前排支持哦~
回复 支持 反对

使用道具 举报

发表于 2013-11-29 12:21:02 | 显示全部楼层
感谢官方一直在努力哦~
回复 支持 反对

使用道具 举报

发表于 2013-11-29 12:41:10 | 显示全部楼层
谢谢分享~
回复 支持 反对

使用道具 举报

发表于 2013-11-29 12:50:33 | 显示全部楼层
不错 支持一下子
回复 支持 反对

使用道具 举报

发表于 2013-11-29 14:25:34 | 显示全部楼层
本帖最后由 化蝶自在飞 于 2013-12-9 20:55 编辑

权限设置好,脚本小子死翘翘

windows下,如果是星外主控系统,直接给网站根目录不可写,然后给caches 和 uploadfile 可写不可执行;
就可以了.如果你是生成静态,那么静态目录文件夹要一个个单独设置权限,就是可写入不可执行;
回复 支持 反对

使用道具 举报

发表于 2013-11-29 14:39:29 | 显示全部楼层
将目录和文件的所有者改为root后,网站缓存不能更新!后台很多的东西打不开!   怎么说?
回复 支持 反对

使用道具 举报

发表于 2013-11-29 14:40:49 | 显示全部楼层
支持。。。
回复 支持 反对

使用道具 举报

发表于 2013-11-29 14:54:07 | 显示全部楼层
看看学习学习
回复 支持 反对

使用道具 举报

发表于 2013-11-29 15:00:38 | 显示全部楼层
不会把之前的功能覆盖掉 了吧  那就坑了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 点击这里注册

本版积分规则

小黑屋|Archiver|phpcms网站管理系统 ( 京ICP备14011169 )

GMT+8, 2017-10-19 14:58 , Processed in 0.483563 second(s), 11 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表