previous next up contents index


Subsections


3.2 Webserver

 

3.2.1 Einführung

  Zentraler Intranet-Dienst ist ein Webserver, auf dem alle Dokumente des WWW-Angebots gespeichert sind, und der die Anfragen der Clients (Web-Browser) bedient. Im Laufe dieser Arbeit wurden insgesamt drei Webserver installiert und für den Einsatz im FH-Intranet getestet:

Die beiden ersten genannten sind für den nichtkommerziellen Einsatz und an Hochschulen kostenlos, der Stronghold-SSL-Server ist kostenpflichtig, kann aber als 30 Tage Testversion über die Internet-Homepage[*] bezogen werden.

Im folgenden sind die drei Webserver näher beschrieben, dabei wird auf die Installation und die Konfiguration näher eingegangen.

3.2.2 Roxen Challenger 1.1

 

Der Roxen Challenger ist ein Webserver, der seit 1993 von der Lysator Computer Society an der Universität Linköping in Schweden entwickelt wird. Sein Vorteil ist die einfache Installation mit Hilfe des Autoconf-Mechanismus, sowie seine webbasierte Konfiguration, bei der der Administrator sämtliche Einstellungen über Browser treffen und verändern kann. Zudem ist vom Hersteller eine Erweiterung für den Security Socket Layer erhältlich, der bei Bedarf in das Paket einkompiliert werden kann.

Dem gegenüber stehen Probleme bei der Ausführung von CGI-Programmen: im Testverlauf war es nicht möglich, selbsterstellte CGI-Programme, die auf den anderen Webservern einwandfrei liefen, auf dem Challenger ausführen zu lassen. Da aber diese und weitere Programme für das FH-Intranet von großer Bedeutung sind, kommt dieser Server für den Einsatz im FH-Intranet im Moment nicht in Frage. Sollten sich die Probleme beseitigen lassen, ist er wegen seiner benutzerfreundlichen Administration den beiden anderen in jedem Fall vorzuziehen. Im Großen und Ganzen ist zu den Standard-Servern, wie dem CERN httpd und dem Apache, kompatibel und diesen in weiten Bereichen überlegen.

Installation:

Die Sourcen des Challenger finden sich im Internet über die Homepage der Herstellerfirma. Ihre Adresse lautet:



http://www.roxen.com/shop/dist/



Es sind sowohl eine Sourcecode-Distribution als auch Binary-Versionen für verschiedene Unix-Systeme verfügbar. Für den Test wurde die Binary-Distribution für das Sun-Betriebssystem ausgewählt (Datei Roxen_1.1_sparc_sun_sunos5.5.tar.gz aus dem Unterverzeichnis binaries/Roxen_1.1/). Das Paket wird mit folgendem Befehl entpackt [*]:



tar xfz Roxen_1.1_sparc_sun_sunos5.5.tar.gz .



Daraufhin wird eine Verzeichnisstruktur erzeugt, die im Unterverzeichnis roxen/ abgelegt ist, in das am besten gewechselt wird. Auf der Testumgebung ist das Installationsverzeichnis im Dateibaum unter



/usr/local/www/roxen



angelegt. Der Installationsvorgang wird durch den Aufruf eines Scripts fortgesetzt, das mit dem Befehl



server/install



gestartet wird. Mit diesem Programm werden einige grundlegende Angaben abgefragt, die in Tabelle 3.1 mit ihren Eintragungen dargestellt sind.

 
Tabelle 3.1:  Installationsangaben für Roxen Challenger
Angabe: Eintrag:
Full Hostname INTERN.fh-regensburg.de
Configuration Interface Port Number 18030
Configurations Directory ../configurations
Log Directory ../logs
WWW-Browser netscape


Abschließend wird der Server automatisch gestartet.

Soll der Roxen Challenger nun bei jedem Bootvorgang mitgestartet werden, so ist folgender Eintrag in die Startdateien einzutragen:



cd /usr/local/www/roxen;./start



Aus Sicherheitsgründen ist zu empfehlen, Dateibesitzer und Gruppenzugehörigkeit aller zum Server gehörigen Dateien auf einen bestimmten System-User umzustellen. Im Allgemeinen wird bei den Webservern vorgeschlagen, hierfür den User nobody in der Gruppe nogroup zu verwenden. Da einige Hackertools diesen Umstand als Schwachstelle erkennen und dadurch das System unterwandern können, ist in der Testumgebung User und Gruppe mit folgendem Befehl gesetzt worden:



