Jump to navigation

You are currently browsing all posts tagged with 'apache'

Gentoo上apache2默认的php配置存在安全隐患,可导致任意文件被当作php文件来执行

  • Posted on September 6, 2010 at 10:18 am

原文地址: http://ilia.ws/archives/226-Beware-of-the-default-Apache-2-config-for-PHP.html

一周之前,我在升级开发服务器的时候,发现了一个php + apache2在配置上的安全隐患。
一些linux的发行版的默认配置,都存在这个问题。
在这些发行版里面(包括Gentoo。不包括CentOS,Ubuntu),apache2的默认的php配置为:

<IfModule mod_mime.c>
AddHandler application/x-httpd-php .php
AddHandler application/x-httpd-php-source .phps
</IfModule>

目的是把 file.php当作php文件来解析,
但是file.php.txt也会被当作php文件解析出来!

修改成以下的配置就OK了:

<IfModule mod_mime.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>

apache的一个小漏洞,任意文件会被当作php文件而执行

  • Posted on July 7, 2010 at 11:33 am

apache2+PHP的默认配置下,
如果apache发现一个不能识别的mine类型(文件扩展名),会用php来解析它。

比如在apache根目录下放一个 a.aaaaaaa
里面内容是

<?PHP
echo "OK";

访问 http://localhost/a.aaaaaaa
会得到:
OK

jira,confluence 前面再放一个apache

  • Posted on March 8, 2010 at 4:33 pm

为什么要再加一个apache呢?

看一下现在的URL:

Jira 的访问地址是  http://192.168.0.163:10000/jira

Confluence的地址是  http://192.168.0.163:20000/confluence

两个端口不同,不太好记。。。

所以在前面再放一个apache, 利用apache的proxy功能,转发web请求到后面的tomcat.

修改apache的配置文件 conf/httpd.conf

先加载二个模块:

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

再加入以下的配置:

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

ProxyRequests       Off

ProxyPreserveHost         On

ProxyPass           /jira       http://192.168.0.163:10000/jira

ProxyPassReverse    /jira       http://192.168.0.163:10000/jira

ProxyPass /confluence             http://192.168.0.163:20000/confluence

ProxyPassReverse /confluence       http://192.168.0.163:20000/confluence

重启apache.

以后jira的访问地址就变成了  http://192.168.0.163/jira

Confluence的地址变成了 http://192.168.0.163/confluence

Top