On Dec 13, 2007 7:31 PM, Samuel Vogel <[EMAIL PROTECTED]> wrote:
> Hey guys,
>
> I just noticed a really bad security problem on my servers!
> The following RewriteRule exposes my system directories like /etc and
> /var etc. :
>
> RewriteCond %{HTTP_HOST} !^www\.user\.domain\.de
> RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+)\.user\.domain\.de
> RewriteRule (.*) /%2/$1 [L]
>
> I do not understand why thou. Maybe this is not the real origin of the
> problem, but when I disable those lines, the system directories are not
> accessible anymore.
> The rewriting is supposed to rewrite sub.user.domain.de to
> user.domain.de/sub. Which works, but if you put "etc" in place of "sub",
> it goes to "/etc/" and not to "/my/docroot/user/ect/".

The rule you show us above will rewrite
sub.user.domain.de/foo to /sub/foo,
sub.user.domain.de/    to /sub. Is this what you want? all your
subdomains live in the root?
I suppose what you want is:

RewriteCond %{HTTP_HOST} !^www\.user\.domain\.de
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+)\.user\.domain\.de
RewriteRule (.*) /my/doc/root/%2/$1 [L]


> Why is that the case? And how can I prevent this?

Firstly, if you want to know what is going on in your rewrite rules
turn on rewrite logging. It will tell you a bundle, and will give us
something to look at if you can't figure it out yourself.

Secondly, you should have the following in your httpd.conf:

<Directory />
Order Deny,Allow
Deny from all
</Directory>

This turns of access to your entire filesystem by default, which
protects you against accidentally showing stuff to the world. You can
then selectively make parts of your file system available again:

<Directory /my/doc/root>
Order Deny,Allow
Allow from all
</Directory>

Krist



-- 
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Bremgarten b. Bern, Switzerland
--
A: It reverses the normal flow of conversation.
Q: What's wrong with top-posting?
A: Top-posting.
Q: What's the biggest scourge on plain text email discussions?

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to