TUD Logo

TUD Home » ... » ex Computing Center » Dienste » WWW

Faculty of Computer Science

against racism

Die Web-Server der Fakultät Informatik für persöhnliche Homepages und spezielle Dienste

Die folgenden Ausführungen beziehen sich nicht auf den offiziellen Webauftritt der Fakultät (www.inf.tu-dresden.de).

Hinweise zur Nutzung

Private HTML-Dokumente und Scripte müssen in den Verzeichnissen ~uid/public_html_www1 bzw. ~uid/public_html_www1/cgi-bin gespeichert sein. Die Startseite eines Verzeichnisses kann neben der Bezeichnung index.html auch den Namen index.htm, index.shtml, top.html, top.htm oder index.php besitzen. Wird auf die Bereitstellung einer Startseite verzichtet, wird der Inhalt des Verzeichnisses ausgegeben. Soll die Anzeige des Verzeichnisses unterbunden werden, kann dafür in einer Verzeichnis-Konfigurationsdatei .htaccess die Anweisung "IndexIgnore *" verwendet werden. Eine private Startseite hat den URL http://www1.inf.tu-dresden.de/~uid

CGI-Scripte

Der Aufruf eines CGI-Scripts, das im Verzeichnis ~uid/public_html_www1/cgi-bin gespeichert ist, muss über das Hilfsprogramm "cgiwrap" erfolgen (z.B.: http://www1.inf.tu-dresden.de/cgi-bin/cgiwrap/uid/cgi-script). Die Programme müssen unter dem Betriebssystem Linux (Ubuntu) lauffähig sein.

Server Side Includes

Server Side Includes (SSI) bieten neben CGI- und PHP-Scripten ebenfalls die Möglichkeit, in ein Web-Dokument dynamische Elemente einzubinden. Zu beachten ist, daß die entsprechenden Dokumente, wenn keine zusätzlichen Maßnahmen getroffen werden, weder in Proxy- noch in Client-Caches gespeichert werden. Wenn der Server SSI’s verarbeiten soll, muss er die betreffenden Dokumente nach entsprechenden Anweisungen durchsuchen. Um die Suche auf Dokumente zu beschränken, in denen auch tatsächlich SSI-Anweisungen vorkommen, müssen diese entsprechend gekennzeichnet sein. Dafür stehen zwei Möglichkeiten zur Verfügung:
  • Die Dateinamen von SSI-Dokumenten enden mit .shtml.
  • Für die betreffenden Dateien ist das User-Execute-Bit gesetzt.
Die Ausführung von Shell-Befehlen über SSI-Anweisungen (<!--#exec cmd="Shell-Befehl" -->) ist auf dem Web-Server des FRZ aus Sicherheitsgründen nicht zugelassen.

Zugriffskontrolle

Wie oben schon erwähnt, bietet der Apache-Server die Möglichkeit, s.g. Verzeichnis-Konfigurationsdateien zu verwenden. Üblicherweise heißen diese Dateien .htaccess. Mit Verzeichnis-Konfigurationsdateien besitzt der Nutzer die Möglichkeit, bestimmte Konfigurationsanweisungen des Web-Servers individuell einzusetzen. Welche Möglichkeiten dabei im einzelnen zur Verfügung stehen, ist in der zentralen Konfigurationsdatei httpd.conf festgelegt. Hauptanwendungsgebiet ist die Zugriffskontrolle für Nutzerdaten. Generell gibt es zwei Varianten, die Auslieferung von Daten durch den Web-Server zu steuern. Zum einen kann der Zugriff auf bestimmte Rechner (Clients) beschränkt werden. Dazu wird der Rechnername - besser die IP-Adresse - des Clients verwendet. Zum anderen besteht die Möglichkeit, die Auslieferung von Daten von der Eingabe eines Namens und Passwortes abhängig zu machen. Prinzipiell sollte aber bedacht werden, daß beide Verfahren nur eine relative Sicherheit bieten.

Zugriffskontrolle auf Client-Basis

Soll der Zugriff auf Client-Basis kontrolliert werden (Bestimmte Rechner werden zugelassen bzw. ausgeschlossen), sollte dies über deren IP-Adressen erfolgen. Die Angabe von IP-Adressen ist deshalb zu bevorzugen, weil sie sicherer und in der Abarbeitung effektiver ist. Realisiert wird die Zugriffskontrolle in diesen Fällen über die Anweisungen allow, deny und order.

allow from Adresse [Adresse] ...
Die Anweisung erlaubt den Zugriff einzelner oder auch aller Rechner auf Verzeichnisse oder Dateien. Für Adresse kann stehen: All Keine Einschränkungen. Der Zugriff ist von allen Rechnern gestattet.

Rechnername Namen von Rechnern, von denen aus der Zugriff erlaubt werden soll.

Domainname Namen von Domains, von denen aus der Zugriff erlaubt werden soll.

IP-Adresse IP-Adressen von Rechnern, von denen aus der Zugriff erlaubt werden soll.

Subnetz-Adr. Subnetzadressen, aus denen heraus der Zugriff erlaubt werden soll.

deny from Adresse [Adresse] ...
Die Anweisung verbietet den Zugriff einzelner oder auch aller Rechner auf Verzeichnisse oder Dateien. Für Adresse sind die gleichen Angaben, wie bei der Anweisung allow, verwendbar.

order Reihenfolge
Die Anweisung legt fest, in welcher Reihenfolge die beiden Anweisungen allow und deny auszuwerten sind. Für Reihenfolge kann stehen:

deny,allow: Zuerst Verweigerung des Zugriffes für die in der Anweisung deny aufgeführten Rechner, danach Zulassung der in allow angegebenen Rechner.

allow,deny: Gegenteil von obiger Reihenfolge.

mutual-failure
Rechnern, die mit allow zugelassen sind und nicht durch deny ausgeschlossen wurden, wird der Zugriff erlaubt.

Beispiel 1:
Das Verzeichnis ~vl1/public_html_www1 soll ausschließlich aus der Domain inf.tu-dresden.de, welche die IP-Adresse 141.76.*.* besitzt, erreichbar sein. Nur der Zugriff aus den Subnetzen 141.76.125.* und 141.76.126.* wird ausgeschlossen. Die Datei .htaccess, die im Verzeichnis ~vl1/public_html_www1 steht, kann dazu folgende Konfigurationsanweisungen enthalten:

order mutual-failure
allow from 141.76
deny from 141.76.125 141.76.126

Anmerkung: Praktische Bedeutung kann dieses Beispiel dadurch erhalten, dass die Fakultät Informatik nur über einen Teil der Class B-Adresse 141.76.*.* verfügt.

Beispiel 2:
Die Datei test.html aus dem Verzeichnis ~vl1/public_html_www1 soll durch den Server nur auf Anforderungen von den Rechnern irzr103 und irz731 ausgeliefert werden. Da hier nur der Zugriff auf eine einzelne Datei zu kontrollieren ist, sind die dafür erforderlichen Anweisungen in der Konfigurationsdatei .htaccess in eine Files-Anweisung (s. http://httpd.apache.org/docs/ ) einzuschließen.

<Files test.html>
order deny,allow
deny from All
allow from irzr103 irz731
</Files>


Zugriffskontrolle über Nutzernamen und Passwort

Der Apache-Server unterstützt diese Art der Zugriffskontrolle auf unterschiedliche Weise. Zum einen werden unterschiedliche Möglichkeiten zur Verwaltung der Passwortdateien (einfache Textdateien oder Datenbanken) unterstützt, zum anderen gibt es zwei prinzipielle Varianten der Passwortübermittlung (Basic und Digest). Der AuthType Digest ist die sicherere Methode, da das Passwort im Gegensatz zur Methode Basic zwischen Client und Server nicht im Klartext übertragen wird. Mittlerweile wird das Digest-Verfahren von den meisten Browsern auch unterstützt. Probleme gibt es z. Z. jedoch noch im Zusammenspiel zwischen dem am FRZ unter Solaris laufenden Apache und dem Internet Explorer, da der von Sun ausgelieferte Apache nur das Modul mod_digest enthält.

Basic-Authentifizierung

Für die Zugriffskontrolle mit Hilfe der Basic-Authentifizierung sind die Anweisungen AuthName, AuthType, AuthUserFile und Require in die Datei .htaccess aufzunehmen.

AuthName definiert einen Text, der bei der Paßwortabfrage ausgegeben wird. Zumindest wenn der Text Leerzeichen enthält, muss er in Anführungszeichen gesetzt werden.

AuthType bestimmt die Art der Paßwortverarbeitung (in diesem Fall Basic).

AuthUserFile bezeichnet die Passwortdatei.

Require legt fest, welchen Nutzern bzw. Nutzergruppen der Zugriff erlaubt werden soll. Soll die Erlaubnis für jeden Nutzer, der einen entsprechenden Eintrag in der Paßwortdatei hat, erteilt werden, ist hier valid-user einzusetzen. Zum Anlegen und Verwalten einer Passwortdatei für die Methode Basic steht das Hilfsprogramm htpasswd (an serv9, serv12) zur Verfügung (Aufruf: htpasswd [-c] uid). Beachten sollte man dabei, dass bei der Änderung eines Passwortes das Programm htpasswd nicht nach dem alten Passwort fragt.

Beispiel 3:
Auf das Verzeichnis ~vl1/public_html_www1/geheim sollen nur die Nutzer Zugriff haben, die einen Eintrag in der Paßwortdatei ~vl1/passwd besitzen. Das Verzeichnis ~vl1/public_html_www1 soll hingegen allgemein zugänglich sein. Im Verzeichnis "geheim" kann dazu eine .htaccess-Datei mit folgenden Anweisungen stehen:

AuthName "Ein Beispiel"
AuthType Basic
AuthUserFile /usr/users/irz/vl1/passwd
Require valid-user

Digest-Authentifizierung

Für die Zugriffskontrolle mit Hilfe der Digest-Authentifizierung sind analog zum Basic-Verfahren die Anweisungen AuthName, AuthType, , Require und bei Verwendung des Moduls mod_auth_digest im Apache-Server (zur Zeit wird noch die ältere Version mod_digest genutzt), die Anweisung AuthDigestDomain erforderlich.

AuthDigestFile bezeichnet die Passwortdatei.

AuthDigestDomain legt die URLs bzw. die URL-Pfade fest, für welche die Authentifizierung Anwendung finden soll (am FRZ zur Zeit noch nicht möglich). Zum Anlegen und Verwalten einer Passwortdatei für die Methode Digest steht das Hilfsprogramm htdigest (an serv9, serv12) zur Verfügung

>  htdigest [-c] Passwortdatei Realm uid

Für Realm ist hier die gleiche Zeichenkette anzugeben, die in .htaccess in der Anweisung AuthName verwendet wird. Auch htdigest verlangt bei der Änderung eines Passwortes nicht das alte Paswort.

Beispiel 4:
Für einen Nutzer user1 soll für die Anwendung der Digest-Methode eine neue Passwortdatei paswddigest erzeugt werden.

> htdigest -c paswddigest "Ein Beispiel" user1
Adding password for ...
New password: ********
Re-type new password: ********


PHP-Unterstützung

PHP ("PHP: Hypertext Preprocessor") ist eine serverseitig interpretierte, in HTML eingebettete Skriptsprache. Die Syntax ist ähnlich zu C, Java und Perl, erweitert durch PHP-eigene Features wie z.B. Kommandos zur Integration von Datenbanken. PHP gibt dem WWW-Anwendungs-Entwickler einfach erlernbare und gleichzeitig mächtige Werkzeuge zur Erstellung von Web-Seiten dynamischen Inhalts an die Hand.
Von Web-Servern des FRZ wird PHP5 mit Hilfe eines Moduls unterstützt. Alle weiteren Informationen zu PHP finden sie im PHP Center.

SSL-Verschlüsselung

Um sicherheitsrelevante Inhalte zwischen unserem Web-Server und den Browsern verschlüsselt übertragen zu können, wurde das SSL-Protokoll implementiert.
Es kann somit jede URL innerhalb von www1.inf.tu-dresden.de bzw. www2.inf.tu-dresden.de mit https://... aufgerufen werden.
Da das Server-Zertifikat in diesem Fall nur zur Verschlüsselung benötigt wird, haben wir es nicht von einer PCA (z.B. DFN-PCA) erstellen lassen.

Logfiles

Auf den Servern des FRZ werden die Logfiles access_log und error_log geschrieben. Dabei werden im acces_log-File die folgenden Angaben erfaßt:
  • Name bzw. IP-Adresse des Clients,
  • Datum und Uhrzeit des Zugriffs,
  • Statuscode,
  • Aufgerufene Datei,
  • Größe der vom Server ausgelieferten Datei.
Last modified: 1st Feb 2010, 3.26 PM
Author: Web Master

Contact
Web Master

Phone:
Fax: 
e-mail contact form