Font
[thread]1249[/thread]

Verzeichnisrechte in Windows mit dem Apache

Reader: 1


<< >> 10 entries, 1 page
guest Gast
 2005-04-01 21:54
#12738 #12738
Hallo Zusammen,

vorweg - eine gelunges Forum, dass Ihr hier habt  

Bei mir läuft Windows Apache und ActivePerl.
Wie kann ich die Verzeichnisrechte bei der Ausführung von cgi-scripts auf bestimmte Verzeichnisse (z.B. der virtuellen Hosts) sperren bzw. freigeben. Geht das evtl in der httpd.conf?
Derzeit ist es nämlich so, dass wenn jemand ein Perl Skript ausführt, könnte er damit theoretisch z.B. das ganze Windows Verzeichniss löschen/kopieren/zugreifen.
Er soll aber nur in seinem eigenen Webverzeichnis arbeiten können, alles was außerhalb ist, soll gesperrt sein.
Bei PHP gibt es diese open_basedir Funktion in der PHP.ini. Wie mache ich soetwas mit PERL unter Windows mit dem Apache ?

Vielen vielen herzlichen Dank schon im voraus für eure Antworten..
[E|B]
 2005-04-02 04:34
#12739 #12739
User since
2003-08-08
2561 articles
HausmeisterIn
[Homepage] [default_avatar]
Du kannst bestimmte Einträge in der httpd.conf setzen oder aber auch .htaccess benutzen. Mit allow kannst du hierbei Rechte einzelner Directorys setzen oder eben verhindern.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
GMichael
 2005-04-02 15:07
#12740 #12740
User since
2005-04-02
4 articles
BenutzerIn
[Homepage] [default_avatar]
Danke für die schnelle Antwort Erik!

Aber ich blick noch nicht so recht durch, wie das funktionieren soll.
Ich hab z.B. den efileman (efileman.de) auf dem Webserver hochgeladen, mit diesem kann ich Dateien problemlos hochladen bearbeiten. Ist so eine Art Explorer, mit der man seinen Webspace verwalten kann. Damit ich dieses Script ausführen kann, hab ich in der httpd.conf folgende Einstellung im jeweiligen virtual host getroffen:

<Directory "D:/Inetpub/buerogestaltung.intern/efileman/">
   AllowOverride All
   Options Indexes FollowSymLinks ExecCGI
   Order allow,deny
   Allow from all
</Directory>

Nun hab ich zusätzlich ins Laufwerk C:\ eine htaccess kopiert, die folgenden Inhalt enthält:
order deny,allow
deny from all

Aber wenn ich über dieses Script, den efilemann z.B. in das Verzeichnis C:\Windows wechsle, werden mir alle Dateien angezeigt und ich kann diese auch problemlos ändern/löschen usw.
Das darf ja nicht sein und hierfür bräuchte ich einen Serverseitigen Schutz.

Bei PHP gibts halt das Open Base Dir, dabei wird überwacht, dass keine serverseitige Anwendung außerhalb der eingestellten Verzeichnisse zugreifen kann >> dann gibts nämlich ne Fehler meldung: Open_Base_Dir restriction ..

Hoffe Ihr habt eine Lösung für mich *verzweifele langsam*

Viele Grüsse auf München, Michael
pktm
 2005-04-03 14:10
#12741 #12741
User since
2003-08-07
2921 articles
BenutzerIn
[Homepage]
user image
Ich meine dein Problem müsste sich mit der Einstellung des DocumentRoot in der httpd.conf beheben lassen, denn außerhalb dieses Verzeichnisses kann man meines Wissens nicht mit einer Programmiersprache zugreifen.

Und weiter guckst du hier (um ein wenig mehr über htaccess zu erfahren):
http://de.selfhtml.org/servercgi/server/htaccess.htm
http://www.intergastro-service.de (mein erstes CMS :) )
Dubu
 2005-04-03 21:07
#12742 #12742
User since
2003-08-04
2145 articles
ModeratorIn + EditorIn

user image
[quote=pktm,03.04.2005, 12:10]Ich meine dein Problem müsste sich mit der Einstellung des DocumentRoot in der httpd.conf beheben lassen, denn außerhalb dieses Verzeichnisses kann man meines Wissens nicht mit einer Programmiersprache zugreifen.[/quote]
Das stimmt nicht.

Innerhalb eines CGI-Programms kann man auf alles zugreifen, auf das der Benutzer, unter dem das CGI laeuft, Zugriff hat. DocumentRoot etc. ist da schnuppe.

Abhilfe schafft auch suexec da nur bedingt, da es zwar den Benutzer aendern kann, unter dem CGIs laufen, aber nicht dessen Rechte einschraenken.

Von anderen Zugriffsbeschraenkungen (ausser den ganzen Apache unter chroot laufen zu lassen) ist mir nichts bekannt, vor allem nicht unter Windows. Aber es gibt sicherlich andere, die sich besser mit Apache auskennen.
GMichael
 2005-04-03 22:39
#12743 #12743
User since
2005-04-02
4 articles
BenutzerIn
[Homepage] [default_avatar]
Hallo Dubu, hallo Erik,

da muss ich Dubu Recht geben. Dem ist tatsächlich so.
Alles was über den Perl-Interpreter ausgeführt wird, hat nichts mit den Verzeichnisbeschränkungen der Webserverkonfiguration zutun.

Deshalb gibts ja suexec bei Linux, doch was gibts da für Windows.. *verzweifel*

Ich hoffe hier hat noch jemand einen Tipp für mich...

Viele Grüsse, Michael
GwenDragon
 2005-04-17 14:32
#12744 #12744
User since
2005-01-17
14741 articles
Admin1
[Homepage]
user image
Das CGI erbt vom Apache die Rechte.
Da er als Dienst läuft, ist er meist mit vollen Adminrechten ausgestattet.

Im Prinzip müsstest du für eine eigenen Gruppe unter den Windows-Benutzern einrichten, die nur auf bestimmte Verzeichnisse zugreifen darf. Dnn bräuchtest du ein ein Perl oder EXE-Programm, das als Warpper für alle .cgi und .pl-Dateien agiert. Dieses prüft, ob die Verzeichnisrechte mit dem des Users übereinstimmen.

Hmm, ich habe bis jetzt nix im WWW gefunden, vielleicht schreibe ich mal was.
GMichael
 2005-04-17 17:54
#12745 #12745
User since
2005-04-02
4 articles
BenutzerIn
[Homepage] [default_avatar]
Einen Extra-Benutzer habe ich bereits eingerichtet, aber nun kann Perl logischer Weise in alle Verzeichnisse reingreifen, in das der Apache auch reingreift bzw. reingreifen muss.
D.h. Alle www-Verzeichnisse und auch alle Apache Anwendungsverzeichnisse.

Es wäre Super, wenn Du nochmal was Posten könntest.

Viele Grüsse, Michael
GwenDragon
 2005-04-17 19:45
#12746 #12746
User since
2005-01-17
14741 articles
Admin1
[Homepage]
user image
[quote=GMichael,17.04.2005, 15:54]Es wäre Super, wenn Du nochmal was Posten könntest.[/quote]
Wenn ich es fertig programmiert habe.
GMichael
 2005-04-17 20:43
#12747 #12747
User since
2005-04-02
4 articles
BenutzerIn
[Homepage] [default_avatar]
Supi, freu mich schon darauf :)

Danke schon im vorraus
<< >> 10 entries, 1 page



View all threads created 2005-04-01 21:54.