ASP-Vorlesungsreihe (zwanzig) Aufrechterhaltung der Sicherheit von ASP-Anwendungen
Autor:Eve Cole
Aktualisierungszeit:2009-05-30 19:58:35
Unterschätzen Sie niemals die Bedeutung der richtigen Konfiguration der Sicherheitseinstellungen. Eine unsachgemäße Konfiguration der Sicherheitseinstellungen setzt Ihre ASP-Anwendungen nicht nur unnötigen Manipulationen aus, sondern verhindert auch, dass legitime Benutzer auf Ihre .asp-Dateien zugreifen.
Webserver bieten verschiedene Methoden zum Schutz Ihrer ASP-Anwendungen vor unbefugtem Zugriff und Manipulation. Nachdem Sie die Sicherheitsinformationen in diesem Thema gelesen haben, nehmen Sie sich bitte einen Moment Zeit, um Ihre Windows NT- und Webserver-Sicherheitsdokumentation sorgfältig durchzulesen.
NTFS-Berechtigungen Sie können ASP-Anwendungsdateien schützen, indem Sie NTFS-Zugriffsberechtigungen auf einzelne Dateien und Verzeichnisse anwenden. NTFS-Berechtigungen sind die Grundlage der Webserversicherheit und definieren verschiedene Zugriffsebenen auf Dateien und Verzeichnisse für einen Benutzer oder eine Benutzergruppe. Wenn ein Benutzer mit einem gültigen Windows NT-Konto versucht, mit eingeschränkten Berechtigungen auf eine Datei zuzugreifen, überprüft der Computer die Zugriffskontrollliste (ACL) der Datei. Diese Tabelle definiert die Berechtigungen, die verschiedenen Benutzern und Benutzergruppen gewährt werden. Wenn das Benutzerkonto über die Berechtigung zum Öffnen der Datei verfügt, gestattet der Computer dem Benutzer den Zugriff auf die Datei. Beispielsweise benötigt der Besitzer einer Webanwendung auf einem Webserver Änderungsberechtigungen, um die ASP-Dateien der Anwendung anzuzeigen, zu ändern und zu löschen. Allerdings sollten öffentliche Benutzer, die auf die Anwendung zugreifen, nur Leseberechtigungen erhalten, sodass sie nur die Webseiten der Anwendung anzeigen, aber nicht ändern dürfen.
Aufrechterhaltung der Global.asa-Sicherheit Um Ihre ASP-Anwendung vollständig zu schützen, stellen Sie sicher, dass Sie NTFS-Dateiberechtigungen für die Global.asa-Datei der Anwendung für den entsprechenden Benutzer oder die entsprechende Gruppe festlegen. Wenn Global.asa Befehle enthält, die Informationen an den Browser zurückgeben, und Sie die Datei Global.asa nicht schützen, werden die Informationen auch dann an den Browser zurückgegeben, wenn andere Dateien in der Anwendung geschützt sind.
HINWEIS Stellen Sie sicher, dass Sie einheitliche NTFS-Berechtigungen auf die Dateien der Anwendung anwenden. Wenn Sie beispielsweise versehentlich die NTFS-Berechtigungen für eine Datei, die eine Anwendung enthalten muss, zu stark einschränken, können Benutzer die Anwendung möglicherweise nicht anzeigen oder ausführen. Um solche Probleme zu vermeiden, planen Sie sorgfältig, bevor Sie Ihren Anwendungen NTFS-Berechtigungen zuweisen.
Webserverberechtigungen Sie können einschränken, wie alle Benutzer Ihre ASP-Seiten anzeigen, ausführen und bearbeiten können, indem Sie Berechtigungen auf Ihrem Webserver konfigurieren. Im Gegensatz zu NTFS-Berechtigungen, die eine Möglichkeit bieten, den Zugriff bestimmter Benutzer auf Anwendungsdateien und Verzeichnisse zu steuern, gelten Webserver-Berechtigungen für alle Benutzer und unterscheiden nicht zwischen Benutzerkontotypen.
Für die Benutzer, die Ihre ASP-Anwendungen ausführen, müssen Sie beim Festlegen von Webserverberechtigungen die folgenden Richtlinien befolgen:
Erlauben Sie Lese- oder Skriptberechtigungen für das virtuelle Verzeichnis, das die ASP-Datei enthält.
Erlauben Sie „Lesen“- und „Skript“-Berechtigungen für die virtuellen Verzeichnisse, in denen sich ASP-Dateien und andere Dateien mit Skripten (z. B. HTM-Dateien usw.) befinden.
Erlauben Sie Lese- und Ausführungsberechtigungen für virtuelle Verzeichnisse, die ASP-Dateien und andere Dateien enthalten, für deren Ausführung Ausführungsberechtigungen erforderlich sind (z. B. EXE- und DLL-Dateien usw.).
Skriptzuordnungsdateien Die Skriptzuordnung der Anwendung stellt sicher, dass der Webserver nicht versehentlich den Quellcode der ASP-Datei herunterlädt. Selbst wenn Sie beispielsweise Leseberechtigungen für das Verzeichnis festlegen, das eine ASP-Datei enthält, gibt Ihr Webserver den Quellcode für die Datei nicht zurück, solange die ASP-Datei zu einer Skriptzuordnungsanwendung für Benutzer gehört.
Cookie-Sicherheit
ASP verwendet das SessionID-Cookie, um bestimmte Webbrowser-Informationen während eines Anwendungsbesuchs oder einer Sitzung zu verfolgen. Dies bedeutet, dass HTTP-Anfragen mit entsprechenden Cookies als vom selben Webbrowser stammend betrachtet werden. Webserver können SessionID-Cookies verwenden, um ASP-Anwendungen mit benutzerspezifischen Sitzungsinformationen zu konfigurieren. Wenn es sich bei Ihrer Anwendung beispielsweise um einen Online-Musikshop handelt, der es Benutzern ermöglicht, CDs auszuwählen und zu kaufen, können Sie SessionID verwenden, um die Auswahl des Benutzers zu verfolgen, während er sich durch die Anwendung bewegt.
Kann SessionID von Hackern erraten werden?
Um zu verhindern, dass Computerhacker das SessionID-Cookie erraten und Zugriff auf die Sitzungsvariablen eines legitimen Benutzers erhalten, weist der Webserver jeder SessionID eine zufällig generierte Nummer zu. Immer wenn der Webbrowser des Benutzers ein SessionID-Cookie zurückgibt, ruft der Server die SessionID und die zugewiesene Nummer ab und prüft dann, ob sie mit der auf dem Server gespeicherten generierten Nummer übereinstimmt. Wenn die beiden Zahlen übereinstimmen, wird dem Benutzer der Zugriff auf die Sitzungsvariable gestattet. Die Wirksamkeit dieser Technik liegt in der Länge der zugewiesenen Nummer (64 Bit), wodurch die Wahrscheinlichkeit, dass ein Computerhacker die SessionID errät und die aktive Sitzung des Benutzers stiehlt, nahezu ausgeschlossen ist.
Verschlüsseln Sie wichtige SessionID-Cookies
Ein Computerhacker, der das Session-ID-Cookie eines Benutzers abfängt, kann dieses Cookie verwenden, um sich als Benutzer auszugeben. Wenn eine ASP-Anwendung private Informationen, Kreditkarten- oder Bankkontonummern enthält, kann ein Computerhacker mit einem gestohlenen Cookie eine aktive Sitzung in der Anwendung starten und an diese Informationen gelangen. Sie können das Abfangen des SessionID-Cookies verhindern, indem Sie die Kommunikationsverbindung zwischen Ihrem Webserver und dem Browser des Benutzers verschlüsseln.
Schützen eingeschränkter ASP-Inhalte mithilfe von Authentifizierungsmechanismen Sie können verlangen, dass jeder Benutzer, der versucht, auf eingeschränkte ASP-Inhalte zuzugreifen, über einen gültigen Benutzernamen und ein gültiges Kennwort für ein Windows NT-Konto verfügen muss. Immer wenn ein Benutzer versucht, auf eingeschränkte Inhalte zuzugreifen, führt der Webserver eine Authentifizierung oder Überprüfung der Identität des Benutzers durch, um zu prüfen, ob der Benutzer über ein gültiges Windows NT-Konto verfügt.
Der Webserver unterstützt die folgenden Authentifizierungsmethoden:
Standardauthentifizierung Fordert den Benutzer zur Eingabe eines Benutzernamens und eines Kennworts auf.
Die Windows NT-Anforderungs-/Antwortauthentifizierung ruft Benutzeridentitätsinformationen verschlüsselt vom Webbrowser des Benutzers ab.
Der Webserver authentifiziert den Benutzer jedoch nur, wenn der anonyme Zugriff durch Windows NT-Dateisystemberechtigungen verboten oder eingeschränkt ist.
Sichern der Metabasis ASP-Skripts, die auf die Metabasis zugreifen, erfordern Administratorrechte auf dem Computer, auf dem der Webserver ausgeführt wird. Wenn Sie diese Skripts von einem Remotecomputer aus ausführen, müssen Sie die Verbindung über eine authentifizierte Verbindung herstellen, z. B. mithilfe der Windows NT-Anforderungs-/Antwortauthentifizierung. Sie sollten einen Server oder ein Verzeichnis für die administrative ASP-Datei erstellen und die Authentifizierungsmethode für die Verzeichnissicherheit auf Windows NT-Anforderungs-/Antwortauthentifizierung festlegen. Derzeit wird die Anforderungs-/Antwortauthentifizierung von Windows NT nur von Microsoft Internet Explorer Version 2.0 oder höher unterstützt.
Sorgen Sie mit SSL für die Anwendungssicherheit
Als Webserver-Sicherheitsfunktion bietet das Secure Sockets Layer (SSL) 3.0-Protokoll eine sichere virtuelle und transparente Möglichkeit, verschlüsselte Kommunikationsverbindungen mit Benutzern herzustellen. SSL gewährleistet die Authentifizierung von Webinhalten und kann die Identität von Benutzern, die auf eingeschränkte Websites zugreifen, zuverlässig bestätigen.
Mit SSL können Sie von Benutzern, die auf eingeschränkte ASP-Anwendungen zugreifen möchten, verlangen, dass sie eine verschlüsselte Verbindung mit Ihrem Server herstellen. Dadurch wird verhindert, dass wichtige Informationen, die zwischen Benutzern und Anwendungen ausgetauscht werden, abgefangen werden.
Aufrechterhaltung der Sicherheit für eingeschlossene Dateien Wenn Sie Dateien, die sich in einem SSL-aktivierten Verzeichnis befinden, aus einer ASP-Datei einschließen, die sich in einem ungeschützten virtuellen Stammverzeichnis befindet, wird SSL nicht auf die eingeschlossenen Dateien angewendet. Um sicherzustellen, dass SSL angewendet wird, stellen Sie daher sicher, dass sich sowohl die einschließenden als auch die eingeschlossenen Dateien in einem SSL-aktivierten Verzeichnis befinden.
Client-Authentifizierung Eine sehr sichere Möglichkeit, den Zugriff auf Ihre ASP-Anwendung zu kontrollieren, besteht darin, von Benutzern zu verlangen, dass sie sich mit Client-Authentifizierung anmelden. Ein Kundenausweis ist ein digitaler Personalausweis, der die Identitätsinformationen des Benutzers enthält und auf die gleiche Weise funktioniert wie ein herkömmlicher Ausweis, beispielsweise ein Reisepass oder ein Führerschein. Benutzer erhalten in der Regel Kundenqualifikationen von einer vertrauenswürdigen Drittorganisation, die die Identitätsinformationen des Benutzers bestätigt, bevor sie Qualifikationszertifikate ausstellt. (Normalerweise fragen solche Organisationen nach einem Namen, einer Adresse, einer Telefonnummer und dem Namen der Organisation; der Detaillierungsgrad dieser Informationen variiert je nach Statusstufe.)
Immer wenn ein Benutzer versucht, sich bei einer Anwendung anzumelden, die eine Berechtigungsüberprüfung erfordert, sendet der Webbrowser des Benutzers automatisch die Anmeldeinformationen des Benutzers an den Server. Wenn die Secure Sockets Layer (SSL)-Qualifikationszuordnungsfunktion des Webservers richtig konfiguriert ist, kann der Server die Identität eines Benutzers überprüfen, bevor er Zugriff auf eine ASP-Anwendung gewährt.
ASP-Skripte zur Abwicklung der Qualifikationszertifizierung Als ASP-Anwendungsentwickler können Sie Skripte schreiben, um zu prüfen, ob eine Qualifikation vorhanden ist, und um die Qualifikationsfelder auszulesen. Beispielsweise können Sie über die Qualifikation auf die Felder „Benutzername“ und „Firmenname“ zugreifen. Active Server Pages speichert Qualifikationsinformationen in der ClientCertificate-Sammlung des Request-Objekts.
Der Webserver muss so konfiguriert sein, dass er Clientqualifikationen akzeptiert oder erfordert, bevor er über ASP verarbeitet werden kann. Andernfalls ist die ClientCertificate-Sammlung leer.