请问应该怎么正确设置只让某些文件夹能执行php
因为有个网站有未知漏洞,经常会出现phpdos木马,删除以后还会出现,因为是新手,所以想请教大家几个问题1、有办法可以找出别人是怎么上传木马的吗?查看网站日志可以看到吗?我原来用的虚拟机,查看日志搜索相关木马名 并没有看到如何上传的,不知道vps的能不能看到。(系统是centos5.5)
2、我现在是设置了只让某些文件夹可以执行php文件,是修改网站的conf文件,修改如下:
location ~ /(blog|include).*\.(php|php5)?$ {
try_files $uri =404;
fastcgi_passunix:/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 编辑 ] 难道3的问题 需要设置成555吗? 1被上传木马,按一般的php特征码 找就行了
2不一定直接让他deny,也可以return 403 之类的
一般只设置上传目录不运行执行就行
3只能设置权限
4禁用 fsockopen() 函数就行了
回复 3# 的帖子
谢谢军哥的回答1、通过特征找到木马 但是还是不知道它是从什么途径上传的木马,能不能有方法通过查看日志什么的 发现上传木马途径
2、我现在没有设置不让访问的文件夹 deny。我只设置了
location ~ /(blog|include).*\.(php|php5)?$ {
try_files $uri =404;
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
但是现在排除在外的文件夹中的php文件 访问的话全成了下载。而且有些在以上可以执行php的文件夹中的php文件 也变成了下载,是不是不能像我上面设置的这样 只能让某些文件夹执行php,或者我写的错误了?
3、那设置不能创建文件的 权限应该是多少啊?怎么设置啊 军哥,谢谢
4、禁用fsockopen 好吧 实在不行 只能这样了 日志不好办,日志太多
没设的是下载很正常啊,不能解析不久直接下载了
只读就444
回复 5# 的帖子
比如我知道了木马的名字 我可以通过查看某个日志 找出是什么途径上传这个木马的吗?那么我应该怎么设置 除了以上的几个文件夹可以执行php文件 其他文件不能执行 而且返回403而不是下载呢?谢谢军哥
哦 原来那些静态文件 不需要执行权限 只需要444就可以了啊。
对了 这里插一个问题,那比如说cms系统的生成静态文件,我设置成这个文件夹成555了,但是后台还是可以正常生成,这个就是因为有执行权限吗?
关于那个fsockopen的 我看的都是通过修改 php.ini使整个服务器都禁用,能不能设置针对某个网站啊?
再次谢谢军哥 这个不好说,你可以找找日志看看
最开我就说过了deny all 换成 return 403就行
生成伪静态这个不太了解
无法针对某个,php.ini是所有网站都共享的
回复 7# 的帖子
谢谢军哥的回复但恕我愚笨 还要向你请教下哪个将deny all 换成return 403 是指先添加网站根目录不能执行php吗?如下代码
location ~* ^/.*\.(php|php5)${
deny all;(这里换成 return 403)
}
然后再按上面说的 添加可以执行php的目录的代码?
还是return 403放在其他地方?
还有 我问的不是伪静态 是直接生成静态 文件的
谢谢军哥
回复 8# 的帖子
不执行的目录return 403回复 9# 的帖子
军哥 你还是没有看完我的问题:(我就是因为 是生成的静态文件 所以会有很多文件夹 如果设置不能执行php 那么需要设置的目录太多了
我才想只让其中几个文件夹可以执行php权限
才想到
location ~ /(blog|include).*\.(php|php5)?$ {
try_files $uri =404;
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
但是这样的后果就是 其他地方的php文件 访问的话 就会直接下载了
而如果同时只设置 网站的根目录为deny all的话 那么上面设置的几个可以执行php的文件夹也不能执行了
请问军哥有办法吗
回复 10# 的帖子
没办法回复 11# 的帖子
额 没办法啊…… 郁闷了
页:
[1]