chown -R bin:bin roxen/



Bevor der Roxen nun für den laufenden Betrieb konfiguriert wird, können die speziellen SSL-Komponenten[*] installiert werden. Diese können ebenfalls über die oben genannte Quelle (Datei SSLeay/SSLeay-0.6.4.tar.gz) bezogen werden. Der Entpackvorgang wird ebenfalls wie oben beschrieben durchgeführt, und in das erzeugte Unterverzeichnis gewechselt. Für den Installationsvorgang sind folgende Befehle auszuführen:

make -f makefile.ssl links

./configure solaris-sparc-gcc

make -f makefile.ssl clean

make -f makefile.ssl depend

make -f makefile.ssl

make -f makefile.ssl rehash

make -f makefile.ssl test

make -f makefile.ssl install

Anschließend wird das SSL-Paket im Roxen Challenger (nur in der Sourcecode-Distribution möglich !) integriert mit den Befehlen:

cd extern && make ssl

Anschließend wird das entstandene Binary ssl in das Verzeichnis der ausführbaren Dateien des Challenger kopiert :

cp ssl /usr/local/www/roxen/server/bin .

Konfiguration:

Als ersten Schritt beschreibt das Manual (siehe [7]) die Konfiguration des Configuration Interfaces. Beim ersten Kontakt mit dieser Schnittstelle ist für den Administrator ein Benutzername und ein Paßwort (zweimal) anzugeben. Für das Intranet wurde hier der User name cmetten mit dem Paßwort mchristoph eingetragen. Eine Änderung dier Einstellungen ist möglich.

Der erste Schritt der Konfiguration ist die Installation eines Virtual Server. Für das FH-Intranet wurden folgende Einstellungen getroffen:



Interface Name: Intranet
Domain: fh-regensburg.de
Listen Port: 80, http, ANY
IP-Number: *
Server URL: http://INTERN.fh-regensburg.de



Da der Challenger mehrere virtuelle Server unterstützen kann, dient der Name einer leichteren Unterscheidung. Der Domainname, der Listen Port und der Server-URL dienen zur Unterscheidung der virtuellen Server, wenn eine Anfrage von einem Client an den Server gestellt wird. Über die IP-Number wird der Zugriff auf den Server reglementiert, also welche Clients Anfragen stellen dürfen.

Als nächster Schritt muß der neue virtuelle Server ein Filesystem erhalten. Dies ist ein Modul für den Challenger, in dem angegeben ist, wo sich die Web-Dokumente befinden und wie sie als URL anzugeben sind. Grundeinstellung ist hier folgende:



Module Name: Intranet FS
Security Patterns: allow ip=194.95.104.*
  allow ip=194.95.104.*
  allow ip=194.95.104.*
  allow ip=194.95.104.*
  allow ip=194.95.104.*
  allow ip=194.95.104.*
Mount Point: /
Search Path: /usr/local/www/daten



Der Name dient wieder der Unterscheidung: ein virtueller Server kann verschiedene Dateisysteme nutzen, die beispielsweise über mehrere Festplatten oder sogar Computersysteme verteilt sind. Die Security Patterns reglementieren die Zugriffsberechtigungen für Client-Anfragen, ein Ausschluß von Systemen für bestimmte Dateisysteme ist möglich. Der Mount Point ist die Verzeichnisangabe, unter der das Dateisystem in der URL anzugeben ist, der Search Path ist schließlich die physikalische Verzeichnisangabe, in der sich die Daten befinden.

Mit den beschriebenen Eingaben ist der Roxen Challenger lauffähig. Zur Optimierung des Systems stehen weitere Module zur Verfügung, die bei Bedarf in das System, also den virtuellen Server integriert werden können. Der installierte Server, der für das FH-Intranet verwendet wurde enthält die Module, die in Tabelle 3.2

 
Tabelle 3.2:  Installierte Module des Roxen Challenger
Modul: Beschreibung:
.htaccess Support Zugriffsbeschränkung auf bestimmte Verzeichnisse
CGI Executeable Support Ausführen von CGI-Scripten
Client Logger Aufzeichnen der Server-Anfragen
Contenttypes Erkennung verschiedener Dateiextensions
Directory Parsing Module Darstellug von Verzeichnisbäumen
Filesystem Dateisystem für die Web Dokumente
ISMAP Image Maps Erkennung und Interpretation von clickable Images
Main RXML Parser Serverseitige Interpretation von Dokumenten
Pike Script Support Roxen-eigene Script-Sprache
User Filesystem Darstellung von Benutzer-Homepages
Security Access Zugriffsbeschränkungen
User Logger Aufzeichnungen der Anfragen an Benutzer Homepages


