Dieses Kapitel des Server Extensions Resource Kit beschreibt allgemeine Webhosting-Sicherheitsaspekte und bietet Informationen darüber, wie FrontPage die Webserversicherheit auf UNIX-basierten Webservern und auf dem Webserver IIS (Internet Information Server) für Windows NT gewährleistet. Dieses Kapitel besteht aus drei Abschnitten:
Unabhängig davon, welche Software Sie ausführen, sind die beiden folgenden Sicherheitsaspekte am wichtigsten, wenn Sie von Ihrem Computer aus auf Websites zugreifen:
Das Hosting von Websites, auch im Intranet, öffnet Ihren Hostcomputer für eine größere Anzahl von Benutzern. Authentifizierung ist das Verfahren, mit dessen Hilfe Benutzern der Zugriff auf den Webdienst, entweder auf Grundlage von Benutzernamen und Kennwörtern oder basierend auf IP-Adressen, ermöglicht wird. Das Begrenzen der Anzahl von Benutzern unter Verwendung einer IP-Adresse bietet weniger Sicherheit, da geschickte Benutzer eine IP-Adresse imitieren und auf diese Weise auf den Hostcomputer zugreifen können.
Programme können aus verschiedenen Gründen basierend auf dem Inhalt einer Website auf Ihrem Computer ausgeführt werden. Zum Beispiel:
FrontPage berücksichtigt diese Sicherheitsaspekte, indem die integrierten Sicherheitsmechanismen des Hostcomputers verwendet werden. Die Verwendung der FrontPage-Servererweiterungen erfordert keine Änderungen des Sicherheitsverfahrens des Hostcomputers. Es ist nicht erforderlich, Webserverprogramme erneut zu kompilieren. Es sind darüber hinaus keine benutzerdefinierten Filter oder andere Sicherheitsmodifikationen vorhanden.
Eine vollständige Beschreibung der FrontPage-Sicherheit auf UNIX-basierten Webservern finden Sie unter "FrontPage-Sicherheit auf UNIX-basierten Systemen".
Eine vollständige Beschreibung der FrontPage-Sicherheit auf IIS-basierten Webservern finden Sie unter "FrontPage-Sicherheit auf IIS-Systemen".
Die FrontPage-Servererweiterungen auf UNIX-Webservern
Dateistruktur der FrontPage-Servererweiterungen
Einstellungen für FrontPage-Zugriffsdateien
Festlegen von Berechtigungen für Webinhalt
Festlegen der Servererweiterungen auf SUID/SGID
Ändern der Konfigurationsdatei des Webservers
Die Konfigurationsdatei der Servererweiterungen
Im UNIX-Sicherheitsmodell verwaltet der Webserver eine Liste von Konten mit Benutzernamen und Kennwörtern sowie eine Liste von Benutzergruppen mit verschiedenen Berechtigungsebenen für die Verwendung der Dienste des Webservers. Die vom Webserver verwalteten Konten und Gruppen werden von den Listen von Benutzern und Gruppen mit Zugriff auf das Dateisystem des Hostcomputers vollständig getrennt. Um Dateien aufzurufen und Skripts bzw. Programme auf dem Hostcomputer auszuführen, wird der Webserver als UNIX-Konto, gewöhnlich "www", ausgeführt.
Der Zugriff auf den Inhalt eines Webservers, auf CGI-Skripts und auf Konfigurationsdateien wird durch Einträge in einer Zugriffsdatei gesteuert. Bei Webservern von Apache und NCSA heißt die Datei .htaccess, bei Netscape-Servern .nsconfig und bei CERN .www_acl. Diese Dateien ordnen Benutzern, Gruppen und IP-Adressen unterschiedliche Berechtigungsebenen zu: GET (Lesen), POST (Ausführen), PUT (Schreiben) und DELETE (Löschen). Zum Beispiel hat ein FrontPage-Autor möglicherweise die Berechtigung, HTTP-POST-Befehle (zum Speichern von neuem Inhalt) zu verwenden, während ein Benutzer mit Leserechten möglicherweise HTTP-GET-Befehle (zum Lesen von Inhalt) verwenden kann.
Auf einem Webserver können mehrere Zugriffsdateien gespeichert werden. Jede Zugriffsdatei bietet Sicherheit für den Ordner, in dem sie sich befindet, und für alle entsprechenden untergeordneten Ordner, die keine eigenen Zugriffsdateien enthalten. Durch das Erstellen von Zugriffsdateien für den gesamten Inhalt des Webservers kann unterschiedlichen Gruppen von Benutzern, die verschiedene Berechtigungsebenen besitzen, Zugriff auf unterschiedliche Bereiche des Servers ermöglicht werden.
Da der Webserver unter einem UNIX-Konto (wie z. B. "www") ausgeführt wird, muß jeder von ihm ausgeführte Prozeß und jede Datei, auf die er zugreift, in den Berechtigungen dieses UNIX-Kontos zur Verfügung stehen. Wenn der gesamte Inhalt in einem einzigen UNIX-Konto verfügbar ist, kann ein Sicherheitsproblem entstehen, da das CGI-Skript eines Benutzers möglicherweise Dateien im Inhaltsbereich eines anderen Benutzers auf dem Server lesen kann. Mit Schreibzugriff, wie beispielsweise beim FrontPage-Client, kann in einer Multihosting-Umgebung ein CGI-Skript möglicherweise in Dateien in Inhaltsbereichen anderer Benutzer schreiben oder sie überschreiben, wenn das CGI-Skript eines Benutzers in dem zum Benutzer gehörenden Inhaltsbereich genügend Berechtigungen zum Schreiben in einer Datei besitzt.
Um diesen Sicherheitsaspekt zu berücksichtigen (der für alle CGI-Skripts, einschließlich der FrontPage-Servererweiterungen, gilt), kann das SUID (Set User ID)-Bit der Ausführungsberechtigungen des CGI-Skripts festgelegt werden, wodurch der Webserver gezwungen wird, bei der Ausführung des Skripts zum UNIX-Benutzerkonto des Besitzers des CGI-Skripts zu wechseln. Da es unwahrscheinlich ist, daß das Konto des Skriptbesitzers Schreibberechtigung in Inhaltsbereichen anderer Benutzer hat, ist somit ein Schutz vor unberechtigtem Schreiben in Dateien gewährleistet.
Bei der UNIX-Authentifizierung empfängt der Server eine HTTP-GET-Anfrage mit einem Benutzernamen und einem Kennwort, wenn ein Benutzer eine Seite auf einem Webserver aufruft. Der Webserver überprüft die Benutzerberechtigungen in der entsprechenden Zugriffsdatei. Wenn der GET-Befehl mit der Authentifizierung des Benutzers nicht ausgeführt werden kann, gibt der Webserver einen 401-Fehler zurück, um anzuzeigen, daß es sich um einen unberechtigten Benutzer handelt. Der Client fordert anschließend zur Eingabe eines neuen Namens und eines neuen Kennwortes auf und übermittelt die Anfrage erneut. Nach der Authentifizierung des Benutzers versucht der Webserver, den Inhalt aus dem Dateisystem aufzurufen. Wenn UNIX dem Webserver aus bestimmten Gründen den Zugriff auf die Datei verweigert, erhält der Webserver eine Fehlermeldung darüber, daß ein schwerwiegender Fehler aufgetreten ist. In diesem Fall wird der Benutzer nicht aufgefordert, einen neuen Benutzernamen einzugeben.
Wenn ein Client oder ein Webbrowser eine HTTP-POST-Anfrage sendet, wie dies z. B. der Fall ist, wenn ein FrontPage-Autor das Texterstellungsprogramm author.exe von FrontPage ausführt, überprüft der Webserver nochmals die Benutzerberechtigungen in den entsprechenden Zugriffsdateien. Wenn der POST-Befehl mit der Authentifizierung des Benutzers nicht ausgeführt werden kann, gibt der Webserver einen 401-Fehler zurück. Der Client fordert anschließend zur Eingabe eines neuen Namens und eines neuen Kennwortes auf und übermittelt die Anfrage erneut. Nach der Authentifizierung des Benutzers versucht der Webserver das Programm author.exe auszuführen. Wenn das SUID-Bit des Programms author.exe festgelegt ist, wird der Prozeß als Besitzer der Datei ausgeführt. Andernfalls wird das Programm author.exe unter dem UNIX-Konto des Webservers ausgeführt.
UNIX-Webserver kommunizieren gewöhnlich mit Clientprogrammen unter Verwendung der Standard-Authentifizierung. Bei der Verwendung der Standard-Authentifizierung fordert der Webbrowser (oder FrontPage Explorer) den Benutzer zur Eingabe eines Benutzernamens und eines Kennwortes auf. Der Benutzername und das Kennwort werden dann über HTTP übertragen, wobei sie unter Verwendung eines Verfahrens, das als UUencoding bekannt ist, einfach codiert werden. (Einige-Webserver verwenden ein Verfahren, das als MD5 bekannt ist, jedoch von FrontPage nicht unterstützt wird.)
Ein Sicherheitsrisiko der Standard-Authentifizierung besteht darin, daß Benutzernamen und Kennwörter in einem leicht zu decodierenden Format über das Netzwerk übertragen werden. Die Standard-Authentifizierung ist jedoch das einzige Authentifizierungsverfahren, das über einen Proxyserver in Verbindung mit einem Firewall funktioniert.
In FrontPage gibt es drei Typen von Benutzern, die für jedes FrontPage-Web definiert sind: Administratoren, Autoren und Benutzer. Alle Berechtigungen verhalten sich kumulativ. Alle Autoren haben ebenfalls Leseberechtigung, und alle Administratoren haben Schreib- und Leseberechtigungen.
Jedes FrontPage-Web (einschließlich aller untergeordneten Webs) enthält Kopien von drei ausführbaren Skripts. Diese Skripts werden in Ordnern erstellt, die sich unterhalb des Ordners der obersten Ebene eines FrontPage-Webs befinden: _vti_bin/_vti_adm/admin.exe für administrative Aufgaben, _vti_bin/_vti_aut/author.exe für die Texterstellung in FrontPage-Webs und _vti_bin/shtml.exe für die FrontPage-Komponenten, die zum Durchsuchen verwendet werden, wie z. B. Behandlungsroutinen für Formulare. FrontPage führt alle Texterstellungs- und Verwaltungsaufgaben durch, indem HTTP-POST-Anfragen an diese Skripts gesendet werden.
Die Liste von Administratoren, Autoren und Benutzern wird in FrontPage für jedes Web getrennt festgelegt. Alle untergeordneten FrontPage-Webs erben entweder die Berechtigungen (Liste von Administratoren, Autoren und Benutzern) vom FrontPage-Stammweb, oder sie verwenden ihre eigenen, eindeutigen Berechtigungen. (Eine Beschreibung des Stammwebs und von untergeordneten Webs finden Sie unter "FrontPage-Webs".) Wie bei anderen CGI-Programmen müssen die FrontPage-Servererweiterungen in Ordnern gespeichert werden, die als ausführbar gekennzeichnet sind, um anzuzeigen, daß die Ordner ausführbare Dateien enthalten. Der Dokumentstammordner ist der Ordner der obersten Ebene in einem FrontPage-Web. Die FrontPage-Servererweiterungen werden in drei Ordnern innerhalb jedes Dokumentstammordners gespeichert:
/Dokumentstammordner /_vti_bin shtml.exe /_vti_adm admin.exe /_vti_aut author.exe
Die Konfigurationsdatei des Servers muß geändert werden, um die Ordner _vti_bin, _vti_adm und _vti_aut als ausführbare Ordner zu kennzeichnen. Der Administrator des Webservers startet und steuert diese Operation mit Hilfe von FrontPage Server Administrator.
Um den Gesamtumfang des für die Unterstützung von FrontPage-Webs erforderlichen Plattenspeichers zu verringern, handelt es sich bei den in den verschiedenen _vti_* -Ordnern gespeicherten FrontPage-Skripts um ausführbare Stub-Dateien. Jede dieser Dateien ist mit einer vollständig ausführbaren Datei verknüpft, die im Ordner /usr/local/frontpage/version3.0 gespeichert ist.
FrontPage erstellt für das Stammweb und für jedes untergeordnete FrontPage-Web einen Ordner mit der Bezeichnung _vti_pvt, der eindeutige Berechtigungen besitzt. Jede Kopie dieses Ordners enthält zwei Dateien für das FrontPage-Web, auf das die Zugriffsdatei verweist:
Auf Netscape-Servern befinden sich keine Dateien mit der Bezeichnung service.grp . Die Kennwortdateien von Netscape sind:
Eine Zugriffsdatei im Ordner _vti_bin steuert den Zugriff auf das Laufzeitprogramm shtml.exe von FrontPage. Wenn alle Benutzer Leseberechtigung besitzen, wird dies in der Zugriffsdatei festgelegt. Andernfalls verweist die Zugriffsdatei auf die Liste von Benutzern und Gruppen mit Lesezugriff. Eine weitere Zugriffsdatei im Ordner _vti_adm legt die POST-Berechtigungen für das Verwaltungsprogramm admin.exe fest. Eine dritte Zugriffsdatei im Ordner _vti_aut legt die POST-Berechtigungen für das Texterstellungsprogramm author.exe fest.
Wenn ein Web-Administrator in FrontPage Explorer den Befehl Berechtigungen verwendet, um einem Benutzer Lesezugriff auf ein FrontPage-Web zu erteilen, erhält der Benutzer ein Konto auf dem Webserver, indem der einzelnen Datei service.pwd, auf die die Zugriffsdatei im Ordner _vti_bin verweist, ein Benutzername und ein Kennwort hinzugefügt werden. (Auf Netscape-Servern lautet die Bezeichnung der Datei users.pwd.) Wenn für Benutzer des FrontPage-Webs eine Einschränkung hinsichtlich der IP-Adresse festgelegt wird, wird diese Einschränkung ebenfalls der Zugriffsdatei _vti_bin hinzugefügt.
Wenn ein Web-Administrator einem Benutzer Schreibzugriff für ein FrontPage-Web erteilt, erhält der Benutzer ein Konto auf dem Webserver, indem der einzelnen Datei service.pwd, auf die die Zugriffsdateien in den beiden Ordnern _vti_bin und _vti_aut verweisen, der Benutzername und das Kennwort hinzugefügt werden. Dies ermöglicht es dem Benutzer, HTTP-POST-Anfragen an author.exe zu senden und das Laufzeitskript shtml.exe zu verwenden. (Auf Netscape-Servern ist die Vorgehensweise ähnlich.)
Wenn ein Web-Administrator einem Benutzer Administratorzugriff für ein FrontPage-Web erteilt, erhält der Benutzer ein Konto auf dem Webserver, indem der einzelnen Datei service.pwd, auf die die Zugriffsdateien in den drei Ordnern _vti_bin, _vti_aut und _vti_adm verweisen, der Benutzername und das Kennwort hinzugefügt werden. Dies ermöglicht es dem Benutzer, HTTP-POST-Anfragen an adm.exe, author.exe und shtml.exe zu senden. (Auf Netscape-Servern ist die Vorgehensweise ähnlich.)
Die Gruppe der Zugriffsdateien für ein FrontPage-Web wird in den beiden folgenden Abbildungen dargestellt. Die erste Abbildung zeigt die Zugriffsdateien und UNIX-Dateiberechtigungen für den Inhalt eines FrontPage-Webs: die Ordner, Dateien und ausführbaren Dateien, die ein Autor erstellt. Die zweite Abbildung zeigt die Zugriffsdateien und UNIX-Dateiberechtigungen für die _vti-Ordner in FrontPage:
Eine Liste des gesamten Inhalts einer FrontPage-Installation finden Sie unter "UNIX-Dateien in FrontPage".
Eine Grundvoraussetzung bei der Verwaltung der Webserversicherheit ist das Festlegen sicherer Zugriffsmodi für Dateien und Ordner im Inhaltsverzeichnis von Benutzern. Die Benutzer-ID bzw. Gruppen-ID von Benutzern sollte Besitzer aller Dateien und Ordner sein. Die empfohlenen Einstellungen für die UNIX-Berechtigung werden in der folgenden Tabelle angezeigt:
Ein UNIX-Konto pro Benutzer | Dateien: | rw- r-- r-- |
Ordner: | rwx r-x r-x | |
umask: | --- -w- -w- | |
Mehrere UNIX-Konten pro Benutzer | Dateien: | rw- rw- r-- |
Ordner: | rwx rwx r-x | |
umask: | --- --- -w- |
Die Berechtigungen für Benutzer mit mehreren UNIX-Konten pro Benutzer gelten auch für eine Firma oder Einrichtung, die mehrere UNIX-Konten besitzt, die zu derselben UNIX-Gruppe gehören. Der gemeinsame Schreibzugriff ermöglicht allen Gruppenmitgliedern das Schreiben auf allen freigegebenen Webdokumenten.
Mit Hilfe von FrontPage Server Administrator (fpsrvadm.exe) können Sie die Ausführungsberechtigungen für die ausführbaren Dateien der Servererweiterungen in SUID/SGID ändern. Dies veranlaßt die Servererweiterungen zum Ausführen von Dateien mit den Dateisystemberechtigungen des Besitzers von shtml.exe, author.exe und admin.exe. In Verbindung mit geeigneten Berechtigungen für alle Inhaltsbereiche von Benutzern werden die FrontPage-Servererweiterungen (und alle anderen CGI-Skripts) eines Benutzers daran gehindert, in den Inhaltsbereichen anderer Benutzer zu schreiben.
Die FrontPage-Servererweiterungen benötigen zu keinem Zeitpunkt Root-Zugriff. Das Installationsskript für die FrontPage-Servererweiterungen sollte jedoch als Root ausgeführt werden, da es die Ausführungsberechtigungen der Erweiterungen auf SUID festlegt. Da das Skript in "Perl" geschrieben ist, kann der Web-Administrator das Skript überprüfen, bevor es auf dem Webserver ausgeführt wird.
Auf einigen Webservern, wie NCSA, CERN und Apache, müssen die FrontPage-Servererweiterungen die Konfigurationsdatei des Webservers ändern, um die Ordner, die die Servererweiterungen enthalten, als ausführbar zu kennzeichnen. Da die FrontPage-Servererweiterungen als "www" ausgeführt werden und "root" der alleinige Besitzer der Konfigurationsdatei des Webservers ist und diese ändern kann, muß FrontPage Server Administrator manuell als "root" auf dem Hostcomputer ausgeführt werden. Dies verhindert, daß Administratoren FrontPage-Webs in einer Remote-Verwendung erstellen, da hierfür "www" Besitzer der Konfigurationsdatei des Webservers sein muß, was die Sicherheit des Hostsystems möglicherweise gefährden würde.
Die FrontPage-Servererweiterungen lesen ebenfalls die Konfigurationsdatei des Webservers, um zu erkennen, welche virtuellen Server vorhanden sind, wo sich die Stammordner für den Inhalt befinden und welche Ordner als ausführbar gekennzeichnet sind.
Einige Sicherheitseinstellungen der FrontPage-Servererweiterungen können in der Konfigurationsdatei der Servererweiterungen gesteuert werden. Die Konfigurationsdatei befindet sich in /usr/local/frontpage und heißt wexxxx.cnf oder, wenn sie sich auf Multihosting-Servern befindet, host:xxxx.cnf, wobei "xxxx" die Anschlußnummer Ihres Servers und "host" seinen Name oder seinen IP-Adresse darstellen. Die globale Konfigurationsdatei /usr/local/frontpage/frontpage.cnf enthält die Standardeinstellungen, die für alle FrontPage-Webs gelten.
Eine vollständige Auflistung der Parameter, die Sie in dieser Datei festlegen können, finden Sie unter "Konfigurationsdatei für die Servererweiterungen".
Windows NT-Sicherheitskonzepte
Übersicht über die IIS-Sicherheit
IIS-Authentifizierung
Das anonyme Konto
Standard-Authentifizierung
Windows NT-Abfrage/Rückmeldung
NTLM und Netzwerk sowie lokale Anmelderechte
FrontPage-Servererweiterungen in IIS
Die DLL-Dateien in FrontPage
ACL (Access Control List)-Einstellungen für FrontPage
FrontPage und DLL-Systemdateien
Virtuelle Ordner in FrontPage
Einschränken der Windows NT-Kontenlisten
Markieren eines Ordners als nichtlesbar
Die Windows NT-Sicherheit hilft Ihnen, Ihren Computer und seine Ressourcen zu schützen, da für alle Operationen zugeordnete Benutzerkonten erforderlich sind. Sie können den Zugriff auf alle Ressourcen des Computers steuern, einschließlich Webinhalt, indem Sie die Benutzerrechte dieser Konten einschränken. Windows NT verwaltet Kontenlisten von lokalen Benutzern und Gruppen sowie von Benutzern und Gruppen in der Domäne.
Bei jedem Vorgang auf einem Windows NT-Computer wird festgestellt, welche Person für diesen Vorgang verantwortlich ist. Anhand des Benutzernamens und des Kennwortes, das Sie zum Anmelden bei Windows NT verwenden, wird festgestellt, welcher Benutzer Sie sind, und es wird festgelegt, welchen Vorgang Sie auf diesem Computer durchführen dürfen.
Welche Vorgänge ein Benutzer auf einem Computer durchführen darf, wird im Benutzer-Manager definiert, indem im Menü Richtlinien die Benutzerrechte festgelegt werden. Benutzerrechte autorisieren einen Benutzer, bestimmte Aktionen auf dem System durchzuführen, einschließlich des Rechtes, sich "lokal anzumelden", was für Benutzer erforderlich ist, die Dienste von Internet Information Server mit Hilfe der Standard-Authentifizierung verwenden möchten.
NTFS ist das empfohlene Dateisystem für Windows NT-Systeme, die Websites enthalten. Windows-NTFS ermöglicht die Zuordnung einer Zugriffskontrolliste (ACL) zu allen Dateien und Ordnern. Eine ACL enthält Benutzer und Gruppen mit Berechtigungsgruppen, die festlegen, ob ein Benutzer bzw. eine Gruppe für diese Datei bzw. diesen Ordner die Berechtigung zum Lesen, Schreiben, Ausführen oder Löschen besitzt.
Windows NT unterstützt auch das FAT (File Allocation Table)-Dateisystem. Da bei FAT keine Dateiberechtigungen verwaltet werden, wird beim Speichern von Webinhalt auf einer FAT-Partition die Zugriffssteuerung von FrontPage und IIS umgangen. Wenn Sie versuchen, die FrontPage-Servererweiterungen auf einer FAT-Partition zu installieren, erhalten Sie hierzu eine Warnmeldung. Um Sicherheit für eine Website zu gewährleisten, müssen Sie entweder die Partition von FAT in NTFS konvertieren oder den Inhalt in eine NTFS-Partition verschieben. Unabhängig von der gewählten Lösung ist es erforderlich, die FrontPage-Servererweiterungen zu deinstallieren und anschließend erneut zu installieren.
Weitere Informationen über die Windows NT-Sicherheit finden Sie unter "Windows NT Server für fortgeschrittene IS-Benutzer".
Bei IIS wird jede von einem Webbrowser (oder vom FrontPage-Client) ausgehende HTTP-Anfrage an IIS unter einem Benutzerkonto des Windows NT-Computers, auf dem IIS installiert ist, ausgeführt. Die bei der Ausführung dieser HTTP-Anfragen durchgeführten Operationen sind durch die Möglichkeiten beschränkt, die dem entsprechenden Benutzerkonto auf Windows NT Server erteilt wurden.
Wenn IIS eine von einem Webbrowser oder dem FrontPage-Client ausgehende HTTP-Anfrage empfängt, werden die folgenden Aktionen durchgeführt:
Die Anfrage wird zunächst als das anonyme Konto IUSR_<hostname> bearbeitet. Scheitert diese Ausführung, weil nicht genügend Zugriffsrechte zum Abschließen der Anfrage bestehen, oder weil in IIS die anonyme Leseberechtigung deaktiviert ist, gibt IIS einen 401-Fehler (Zugriff verweigert) zurück. In diesem Fall erfolgt eine Benutzerauthentifizierung, damit sich die Remote-Benutzer mit Hilfe der Verfahren der Standard-Authentifizierung bzw. von Windows NT-Abfrage/Rückmeldung identifizieren können. Wenn der Webbrowser oder der FrontPage-Client Windows NT-Abfrage/Rückmeldung verwendet, wird dem Benutzer keine Eingabeaufforderung angezeigt, da der FrontPage-Client oder der Webbrowser den Benutzernamen und das Kennwort des am Clientcomputer angemeldeten Benutzers übermittelt.
Sie können den Zugriff auf IIS auf authentifizierte Clients beschränken (Clients mit einem gültigen Benutzernamen und Kennwort für Windows NT), oder Sie können den anonymen Zugriff unter Verwendung des anonymen Kontos ermöglichen. Wenn Sie authentifizierte Clients verwenden, wird kein Zugriff erlaubt, solange kein gültiger Benutzername und kein gültiges Kennwort übermittelt wurden. Die Authentifizierung des Kennwortes ist sinnvoll, wenn nur autorisierte Personen auf Ihre Website oder auf bestimmte durch NTFS gesteuerte Bereiche zugreifen sollen. Der anonyme Anmeldezugriff und der authentifizierte Zugriff können gleichzeitig aktiviert sein.
Jeder Internetdienst, wie das World Wide Web und FTP, verwaltet einen Benutzernamen und ein Kennwort für Windows NT, das für die Bearbeitung anonymer Anfragen verwendet wird. Das anonyme Konto für Webdienste, IUSR_<hostname>, wird bei der Installation von Internet Information Server automatisch erstellt. Standardmäßig verwenden alle Anfragen von Webclients dieses Konto. Clients erhalten den Zugriff auf den Webinhalt unter Verwendung des Kontos IUSR_<hostname>.
Beim Empfang einer anonymen Anfrage an das Konto übernimmt der WWW-Dienst die Rolle des als anonymer Benutzer konfigurierten Benutzers. Die Anfrage ist erfolgreich, wenn der anonyme Benutzer die Berechtigung zum Zugriff auf die betreffende Ressource besitzt, die in der Zugriffskontrolliste (ACL) für diese Ressource festgelegt ist. Wenn der anonyme Benutzer über keine Berechtigungen verfügt, wird die Anfrage abgewiesen. Der WWW-Dienst reagiert auf eine abgewiesene anonyme Anfrage, indem er den Benutzer auffordert, einen gültigen Benutzernamen und ein gültiges Kennwort für Windows NT einzugeben.
Die Standard-Authentifizierung wird von den meisten Webservern im Internet unterstützt. Unter Verwendung der Standard-Authentifizierung fordert der Webbrowser (oder der FrontPage-Client) den Benutzer zur Eingabe eines Benutzernamens und eines Kennwortes auf. Der Benutzername und das Kennwort werden dann über HTTP übertragen, wobei sie unter Verwendung eines Verfahrens, das als UUencoding bekannt ist, einfach codiert werden. Mit Hilfe dieses Benutzernamens und Kennwortes authentifiziert IIS anschließend den Benutzer als den entsprechenden Windows NT-Benutzer.
Ein Sicherheitsrisiko der Standard-Authentifizierung besteht darin, daß Benutzernamen und Kennwörter in einem leicht zu decodierenden Format über das Netzwerk übertragen werden. Während der Installation der FrontPage 97-Servererweiterungen empfiehlt FrontPage 97, die Standard-Authentifizierung zu deaktivieren, falls diese aktiviert ist. Wenn Ihre Website jedoch die Texterstellung durch Clients in FrontPage 1.1 (die NTLM nicht unterstützen) unterstützen muß, oder wenn Sie sicherstellen möchten, daß auf Ihre Website mit allen Browsertypen zugegriffen werden kann, muß die Standard-Authentifizierung aktiviert bleiben. Die Standard- Authentifizierung ist darüber hinaus das einzige Authentifizierungsverfahren, das über einen Proxyserver in Verbindung mit einem Firewall funktioniert. Wenn Sie Ihren Webserver im Internet ausführen, müssen Sie (anders als wenn er innerhalb eines Intranets ausgeführt wird) die Standard-Authentifizierung verwenden.
Windows NT-Abfrage/Rückmeldung (auch NTLM genannt) bietet bei der Authentifizierung ein höheres Maß an Sicherheit, als dies bei der Standard-Authentifizierung der Fall ist. In Windows NT-Abfrage/Rückmeldung versucht der Webbrowser oder der FrontPage-Client zunächst, die Windows NT-Beglaubigungsdaten zu verwenden, die zum Anmelden an dem Computer verwendet wurden, auf dem der Browser oder der FrontPage-Client ausgeführt wird. Wenn diese Beglaubigungsdaten zurückgewiesen werden, fordert Windows NT-Abfrage/Rückmeldung den Benutzer zur Eingabe eines Namens und eines Kennwortes auf.
Der Benutzername und das Kennwort werden in einem mehrstufigen, wechselseitigen Verfahren zwischen Client und Webserver auf sichere Weise verschlüsselt. Dieses wechselseitige Verfahren bietet Sicherheit gegenüber unbefugten Personen im Netzwerk, die versuchen, widerrechtlich in Systeme einzudringen, indem sie den Netzwerkverkehr zwischen einem Client und einem Server überwachen.
Windows NT-Abfrage/Rückmeldung unterliegt einigen Einschränkungen:
Da die Authentifizierung unter Verwendung von Windows NT-Abfrage/Rückmeldung in Verbindung mit einem Firewall nicht möglich ist, ist es am sinnvollsten, sie in Intranets durchzuführen, in denen die Kommunikation innerhalb des Firewalls einer Firma oder Einrichtung erfolgt.
Die Standard-Authentifizierung und die Authentifizierung mit Hilfe von Windows NT-Abfrage/Rückmeldung können gleichzeitig aktiviert sein. Wenn der Webbrowser Windows NT-Abfrage/Rückmeldung unterstützt, wird dieses Verfahren der Authentifizierung verwendet. Andernfalls wird die Standard-Authentifizierung verwendet. Die Authentifizierung mit Hilfe von Windows NT-Abfrage/Rückmeldung wird aktuell nur in Microsoft Internet Explorer, 2.0 oder höher, unterstützt.
Die Implementierung von Windows NT-Abfrage/Rückmeldung und der Standard-Authentifizierung in IIS 2.0 unterscheidet sich geringfügig von der entsprechenden Implementierung in höheren IIS-Versionen. Bei der Authentifizierung eines Benutzers unter Verwendung von Windows NT-Abfrage/Rückmeldung erfolgt die Anmeldung des Benutzers am Webserver-Computer als Netzwerk-Anmeldung. Unter Verwendung der Standard-Authentifizierung erfolgt die Anmeldung des Benutzers standardmäßig mit lokalen Anmelderechten. Dies entspricht einer Anmeldung für eine interaktive Sitzung an der Computerkonsole.
In den meisten Fällen unterscheiden sich Netzwerkanmeldungen und lokale Anmeldungen nicht. Übertragungsanwendungen stellen den einzigen Vorgang dar, bei dem ein Unterschied besteht. Eine Übertragungsanwendung ist eine Anwendung, bei der ein Teil der Arbeit des Webservers auf einen zweiten Serverprozeß übertragen wird, der auf einem anderen Computer ausgeführt wird. Wenn ein Webserver auf einen Datenbankserver zugreift, der auf einem anderen Hostcomputer ausgeführt wird, liegt z. B. eine Übertragungsanwendung vor. Wenn sich der Benutzer lokal angemeldet hat, läßt die Windows NT-Sicherheit es zu, daß die Beglaubigungsdaten des Benutzers von dem sekundären Server angenommen werden. Wenn sich der Benutzer über ein Netzwerk angemeldet hat, werden die entsprechenden Beglaubigungsdaten nicht akzeptiert. Aus diesem Grund müssen unter Verwendung von Windows NT-Abfrage/Rückmeldung Datenbankserver und Webserver auf demselben Hostcomputer ausgeführt werden.
Die Verwendung der lokalen Anmeldung bei der Standard-Authentifizierung kann möglicherweise zwei Probleme verursachen, deren sich Administratoren bewußt sein sollten. Erstens kann die Standard-Authentifizierung nicht erfolgreich durchgeführt werden, wenn das Benutzerkonto keine lokalen Anmelderechte besitzt. Auch wenn die Konfiguration von FrontPage, IIS und Windows NT richtig zu sein scheint, verhindern fehlende lokale Anmelderechte für den Benutzer im Benutzer-Manager von Windows NT eine Authentifizierung des Benutzers mit Hilfe der Standard-Authentifizierung. Zweitens wird ein Benutzer bei der lokalen Anmeldung berechtigt, eine interaktive Sitzung an der Konsole zu starten, wenn der Benutzer physischen Zugriff auf den Hostcomputer besitzt, auf dem IIS ausgeführt wird.
In FrontPage gibt es drei Typen von Benutzern, die für jedes FrontPage-Web definiert sind: Administratoren, Autoren und Benutzer. Alle Berechtigungen verhalten sich kumulativ. Alle Autoren haben ebenfalls Leseberechtigung, und alle Administratoren haben ebenfalls Schreib- und Leseberechtigungen.
Die Liste von Administratoren, Autoren und Benutzern wird in FrontPage für jedes Web getrennt festgelegt. Der gesamte Inhalt in einem FrontPage-Web steht derselben Gruppe von Benutzern und Benutzergruppen zur Verfügung. In FrontPage ist es nicht möglich, die Berechtigungen für jede Datei oder jeden Ordner einzeln festzulegen. Alle untergeordneten FrontPage-Webs erben entweder die Berechtigungen (Liste von Administratoren, Autoren und Benutzern) vom FrontPage-Stammweb, oder sie verwenden ihre eigenen, eindeutigen Berechtigungen.
Jedes FrontPage-Web (einschließlich aller untergeordneten Webs) enthält Kopien von drei ISAPI-DLL-Dateien, die die FrontPage-Servererweiterungen bilden. Diese DLL-Dateien werden in Ordnern erstellt, die sich unterhalb des Ordners der obersten Ebene eines FrontPage-Webs befinden:
FrontPage führt alle Texterstellungs- und Administrationsaufgaben durch, indem HTTP-POST-Anfragen an diese DLL-Dateien gesendet werden. Die FrontPage-Servererweiterungen werden in getrennten Ordnern innerhalb des Dokumentstammordners des Benutzers gespeichert:
/Dokumentstammordner /_vti_bin shtml.dll /_vti_adm admin.dll /_vti_aut author.dll
FrontPage implementiert die Websicherheit in IIS durch Ändern der ACLs (Access Control Lists) für alle Dateien und Ordner in jedem FrontPage-Web. FrontPage steuert, welche Person ein FrontPage-Web verwalten kann, indem die ACL für admin.dll, die administrative DLL-Datei, festgelegt wird. Auf ähnliche Weise legt FrontPage Schreibberechtigungen fest, indem die ACLs auf author.dll festgelegt werden. Die Standard-ACL legt die Leseberechtigung für den Webinhalt fest und berechtigt alle Benutzer, die Laufzeit-DLL shtml.dll auszuführen.
Sie legen die ACLs für ein FrontPage-Web fest, indem Sie in FrontPage Explorer den Befehl Berechtigungen aus dem Menü Extras verwenden. Dieser Befehl stellt die Kontenliste des Windows NT-Computers zur Verfügung, um neue Benutzer und Gruppen hinzuzufügen. In FrontPage 98 können Sie eine eingeschränkte Liste von Benutzern und Gruppen einrichten, die nicht den gesamten Inhalt des Windows NT-Computers und der Domänenkontenlisten anzeigt. Auf diese Weise können Sie die Vertraulichkeit Ihrer Benutzergemeinschaft schützen. Einzelheiten finden Sie unter "Einschränken der Windows NT-Kontenlisten".
Untergeordnete FrontPage-Webs können eindeutige Berechtigungen besitzen, indem sie getrennte Zugriffskontrollisten für die eigenen Kopien der DLL-Dateien admin.dll, author.dll und shtml.dll verwalten. Alternativ kann ein untergeordnetes FrontPage-Web die Berechtigungen des Stammwebs erben, wenn die Zugriffskontrollisten für seine Dateien admin.dll, author.dll und shtml.dll mit den Listen des Stammwebs übereinstimmen.
Die Standardberechtigungen der drei Berechtigungsebenen in FrontPage sind:
Ebene | ACL-Einstellung |
Administrator | Lesen, Schreiben, Ausführen, Löschen |
Autor | Lesen, Schreiben, Ausführen, Löschen |
Endbenutzer | Lesen, Ausführen |
Die Gruppe der ACLs für ein FrontPage-Web wird in den beiden folgenden Abbildungen dargestellt. Die erste Abbildung zeigt die ACLs für den Inhalt eines FrontPage-Webs: die Ordner, Dateien und ausführbaren Dateien, die ein Autor erstellt. Die zweite Abbildung zeigt die ACLs für die _vti-Ordner von FrontPage.
Beachten Sie, daß in diesen Abbildungen zwei Gruppen von Berechtigungen enthalten sind. Die erste Gruppe gilt für den Ordner, die zweite für die Dateien im Ordner. Die Berechtigungen (rx) (r) geben z. B. Lese- und Ausführungsberechtigungen für den Ordner, aber nur Leseberechtigungen für die Dateien im Ordner an.
Die vollständige Gruppe von ACLs für FrontPage-Dateien und eine Liste des gesamten Inhalts einer FrontPage-Installation finden Sie unter "Windows NT-Dateiberechtigungen in FrontPage".
Unter Windows NT muß eine DLL-Datei, die von einer anderen DLL-Datei aufgerufen wird, unter demselben Benutzerkonto ausgeführt werden wie die DLL-Datei, die sie aufruft. Daher muß der Code aller DLL-Systemdateien, der infolge einer IIS-Anfrage ausgeführt wird, auf Grundlage der dargestellten Benutzerberechtigungen ausgeführt werden. Die DLL-Dateien admin.dll, author.dll und shtml.dll in FrontPage enthalten Aufrufe an DLL-Systemdateien von Windows NT. Um sicherzustellen, daß die DLL-Systemdateien die ordnungsgemäße Berechtigungsebene besitzen, damit sie unter einem beliebigen Administrator-, Autoren- oder Endbenutzerkonto ausgeführt werden, fügt FrontPage den ACLs aller DLL-Systemdateien, die aufgrund eines DLL-Aufrufs von FrontPage verwendet werden, alle Benutzer eines FrontPage-Webs, möglicherweise auch das anonyme Konto IUSR_<hostname> hinzu. Diese zusätzlichen Benutzer erhalten "Lese"-, "Schreib"- und "Ausführungs"-Berechtigungen für die DLL-Systemdateien. Beachten Sie, daß dies notwendig ist, wenn Sie allgemeine CGI-Skripts installieren, die auf einem Webserver beliebige Systemdienste von Windows NT verwenden. Das Aufrufen von DLL-Systemdateien von Windows NT seitens FrontPage hat folgende Konsequenzen:
Virtuelle Ordner sind Konstrukte von IIS 2.0 und IIS 3.0, die den URL-Adreßraum der Website an das Dateisystem des lokalen Computers anpassen. Sie legen Lese- und Schreibzugriff für bestimmte Ordner innerhalb des Dateisystems fest und ermöglichen, daß offensichtlich verwandte URLs auf Inhaltsbereiche im Dateisystem verweisen, die nicht aneinandergrenzen.
FrontPage verwaltet die Verwendung von virtuellen Ordnern für ausführbare und nichtlesbare Ordner automatisch. Wenn FrontPage installiert ist, werden virtuelle Ordner in allen FrontPage-Webs eingerichtet, um die Ordner als ausführbar zu kennzeichnen, die die DLL-Dateien der FrontPage-Servererweiterungen enthalten, und um verborgene Ordner als nichtlesbar zu kennzeichnen. FrontPage erstellt für jedes untergeordnete Web die folgenden virtuellen Ordner:
_vti_bin
_vti_bin\_vti_aut
_vti_bin\_vti_adm
_vti_pvt
_vti_cnf
_vti_txt
Das Stammweb von FrontPage besitzt einen siebten virtuellen Ordner:
In FrontPage Explorer können Autoren Ordner als ausführbar kennzeichnen, um es Ordnern zu ermöglichen, ausführbare Objekte, wie z. B. Active Server Pages (ASP), Database Connector-Dateien (IDX), CGI-Skripts, ISAPI-Erweiterungen und Perl-Skripts zu speichern. Jeder als ausführbar gekennzeichnete Ordner kann FrontPage veranlassen, einen virtuellen Ordner zu erstellen.
In FrontPage 98 können Sie für jedes virtuelle FrontPage-Stammweb eine einzelne Benutzer- und Gruppenliste einrichten. Auf diese Weise können Sie die Vertraulichkeit Ihrer Benutzergemeinschaft schützen, indem Sie die Windows NT-Kontenliste nicht vollständig anzeigen. Um Einschränkungen für die Kontenliste des Windows NT-Computers global zu aktivieren, fügen Sie im Ordner \Winnt der Datei frontpg.ini die folgende Zeile hinzu:
[FrontPage 3.0] RestrictIISUsersAndGroups = 1
Festlegen des Wertes auf 1 aktiviert die Einschränkungen. Sie können die gleiche Zeile auch für ein bestimmtes virtuelles Stammweb von FrontPage hinzufügen, zum Beispiel:
[Port 157.55.49.66:80] RestrictIISUsersAndGroups = 1
Die Einstellung "RestrictIISUsersAndGroups=0" kann verwendet werden, um Einschränkungen ausdrücklich zu deaktivieren. Auf diese Weise können Sie Einschränkungen standardmäßig für alle FrontPage-Webs aktivieren, mit Ausnahme der Webs, bei denen Einschränkungen ausdrücklich überschrieben werden. Bei der globalen Einstellung gilt standardmäßig, daß Einschränkungen deaktiviert sind, wenn der Schlüssel "RestrictIISUsersAndGroups" nicht vorhanden ist. Standardmäßig erben einzelne FrontPage-Webs die globale Einstellung.
Wenn für ein bestimmtes FrontPage-Web die Einschränkungen für Benutzer und Gruppen aktiviert sind, suchen die Servererweiterungen nach einer Windows NT-Gruppe, die entsprechend der folgenden Regelung benannt wird:
FP_[Dienstname][_UntergeordnetesWeb]
Hierbei ist "Dienstname" die Kombination der IP-Adresse und der Anschlußnummer des Dienstes auf einem Multihosting-IIS-Computer, während "_UntergeordnetesWeb" den Namen des untergeordneten Webs darstellt. Auf einem IIS-Computer ohne Multihosting stellt der Namensbestandteil "Dienstname" die Anschlußnummer dar, beispielsweise "80". Um die Einschränkungsgruppe eines Stammwebs anzugeben, wird der Bestandteil "UntergeordnetesWeb" nicht eingegeben. Einige Beispiele sind:
FP_157.55.49.66:80_MeinUntergeordnetesWeb
FP_80_MeinUntergeordnetesWeb
FP_80
Wenn Einschränkungen auf einem untergeordneten Web aktiviert sind, jedoch keine lokale Gruppe definiert ist, suchen die FrontPage-Servererweiterungen die Gruppe des Stammwebs und verwenden sie, wenn diese gefunden wurde. Wenn keine entsprechend benannten Gruppen gefunden werden, besteht keine Einschränkung für das Festlegen der Sichtbarkeit von Berechtigungen oder Inhalt.
Eine Standardmöglichkeit, Formularergebnisse in FrontPage zu speichern, besteht darin, die Standard-Behandlungsroutine für Formulare (auch WebBot-Komponente Ergebnisse speichern genannt) zu verwenden, um in eine Ergebnisdatei in einem Ordner eines FrontPage-Webs zu schreiben. In FrontPage 1.1 und FrontPage 97 wurde durch das Schreiben der Formularergebnisse in einen Ordner der Inhalt des Ordners für alle Benutzer lesbar gemacht, die den URL der Ergebnisdatei ausfindig machen konnten.
In FrontPage 98 können Autoren einem Ordner mit Formularergebnissen einen virtuellen Ordner zuordnen, in dem die Ausführungs- und Lese-Bits deaktiviert sind. Dies hindert alle Endbenutzer daran, den Inhalt des Ordners zu lesen, macht es jedoch für den Autor des FrontPage-Webs erforderlich, den Ordnerinhalt mit Hilfe von FrontPage Explorer heranzuziehen.
Um einen Ordner nichtlesbar zu machen, markieren Sie ihn in der Ordner-Ansicht von FrontPage Explorer, und wählen Sie aus dem Menü Bearbeiten den Befehl Eigenschaften. Deaktivieren Sie im Dialogfeld Ordnereigenschaften die beiden folgenden Einstellungen: "Ausführen von Skripts oder Programmen zulassen" und "Lesen/Durchsuchen von Dateien zulassen".
Beachten Sie, daß einige FrontPage-Assistenten nicht einwandfrei funktionieren, wenn Sie den Ordner /_private nichtlesbar machen.