设为首页 收藏本站
查看: 1253|回复: 0

[经验分享] Apache禁止解析php

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-4 08:31:01 | 显示全部楼层 |阅读模式
apache的安全配置看一下网站的根目录/data/www/有一个/data/www/data/目录看一下她的权限

[iyunv@zhangmengjunlinux data]# ls -al /data/www/data/
总用量 68
drwxr-xr-x 15 daemon root   4096 1月   1 11:30 .
drwxr-xr-x 13 root   root   4096 12月 27 02:10 ..
drwxr-xr-x  2 daemon root   4096 12月 27 01:43 addonmd5
drwxr-xr-x 12 daemon root   4096 12月 31 16:33 attachment
drwxr-xr-x  2 daemon root   4096 12月 27 01:43 avatar
drwxr-xr-x  2 daemon root   4096 12月  8 10:39 backup_a7ac7c
drwxr-xr-x  2 daemon root   4096 12月 31 16:39 cache
drwxr-xr-x  3 daemon daemon 4096 12月 27 02:08 diy
drwxr-xr-x  2 daemon root   4096 12月 27 01:43 download
-rw-r--r--  1 daemon root      0 12月  8 10:39 index.htm
-rw-r--r--  1 root   root     20 1月   1 11:30 info.php
-rw-r--r--  1 daemon daemon    0 12月 27 02:08 install.lock
drwxr-xr-x  2 daemon root   4096 12月  8 10:39 ipdata
drwxr-xr-x  2 daemon root   4096 1月   1 10:36 log
drwxr-xr-x  2 daemon root   4096 12月 27 01:43 plugindata
-rw-r--r--  1 daemon daemon    0 1月   1 11:34 sendmail.lock
-rw-r--r--  1 daemon root    772 12月  8 10:39 stat_setting.xml
drwxr-xr-x  2 daemon daemon 4096 12月 31 17:43 sysdata
drwxr-xr-x  2 daemon root   4096 1月   1 11:34 template
drwxr-xr-x  2 daemon root   4096 12月 27 02:08 threadcache
实际上apache运行的用户就是daemon,我们为什么要把它改成属主daemon,因为我们在安装apache的时候有去验证经过检测,如果你这个没有写权限的话你是不可能成功安装的,为什么/data/目录需要去写呢,因为我们在data目录下会生成一些缓存文件、临时文、附件,比如说我们的网站有可能上传一些图片,我们来测一下,发一个帖子,那帖子发完之后,我们去网站的根目录下查找
[iyunv@zhangmengjunlinux data]# cd /data/www/data/attachment/forum/
[iyunv@zhangmengjunlinux forum]# ls   我们在这里看到生成一个新的目录
201512  201601
[iyunv@zhangmengjunlinux forum]# cd 201601/
[iyunv@zhangmengjunlinux 201601]# ls
01  index.html
[iyunv@zhangmengjunlinux 201601]# cd 01/
[iyunv@zhangmengjunlinux 01]# ls
103719rkd74osszda4f673.jpg  index.html
我们可以看到它生成了一个新的图片,那么这个图片就是我们刚刚上传的图片,不妨我们去WEB访问一下
www.test.com/data/attachemnt/for ... kd74osszda4f673.jpg 图片的地址现在是Forbidden因为我们做了防盗链,现在我们遇到一个问题,这些 目录data目录它意味着可以被用户去写,如果网站有漏洞的话,被被一个人上传了木马文件,如果被执行了怎么办,不小心一点执行了服务器被入侵了,可以获得一些权限,那这个时候我们就应该给它做一些限制,要么你不允许它上传,要么你即使它上传之后,我们不允许它做任何的操作,两种情况,那么第一种你是不可以做的,因为你一旦限制了任何的用户都不能正常上传,那这个肯定是不合适的,那我们只能用第二种方法,去限制它进行解析,它即使上传了一个木马文件,但是它不能正常的去解析,那么也就意味着我们没有风险,怎么去限制呢,那比如说我们就针对这个data目录去做一个限制,禁止解析
#vim /usr/local/apache2/conf/extra/httpd-vhost.conf
首先我们先要定义它的路径
<Directory /data/www/data/>
我们要把PHP的解析引擎关掉,不让它解析了
php_admin_flag engine off
并且我们再做一个限制,你即使不能解析了,但是我们还可以访问啊,访问的时候它就会把你的源代码下载走
简单关闭PHP引擎就这么一行:php_admin_flag engine off
那么现在也就意味着网站的目录data下的所有目录包括子目录,我们先做一个实验
[iyunv@zhangmengjunlinux 01]# cd /data/www/data/
[iyunv@zhangmengjunlinux data]# ls
  info.php   
[iyunv@zhangmengjunlinux data]# vim info.php
<?php
phpinfo();
>?
保存退出
去web测试 www.test.com/data/info.php
你会发现它会直接把文件下载下来,这个肯定是不对的,比如说你这个目录里就有一些PHP文件,结果用户一访问的时候就直接把他们下载下来了,这肯定是不对的我们要怎么做呢。如果不去禁止解析 www.test.com/data/info.php 它可以正常显示的,能解析的,那假如这个文件时某一个黑客上传的,结果呢一刷新发现它正常解析了,它就很显然的发现了你的服务器上的配置是怎么编译的和一些路径还有哪些模块,这是很危险的事情,所以我们有必要给它做一些限制,然后限制之后我们还要不让它这php去下载,直接给它禁掉
<filesmatch "(.*)php">
Order deny,allow
Deny from all
allow from 127.0.0.1
</filesmatch>
那么再次刷新的时候它是403 Forbidden了,然而呢我们用127.0.0.1去访问的时候,发现它解析不出来
[iyunv@zhangmengjunlinux data]# curl -x127.0.0.1:80 www.test.com/data/info.php -I
HTTP/1.1 200 OK
Date: Fri, 01 Jan 2016 04:53:57 GMT
Server: Apache/2.2.31 (Unix) PHP/5.3.27
Last-Modified: Fri, 01 Jan 2016 03:30:26 GMT
ETag: "e3f3c-14-5283d646fc554"
Accept-Ranges: bytes
Content-Length: 20
Cache-Control: max-age=0
Expires: Fri, 01 Jan 2016 04:53:57 GMT
Content-Type: application/x-httpd-php
这是如何去解析PHP的
QQ截图20160104083054.png


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-159943-1-1.html 上篇帖子: Apache禁止指定USRE_AGENT 下篇帖子: apache与nginx的默认虚拟主机的配置及作用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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