VPS侦探论坛

 找回密码
 注册
查看: 7863|回复: 11

请问应该怎么正确设置只让某些文件夹能执行php

[复制链接]
发表于 2012-8-28 11:48:20 | 显示全部楼层 |阅读模式

因为有个网站有未知漏洞,经常会出现phpdos木马,删除以后还会出现,因为是新手,所以想请教大家几个问题
1、有办法可以找出别人是怎么上传木马的吗?查看网站日志可以看到吗?我原来用的虚拟机,查看日志搜索相关木马名 并没有看到如何上传的,不知道vps的能不能看到。(系统是centos5.5)

2、我现在是设置了只让某些文件夹可以执行php文件,是修改网站的conf文件,修改如下:
location ~ /(blog|include).*\.(php|php5)?$                        {
try_files $uri =404;
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
但是现在出现一个情况,访问那些没有执行权限下的php文件(包括一些有执行权限下的某些文件)会直接下载php源文件,这个有点太危险了吧。不知道应该怎么正确设置,
看到网上有设置禁止某些文件夹有php权限的方法:
location ~* ^/(attachments|upload)/.*\.(php|php5)${
deny all;
}
但是由于我是生成的静态文件,栏目很多所以如果按照禁止某些文件夹的方法那会有很多栏目,太麻烦了,如果添加了设置根目录禁止php执行,那么上面设置的那几个允许执行php的栏目又不行了。
请大家帮忙下,怎么样准确的设置某些文件夹可以执行php

3、想让某些文件夹不能修改、创建文件 应该设置权限是多少啊?755貌似不行啊

4、有办法设置有效禁止phpdos木马?

请军哥和大家帮下忙 木马太狠了 不限制的话, vps立马不能访问php页面

[ 本帖最后由 htwyqjj 于 2012-8-28 12:01 编辑 ]
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2012-8-28 12:16:06 | 显示全部楼层


难道3的问题 需要设置成555吗?
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2012-8-28 17:55:49 | 显示全部楼层

1被上传木马,按一般的php特征码 找就行了

2不一定直接让他deny,也可以return 403 之类的

一般只设置上传目录不运行执行就行

3只能设置权限

4禁用 fsockopen() 函数就行了
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2012-8-28 22:49:33 | 显示全部楼层

回复 3# 的帖子




谢谢军哥的回答
1、通过特征找到木马 但是还是不知道它是从什么途径上传的木马,能不能有方法通过查看日志什么的 发现上传木马途径

2、我现在没有设置不让访问的文件夹 deny。我只设置了
location ~ /(blog|include).*\.(php|php5)?$                        {
try_files $uri =404;
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
但是现在排除在外的文件夹中的php文件 访问的话全成了下载。而且有些在以上可以执行php的文件夹中的php文件 也变成了下载,是不是不能像我上面设置的这样 只能让某些文件夹执行php,或者我写的错误了?

3、那设置不能创建文件的 权限应该是多少啊?怎么设置啊 军哥,谢谢

4、禁用fsockopen 好吧 实在不行 只能这样了
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2012-8-29 07:56:38 | 显示全部楼层

日志不好办,日志太多


没设的是下载很正常啊,不能解析不久直接下载了

只读就444

军哥运维代购:http://shop63846532.taobao.com/

 楼主| 发表于 2012-8-29 09:17:39 | 显示全部楼层

回复 5# 的帖子


比如我知道了木马的名字 我可以通过查看某个日志 找出是什么途径上传这个木马的吗?

那么我应该怎么设置 除了以上的几个文件夹可以执行php文件 其他文件不能执行 而且返回403而不是下载呢?谢谢军哥

哦 原来那些静态文件 不需要执行权限 只需要444就可以了啊。
对了 这里插一个问题,那比如说cms系统的生成静态文件,我设置成这个文件夹成555了,但是后台还是可以正常生成,这个就是因为有执行权限吗?

关于那个fsockopen的 我看的都是通过修改 php.ini使整个服务器都禁用,能不能设置针对某个网站啊?

再次谢谢军哥
发表于 2012-8-29 11:10:54 | 显示全部楼层

这个不好说,你可以找找日志看看

最开我就说过了deny all 换成 return 403就行

生成伪静态这个不太了解

无法针对某个,php.ini是所有网站都共享的
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2012-8-29 15:15:26 | 显示全部楼层

回复 7# 的帖子


谢谢军哥的回复  但恕我愚笨 还要向你请教下
哪个将deny all 换成return 403 是指先添加网站根目录不能执行php吗?如下代码
location ~* ^/.*\.(php|php5)${
deny all;(这里换成 return 403)
}
然后再按上面说的 添加可以执行php的目录的代码?
还是return 403放在其他地方?

还有 我问的不是伪静态 是直接生成静态 文件的

谢谢军哥
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2012-8-29 21:23:11 | 显示全部楼层

回复 8# 的帖子


不执行的目录return 403

军哥运维代购:http://shop63846532.taobao.com/

 楼主| 发表于 2012-8-29 21:54:22 | 显示全部楼层

回复 9# 的帖子




军哥 你还是没有看完我的问题
我就是因为 是生成的静态文件 所以会有很多文件夹   如果设置不能执行php 那么需要设置的目录太多了
我才想只让其中几个文件夹可以执行php权限
才想到
location ~ /(blog|include).*\.(php|php5)?$                        {
try_files $uri =404;
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
但是这样的后果就是 其他地方的php文件 访问的话 就会直接下载了
而如果同时只设置 网站的根目录为deny all的话 那么上面设置的几个可以执行php的文件夹  也不能执行了
请问军哥有办法吗
发表于 2012-8-30 13:20:55 | 显示全部楼层

回复 10# 的帖子


没办法
 楼主| 发表于 2012-8-30 23:47:33 | 显示全部楼层

回复 11# 的帖子


额 没办法啊…… 郁闷了
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-23 17:13 , Processed in 0.036324 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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