| |
WWW-Verzeichnis einen symbolischen Link auf ein solches Skript, auf den er
selber nicht direkt zugreifen kann, kann er das mit Hilfe des Webservers von
Aussen. Denn wenn er über den Webserver darauf zugreift, gelten die Rechte
des Webservers, die des Benutzers webuser.
Um dies zu verhindern kann die FollowSymLinks-Direktive (sowie einige
andere Direktiven) genutzt werden. Diese kann und sollte zum Beispiel in
einem Block für Benutzerverzeichnisse angegeben werden.
Für die Unterbindung des regulären Zugri s auf Dateien, der bestimmten
Clients nicht gewährt werden soll, gibt es verschiedene Authentifizierungs-
module. Diese Apache-Module überprüfen, ob der Client derjenige ist, der
er vorgibt zu sein. Es kann mit einfachen Mitteln eine Benutzer Datenbank
(oder mehrere) angelegt werden und der Zugri nur bestimmten Benutzern
gestattet werden. Dies geschieht in der Regel durch die require-Direktive in
Kombination mit den Auth*-Direktiven.
Werden Skripte ausgeführt, droht immer die Gefahr, das diese genutzt
werden, um unheilvollen Code auszuführen. Im Lieferumfang von Apache
ist das Programm suEXEC. Dies ist ein Wrapper zur Ausführung von CGI-
Skripten, der wenn Benutzer eigene CGI-Skripte ausführen dürfen, diese nicht
als webuser ausführt, sondern als deren Besitzer. Wird suEXEC verwendet,
können die CGI-Skripte der Benutzer stets nur den Schaden anrichten, den der
Benutzer auch manuell anrichten könnte.
In Abschnitt 3.7 wurde erwähnt, das über das exec-Element im Rahmen
von SSI-Include-Anweisungen Shell-Befehle, sowie CGI-Skripte ausgeführt wer-
den können. Will man Benutzern die Nutzung von SSI-Dateien ermöglichen,
Ihnen aber nicht die Möglichkeit geben, Code auszuführen, so kann man diese
Gefahrenquelle deaktivieren. Die Direktive
Options +IncludeNOEXEC
leistet dies, indem sie SSI erlaubt, jedoch die Ausführung von exec-Elementen
nicht gestattet.
5 Ausblick
Es wurde versucht, ein detailliertes Bild der inneren Vorgänge im Apache
Webserver zu geben. Die vielen Features und Einstellungsmöglichkeiten eines
Programms wie dem Apache Webserver können im Rahmen einer Arbeit diesen
Umfangs nicht alle diskutiert werden, daher wurde auf eine detaillierte Beschrei-
bung der Module für CGI, SSI und Authentifizierung verzichtet. Diese Module
sind sehr mächtig und könnten Thema einer gesonderten Arbeit sein.
Einige Features wurden garnicht angesprochen, da sie zwar vorhanden sind,
aber nicht generell genutzt werden und nicht für den Betrieb eines Webservers
nötig sind. Dies ist zum Beispiel Apaches Unterstützung von Secured Socket
Layern (SSL), die eine sichere Verbindung zum Server ermöglichen, sowie die
18
|  |
|
| |
|
|