|
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 NutzungPrivate 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/~uidCGI-ScripteDer 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 IncludesServer 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:
ZugriffskontrolleWie 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-BasisSoll 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] ... 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] ... order Reihenfolge 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 Beispiel 1: 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: <Files test.html> order deny,allow deny from All allow from irzr103 irz731 </Files> Zugriffskontrolle über Nutzernamen und PasswortDer 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: 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: > htdigest -c paswddigest "Ein Beispiel" user1 Adding password for ... New password: ******** Re-type new password: ******** PHP-UnterstützungPHP ("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üsselungUm 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. LogfilesAuf den Servern des FRZ werden die Logfiles access_log und error_log geschrieben. Dabei werden im acces_log-File die folgenden Angaben erfaßt:
|
Kontakt
Web Master
Tel.: Fax: |