PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : eigene cgi scripte und sichercheit



ccc
29.04.04, 10:48
hi

habe SuSE 8.2 mit Apache 2 installiert
und mehrere virtuelle server erfasst:

<VirtualHost 214.X.X.X>
DocumentRoot "/home/user2/public_html/"
ServerName user2.domain.com:80
Scriptalias /cgi-bin/ "/home/user2/public_html/cgi-bin/"
</VirtualHost>

wie kann ich aber cgi sicherer machen ?
muss ich da speziell bei SuSE aufpassen ?

gruss
ccc

Multe
29.04.04, 12:12
Hallo,

ich stand vor dem selben Problem.
Ich habe es so geregelt, das nicht jeder User das darf. Ich habe nur 2 User die das dürfen, ich selber und noch ein Kumpel der weiss wie man damit umgeht.

Um es sicherer zu machen gibt es eine Option namens "suexec", die im Apache einkompiliert wird (korrigiert mich wenn es nicht stimmt). Damit kann man festlegen mit welchem User/Usergruppe das Skript ausgeführt wird.

Ich weiss nicht sehr viel darüber, ich hab nur mal nen Howto bei 1und1 dazu gelesen (server.1und1.com und dort unter Roorserver und Suse7.2) ist aber schon lange her, also kein Garantie ob das heute auch noch aktuell ist.

Gruß Malte

emba
01.05.04, 17:18
evtl. bist du c´t leser und hast eine der folgenden ausgaben
http://www.heise.de/ct/inhverz/search.shtml?T=cgi&Suchen=suchen

ansonsten ist das mit suexec eine feine sache

greez

cane
04.05.04, 09:02
Alle Eingaben, die vom Client kommen müssen vom CGI-Script überprüft werden. Vom CGI-Script deswegen, weil Überprüfungen im Browser umjgangen werden können indem man die CGI-URL manuell aufruft!

Ohne Überprüfung könnte es passieren:

- dass beim Generieren oder beim Lesen von Dateien per ../ in Verzeichnisse gewechset wird, auf die der User normal keinen Zugriff hat.

- dass Eingabedaten, die als Parameter an Shellscripte weitergeleitet werden interpretiert werden (Semikolon etc).


Perl bietet für CGI-Scripte einen "Taint-Modus" an, bei dem alle Daten, die von außen kommen und unüberprüft weiterverarbeitet werden zu einem Abbruch des Scripts führen.

mfg
cane