aufgeführt sind. Für nähere Informationen sei der Leser an die Dokumentation ([7]) verwiesen.

Für die Benutzung im Rahmen eines Intranets sind die Module .htacces Support, CGI Executeable Support und Security Access wichtig. Die übrigen sind als Standardmodule nicht weiter von Bedeutung, auf die aktuellen Einstellungen wird hier nicht näher eingegangen.

In Bezug auf Systemsicherheit ist es abzuwägen, ob Benutzer-Homepages zugelassen werden und ob diese eigene CGI-Skripten erstellen und starten dürfen, da dies einen Angriffspunkt für Hacker darstellt. Im Allgemeinen kann der Intranet-Betrieb ohne Benutzer auf der jeweiligen Maschine stattfinden. Somit sind Benutzer-Homepages zu unterbinden, wodurch auch Skripten nicht möglich sind.

Über die beschriebenen Module hinaus bietet Roxen noch eine ganze Reihe zusätzlicher Erweiterungen, mit denen zusätzliche Optionen unterstützt werden. Im Internet ist hierzu auch gute Dokumentation zu erhalten[*]. Da der Challenger für den Einsatz im Intranet sich wegen der genannten Probleme als nicht geeignet erwiesen hat, wird der Betrieb und die Konfiguration auch nicht näher beschrieben.

3.2.3 Apache httpd 1.2.3

 

Der zweite Webserver, der getestet wurde, ist der im Moment wohl weltweit am meisten verbreitete. Er entstand 1995 auf Basis des damaligen Standard-http-Daemons NCSA[*] an der University of Illinois, wo dieser über einen längeren Zeitraum nicht weiterentwickelt wurde. Aus den eigenen Erweiterungen und Patches mehrerer Webmaster entstand daraus das Apache Project. Die Vorteile dieses Server-Programms sind sicherlich in der weiten Verbreitung, der einfachen Beschaffung per Internet und der simplen Installation und Konfiguration zu sehen, aber auch in der Philosophie, daß ein derartiges Programm für jedermann frei erhältlich sein soll[*].

Installation:

Die Sourcen für den Apache Daemon sind im Internet über einen der Webserver der Apache Group[*] erhältlich, sowie in zahlreichen Mirrors und ftp-Sites. Das so erhältliche Dateiarchiv kann mit den Befehlen



tar xfz apache_1.2.3.tar.gz



entpackt werden. Hierdurch entsteht ein Verzeichnisbaum mit dem benötigten Sourcecode in einem Unterverzeichnis src/ , in das gewechselt werden muß.

Zu Beginn der Installation ist eine Konfigurationsdatei zu erstellen. Hierzu wird ein mitgliefertes Template mit dem Befehl



cp Configuration.tmpl Configuration



kopiert, das dann zu editieren ist. In diesem File werden Optionen für den Übersetzungsvorgang, sowie alle gewünschten Module angegeben. Tabelle 3.3

 
Tabelle 3.3:  Installierte Module des Apache Webservers
Modulname: Bedeutung:
env_module Umgebungsvariablen für Server Side Includes (SSI)
config_log_module Logging-Mechanismus
mime_module Typenerkennung: Dateiendung
negotiation_module Typenerkennung: Accept-Eintrag im HTTP-Header
status_module Performance-Information des Servers
includes_module Umsetzung der SSI-Befehle
dir_module Handling von Verzeichnissen und Verzeichnisinhalten
cgi_module Handling von CGI-Scripten
asis_module .asis - Dateityp (Headerinfo am Documentanfang)
imap_module Interne Imagemaps
action_module CGI-Scripts zur automatischen Dateikonvertierung
userdir_module Homepages von Benutzern
alias_module URL-Redirection
rewrite_module Umsetzung von URI und URL
access_module Zugriffskontrolle
auth_module Authentifizierung von Benutzern
mod_auth_anon Authentifizierung im FTP-Stil
digest_module Sicherere Authentifizierungsmethode (statt Basic)
expires_module Ablaufdatum für HTML-Dokumente
cern_meta_module Simulation des CERN-Server-Verhaltens
headers_module Nicht-Standard-Antwortheader
usertrack_module Netscape Cookies
browser_module Umgebungsvariablen für bedingten HTML-Code


