You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by "A. Friedrich" <fr...@planet-ic.de> on 2002/12/10 09:02:46 UTC

Schutz von cgi-Scripten

Hallo Liste,

ich habe eine Frage, auf die ich in den einschlaegigen "Medien"
und FAQ's keine befruiedigende Antwort finden konnte.
Es geht um das Schuetzen von cgi-Scripten. Folgendes Beispiel.
Ich habe auf einem Webserver cgi-Scripte liegen die nur von einer
bestimmten html-Seite auf diesem Server aufgerufen werden sollen.
Die Seite ist nicht mit htaccess geschuetzt. Wie kann ich es verhindern,
das direkt das cgi-Script aufgerufen wird? Mit Referer als einziges Merkmal
woher die Anfage kommt ja wohl nicht, denn den kann man ja einfach vorgaukeln.

Ich moechte als Antwort keine ausfuehrlichen techn. Beschreibungen, mir reicht
ein Anhalstpunkt, wie andere dieses Problem geloest haben.

Vielen Dank im Vorraus

A.Friedrich
___________________________________________________
A. FRIEDRICH		  PLANET internet commerce GmbH
eMail: friedrich@planet-ic.de	  Tel: (0385) 3030-150



Re: Schutz von cgi-Scripten

Posted by Philon Terving <ph...@gmx.net>.
> ok, ich habe wohl zu wenig Infos bei der ersten Anfrage mitgegeben, sorry.
> Nun aber ...
> 
> Wir betreiben ip-based, virtuelle Webserver. Die Server basieren auf Linux
> und sind mit dem apache, php, mysql, openssh, perl usw. konfiguriert.
> 
> Nun meine Frage: Gibt es Mechanismen mit denen ich cgi-Scripte vor Missbrauch
> schuetzen kann.
> Missbrauch definiert sich in diesem Zusammenhang wie folgt:
> a)  exessive Aufrufe von Scripten
> b)  "Posten" direkt in des Script ohne Aufruf der "das_Script_aufrufenden"
> html-Seite 
> c)  Zugriff auf  Verzeichnisse des Betribessystems und Auslesen der
> Informationen
> 
> Mir sind Mechanismen wie Session-ID's, "Apachen in chroot-Umgebungen" und
> Ressourcenbegrenzung
> bekannt, mich interessieren aber andere Loesungen dieser Probleme. Gibt es
> diese?
> 
> Ich nehme aber auch gerne Infos zu Session-ID's und Ressourcenbegrenzung
> entgegen.

Also nen kompletten virtuellen Server mit ssh-Zugang würde ich persönlich
sowieso nur in nem chroot laufen lassen. Ich arbeite ja unter FreeBSD, aber
unter Linux lässt sich sowas sicherlich genauso machen.

Nur gelesen habe ich da so Sachen wie ein komplettes World in nem chroot
ablaufen zu lassen. Der Kunde hat so ein komplettes base-System und kann auf
dem System tun und lassen was er will. Meinetwegen kann er auch seinen
Apachen löschen, die passwd umschreiben oder wasweissich, ist ja sein
Server. Du hast dir dann halt so Sachen wie CGI-Skripte und PHP absichern
gespart. Was mich an dieser Situation noch ein bischen stört ist die
Tatsache das der Kunde, verfügt er denn über genug Wissen, sich auch seinen
Server nach Belieben umbauen kann, d.h. WebServer runter QuakeServer drauf
und schlimmere Szenarien. Sowas lässt sich wahrscheinlich nur im Vertrag
regeln. Oder du gibst dem User auch in seinem virtuellen Server nur
eingeschränkte Rechte, dann kann er sich zwar zum root hacken, aber eben nur
zu seinem virtuellen Root.

Einfachere Sachen lass ich sowieso ohne Shellzugang und ohne PHP/CGI laufen.
Wobei sich ja für PHP auch eine Art chroot angeben lässt. Ähnliches gibt¹s
glaub ich auch für CGIs, setuid und son Kram. So Lösungen kommen bei mir
immer in Probleme, wenn ich möglichst wenig echte User auf meinem System
haben möchte, Mail z.B. läuft komplett virtuell in einer Datenbank.

Ich wär ja dafür das man eine Art chroot für jeden einzelnen <VirtualHost>
angeben kann, da CGIs und PHPs aber ausserhalb von Apache laufen, wäre das
auch nicht das optimale.

Sicher hat aber noch wer anderes was zu dem Thema zu sagen.

Philon


Re: Schutz von cgi-Scripten

Posted by "A. Friedrich" <fr...@planet-ic.de>.
At 11:09 10.12.2002 +0100, you wrote:
>On Tue, 10 Dec 2002, A. Friedrich wrote:
>
>> Wie kann ich es verhindern, das direkt das cgi-Script aufgerufen wird?
>
>Warum willst Du den direkten Aufruf denn verhindern?

ok, ich habe wohl zu wenig Infos bei der ersten Anfrage mitgegeben, sorry.
Nun aber ...

Wir betreiben ip-based, virtuelle Webserver. Die Server basieren auf Linux 
und sind mit dem apache, php, mysql, openssh, perl usw. konfiguriert.

Nun meine Frage: Gibt es Mechanismen mit denen ich cgi-Scripte vor Missbrauch schuetzen kann.
Missbrauch definiert sich in diesem Zusammenhang wie folgt: 
a)  exessive Aufrufe von Scripten 
b)  "Posten" direkt in des Script ohne Aufruf der "das_Script_aufrufenden" html-Seite 
c)  Zugriff auf  Verzeichnisse des Betribessystems und Auslesen der Informationen

Mir sind Mechanismen wie Session-ID's, "Apachen in chroot-Umgebungen" und Ressourcenbegrenzung
bekannt, mich interessieren aber andere Loesungen dieser Probleme. Gibt es diese?

Ich nehme aber auch gerne Infos zu Session-ID's und Ressourcenbegrenzung entgegen. 

MfG
A.Friedrich 



Re: Schutz von cgi-Scripten

Posted by Daniel Bradler <da...@bradler.com>.
On Tue, 10 Dec 2002, A. Friedrich wrote:

> Wie kann ich es verhindern, das direkt das cgi-Script aufgerufen wird?

Warum willst Du den direkten Aufruf denn verhindern?

Re: Schutz von cgi-Scripten

Posted by Michael Weber <ow...@netzschule.org>.
Hallo A. Friedrich,

> Hallo Liste,
> Ich moechte als Antwort keine ausfuehrlichen techn. Beschreibungen, mir reicht
> ein Anhalstpunkt, wie andere dieses Problem geloest haben.

Andere haben das in die httpd.conf geschrieben ;-) Hoffe das hilft.

so far,
Michael

P.S. Das wäre zu gemein oder? 

<Directory "/hiersind/meinescripte/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order deny,allow
    Deny from all
    Allow from irgendeinname oder eine ip
    ErrorDocument 403 "Du darfst nicht aufrufen"
</Directory>

Sollte eigentlich auch bis auf den Dateinamen reduzierbar sein.