zeigt die für das FH-Intranet installierten Module.

Mit dem Befehl



./Configure



wird das Makefile für die Hardware-Plattform vorbereitet, das für den Compilationsvorgang zuständig ist. Das Binary des Daemons wird mit dem Befehl



make



erzeugt und kann dann in ein dafür vorgesehenes Verzeichnis kopiert werden:



cp httpd /www/apache-1.2.3/bin



Konfiguration:

  Der Apache Webserver wird mit Hilfe von drei Textdateien konfiguriert. Dies ist zum einen die Datei httpd.conf (Allgemeine Einstellungen), srm.conf (Dokumentenbasis) und access.conf (Zugriffssteuerung). Für nähere Informationen sei an die entsprechende Konfigurationsdatei und an die Online-Dokumentation verwiesen. Beschrieben werden hier nur diejenigen Parameter, die von der Vorgabe abweichen.

Zum Start des Apache Webservers ist der Befehl



/www/apache-1.2.3/bin/httpd -f
                                                     /www/apache-1.2.3/conf/httpd.conf



einzugeben. Sollte der Daemon neu gestartet werden müssen, z.B. nach Änderung eines Parameters, so geschieht dies mit dem Befehl



kill -HUP `cat /www/apache-1.2.3/logs/httpd.pid` .



3.2.4 Stronghold Secure Server 2.0

  

Der dritte Webserver, der im Rahmen dieser Arbeit getestet wurde, ist ein kommerzielles Produkt. Zu Evaluationszwecken ist dieser Server allerdings in einer 30 Tage Test Version erhältlich. Gegenüber den anderen beiden Systemen bietet Stronghold die Möglichkeit einer verschlüsselten Datenübertragung im Internet. Gerade wegen des steigenden Sicherheitsbedürfnisses, auf das in Firmen großer Wert gelegt wird, empfiehlt sich für ein Intranet der Einsatz von Kryptologie, besonders, wenn das Firmennetzwerk eine größere geographische Ausdehnung besitzt.

Die Firma UK Web Security Solutions hat sich mit mehreren ausländischen Partnern auf den Vertrieb von Programmen mit Sicherheitsmechanismen im Inernet spezialisiert. In diesem Zusammenhang steht auch der Stronghold Secure Server 2.0, der auf dem Sourcecode des Apache Webserver basiert, und um die Funktionalität des Secure Socket Layer (SSL) erweitert wurde. Daneben ist die einfache Installation und Konfiguration als besonderer Vorteil anzusehen.

Installation:

Um eine Evaluation Copy des Stronghold zu erhalten, ist zunächst ein Online-Formular auszufüllen, in dem Angaben über Person und Firma zu machen sind. Daraufhin erhält man per eMail einen 8-stelligen Lizenz Key, sowie eine Benutzerkennung und ein Paßwort, mit deren Hilfe man über die Homepage des Hersteller den Server beziehen kann. Für den Test wurde auf diesem Weg die Version 2.0.1 für das Sun Solaris Betriebssystem, Version 2.5 geladen. Der Entpackvorgang wird mit Hilfe des Befehls



tar xvfz stronghold-2.0.1-sparc-sun-solaris2.5.tar.gz



durchgeführt. In dem Dateibaum ist ein Installationsprogramm INSTALL.sh enthalten, das die benötigten Informationen vom Benutzer abfragt. Tabelle 3.4

zeigt die entsprechenden Angaben.

 
Tabelle 3.4:  Benutzereingaben für Stronghold Secure Server Installation
Angabe: Eintrag:
Installationsverzeichnis: /www/stronghold
Log-Verzeichnis: /www/stronghold/logs
Servername: INTERN.fh-regensburg.de
Server-Admin: cmetten@INTERN.fh-regensburg.de
Standard Access Port: 8887
SSL Secure Access Port: 443
Server User (Daemon): www
Server Group (Daemon): www
Stronghold License Key: 0e:b4:63:07:63:a8:08:64
Conferencing Administrator: Admin
Password for admin: am97$
Configuration Interface Port: 444
Direct Interface Port: 445
Config User admin
Config Password: am97$


Zum Betrieb des Secure Servers werden zwei Umgebungsvariablen benötigt:



SSLTOP /www/stronghold/ssl
PATH $SSLTOP/bin:$PATH



Für die gesicherte Übertragung von Daten zwischen einem Client und dem Stronghold muß das Schlüsselpaar, also privater und öffentlicher Schlüssel zunächst zertifiziert werden. Im Installationsskript ist hierfür die Option Generate a new key zu wählen. Im Verzeichnis /www/stronghold/ssl wird nun eine Datei



INTERN.fh-regensburg.de.key



erzeugt, in der der öffentliche Schlüssel gespeichert ist. Daraufhin ist die Schlüsselgröße einzugeben, was mit der Länge von 768 bits beantwortet wurde. Nun ist man aufgefordert, zufällig Tasten auf der Tastatur zu drücken. Aus dem zeitlichen Abstand zwischen den Anschlägen werden die Zufallszahlen für die Schlüsselgenerierung erzeugt. Im Anschluß daran muß man noch einige Fragen beantworten, die in Tabelle 3.5

 
Tabelle 3.5:  Angaben zur Stronghold Schlüsselzertifizierung
Angabe: Eintrag:
Send Request to a CA no
Country Code: DE
State / Province: Germany
Locality: Regensburg
Organization: Fachhochschule
Unit Name: RZ
Common Name: Intranet
eMail cmetten@INTERN.fh-regensburg.de
PEM-password: IntraNet


beschrieben sind.

Konfiguration:

Durch die Codeverwandschaft zum Apache Server empfiehlt es sich, die Eintragungen der Konfigurationsdateien zu verwenden, wie sie in Kapitel 3.2.3 beschrieben sind. Eine Besonderheit ist hierbei, daß die Konfiguration nicht auf drei Dateien verteilt ist, sondern daß sie gesamt in der Datei httpd.conf enthalten ist.

Neben diesen Einträgen existiert eine Datei swish.conf , die es in dieser Form bei Apache nicht gibt. Diese Einträge lauten:

Somit ist der Stronghold konfiguriert.

Betrieb des SSL-Servers:

Der Stronghold Secure Server kennt vier Betriebsmodi:

Im normalen Betrieb unterscheidet sich der Stronghold nicht von einem gewöhnlichen Webserver. Bei der sicheren Verbindung erscheint zunächst ein Hinweis, daß man sich jetzt in einem Bereich befindet, der die Daten verschlüsselt überträgt.

Der Stronghold Configuration Manager ist ein Web-basiertes Konfigurationstool, das dem des Roxen Challenger in gewisser Weise ähnelt. Hier können sowohl globale Servereinstellungen verändert werden, als auch einzelne Module ein- und abgeschaltet werden. Als besonderes Feature sei hier die Möglichkeit genannt, die Einstellungen auf Diskette oder in Datei zu sichern. Somit kann die Einstellung vor einer Manipulation gesichert, bzw. auf einen anderes Computersystem übertragen werden.

Die Verwendung des Direct Interface ist leider im Verlauf des Tests nicht klar geworden. Einzig auffällig war, daß trotz Eingabe des angegebenen Paßwortes keine Reaktion des Webservers erfolgte. Die Vorzüge dieses Ports werden unter Umständen ersichtlich, wenn man sich intensiver mit dem Programmpaket und seiner Dokumentation beschäftigt.

3.2.5 Sicherheitsaspekte

In Anbetracht des gesteigerten Sicherheitsbedürfnisses, das mit der schnell wachsenden Verbreitung des Internets entsteht, ist der Einsatz eines SSL-Servers für ein Intranet in jedem Fall zu empfehlen. Da innerhalb von Unternehmen, aber auch der Fachhochschule, Informationen ausgetauscht werden, die der Geheimhaltung oder dem Datenschutz unterliegen, kann man so die Gefahr verringern, der man seine sensitiven Daten aussetzt. Trotz des Preises von etwa 1000 US-Dollar kann man argumentieren, daß dies ein kleiner Preis ist, wenn man bedenkt, daß die Schäden durch Datendiebstahl in einem Firmennetz um ein Vielfaches höher sind.

Es bleibt abzuwarten, in wie weit Kryptologie bei der Datenkommunikation juristisch eingeordnet wird. Im Augenblick ist ihr Einsatz in der Bundesrepublik Deutschland ohnehin nicht oder nur eingeschränkt zulässig.


previous next up contents index


10/6/1997