(0) exportieren Drucken
Alle erweitern
1 von 2 fanden dies hilfreich - Dieses Thema bewerten.

Erhöhen der Sicherheit von Webanwendungen

Aktualisiert: 05. Mai 2004
Auf dieser Seite

Modulübersicht Modulübersicht
Zielsetzung Zielsetzung
Betrifft Betrifft
Verwendung dieses Moduls Verwendung dieses Moduls
Einleitung Einleitung
Intention dieses Handbuchs Intention dieses Handbuchs
Was ist eine angriffsresistente Anwendung? Was ist eine angriffsresistente Anwendung?
Themenumfang dieses Handbuchs Themenumfang dieses Handbuchs
Zielgruppe Zielgruppe
Verwendung dieses Handbuchs Verwendung dieses Handbuchs
Aufbau dieses Handbuchs Aufbau dieses Handbuchs
Ansatz dieses Handbuchs Ansatz dieses Handbuchs
Kontext dieses Handbuchs Kontext dieses Handbuchs
Feedback und Support Feedback und Support
Das Autorenteam dieses Handbuchs Das Autorenteam dieses Handbuchs
Berichten Sie uns von Ihren Erfolgen Berichten Sie uns von Ihren Erfolgen
Zusammenfassung Zusammenfassung

Modulübersicht

"Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen" ist ein umfassendes und ausführliches Sicherheitshandbuch, das Sie beim Entwerfen, Entwickeln, Konfigurieren und Bereitstellen von sicheren, angriffsresistenten ASP.NET-Webanwendungen unterstützen soll.

Dieses Modul bietet eine Einführung in dieses Handbuch mit einer kurzen Beschreibung des Aufbaus und Erläuterungen dazu, wie Sie die enthaltenen Informationen auf Ihr Szenario anwenden können. Außerdem bietet es eine umfassende, nach Ebenen strukturierte Darstellung der verschiedenen Sicherheitsaspekte. Zu diesen Ebenen zählen Netzwerk, Host und Anwendung innerhalb der Schichten der verteilten .NET-Webanwendungen.

Zielsetzung

Themenbereiche:

  • Zweck dieses Handbuchs

  • Erläuterung einer angriffsresistenten Webanwendung

  • Umfassende, nach Ebenen strukturierte Darstellung der verschiedenen Sicherheitsaspekte

  • Anwendung der Informationen dieses Handbuchs auf Ihr aktuelles Projekt und auf Ihre Rolle bei der Entwicklung

  • Vergleichen dieses Handbuchs mit anderen Microsoft-Handbüchern aus der Serie Patterns and Practices.

Betrifft

Dieses Modul enthält keine technischen Informationen, das Handbuch bezieht sich jedoch auf die folgenden Produkte und Technologien:

  • Microsoft Windows Server 2000 und 2003

  • .NET Framework 1.1

  • ASP.NET 1.1

  • Microsoft SQL Server 2000

Verwendung dieses Moduls

Dieses Modul bietet Informationen zu Struktur und Aufbau des Handbuchs "Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen".

Das Handbuch enthält eine ausführliche Beschreibung komplexer Themen. Für Sie ist wichtig, dass Sie diese Informationen auf Ihre Rolle und Ihr Produkt anwenden können. Themenbereiche:

  • Anwenden der Informationen dieses Handbuchs auf Ihre Rolle.

  • Anwenden der Informationen dieses Handbuchs auf den Lebenszyklus Ihres Produkts.

Nach der Lektüre dieses Moduls sollten Sie sich den begleitenden Modulen "Lösungen auf einen Blick" und "Kurzanleitung" zuwenden. Diese helfen Ihnen bei der Anwendung der Informationen dieses Handbuchs. Auf diese Weise können Sie die Informationen in kürzester Zeit optimal nutzen.

Einleitung

Die Informationen in diesem Handbuch wurden auf Grundlage von bewährten Verfahren zur Verbesserung der Sicherheit von Webanwendungen entwickelt. Dieses Handbuch ist nach Aufgaben und entsprechend der Themen "Lebenszyklus", "Aufgaben" und "Rollen" strukturiert.

  • Teil I, "Einführung zu Bedrohungen und Gegenmaßnahmen": In diesem Abschnitt werden die verschiedenen Bedrohungen identifiziert und beschrieben, denen Netzwerke, Hosts und Anwendungsebenen ausgesetzt sind. Die Bedrohungsanalyse unterstützt Sie bei der Identifizierung der Bedrohungen, durch die Ihre Anwendung beschädigt werden kann. Wenn Sie diese Bedrohungen erkennen, können Sie wirkungsvolle Gegenmaßnahmen festlegen und durchführen, abhängig davon, wie ernst die drohende Gefahr ist.

  • Teil II, "Entwerfen sicherer Webanwendungen": Dieser Teil enthält die notwendigen Informationen zum Entwerfen sicherer Webanwendungen. Auch wenn Sie die Anwendung schon bereitgestellt haben, wird die Überprüfung und Bewertung der in diesem Abschnitt beschriebenen Konzepte, Grundsätze und Methoden empfohlen.

  • Teil III, "Erstellen sicherer Webanwendungen": Das Thema dieses Abschnitts ist die Erstellung von sicheren Implementierungen auf Grundlage der in Teil II beschriebenen Entwurfsvorgehensweisen. Sie lernen Programmiertechniken zur Verteidigung und zum Schutz Ihrer Anwendung vor Angriffen.

  • Teil IV, "Schützen von Netzwerk, Host und Anwendung": In diesem Abschnitt wird die Anwendung von Sicherheitskonfigurationseinstellungen zum Schutz dieser drei zusammenhängenden Ebenen beschrieben. Damit Sie Sicherheitsmaßnahmen nicht willkürlich einsetzen, wird Ihnen hier gezeigt, dass die Beachtung der Sicherheitsempfehlungen zu einem sinnvollen und wirksamen Einsatz von Schutzmaßnahmen führt.

  • Teil V, "Einschätzen der Sicherheit": In diesem Abschnitt werden die Tools vorgestellt und beschrieben, die Sie für eine Erfolgsbewertung Ihrer Sicherheitsbemühungen benötigen. Beginnen Sie mit der Anwendung und verwenden Sie einen "Inside-Out"-Ansatz zur Bewertung von Code und Entwurf. Daraufhin folgt in einer von außen nach innen gerichteten Perspektive die Abschätzung der Sicherheitsrisiken, die für Ihre Hosts, Netzwerke und Anwendungen bestehen.

Intention dieses Handbuchs

Lange Zeit wurde Sicherheit vor allem als ein Problem in Netzwerken aufgefasst, bei denen die Firewall als wichtigste Schutzmaßnahme (das Festungsmodell) dient. Nach diesem Verständnis ist Sicherheit ein Problem, um das sich Systemadministratoren durch Sperren des Hostcomputers kümmern. Anwendungsarchitekten und -entwickler haben Sicherheitsfragen in der Regel erst nachträglich berücksichtigt. Im Vordergrund standen Überlegungen zur Anwendungsleistung.

Das Problem des Firewall- oder Festungsmodells besteht darin, dass Angriffe den Netzwerkschutz durchbrechen und die Anwendung direkt betreffen können. Mithilfe einer typischen Firewall kann zwar der Datenverkehr zu HTTP beschränkt werden, der HTTP-Datenverkehr kann jedoch Befehle enthalten, welche die Sicherheitslücken der Anwendung ausnutzen. Auch das ausschließliche Vertrauen auf eine Sperrung der Hosts stellt einen weiteren erfolglosen Ansatz dar. Zwar kann einigen Bedrohungen auf Hostebene erfolgreich begegnet werden, jedoch sind neuerdings Angriffe auf Anwendungen ein ernst zu nehmendes und immer dringlicher werdendes Sicherheitsproblem.

Ein weiterer Problembereich der Sicherheit liegt in der Bereitstellung. In einem allzu bekannten Szenario schlägt eine Anwendung bei der Bereitstellung in einer gesperrten Produktionsumgebung fehl. Der Administrator ist nun gezwungen, die Sicherheitseinstellungen zu lockern. Dies führt häufig zu neuen Sicherheitslücken. Darüber hinaus wird die Sicherheit auch durch das Fehlen von Sicherheitsrichtlinien oder durch mit der Richtlinie unvereinbare Anwendungsanforderungen beeinträchtigt. Eines der Ziele dieses Handbuchs besteht darin, diese Kluft zwischen Entwicklung und Betrieb zu überbrücken.

Willkürlich festgelegte Sicherheitsregeln sind nicht ausreichend. Wenn Sie Ihre Anwendung angriffsresistent machen möchten, benötigen Sie einen ganzheitlichen und systematischen Ansatz zur Sicherung Ihrer Netzwerke, Hosts und Anwendungen. Sicherheit umfasst Lebensphasen und Rollen über den gesamten Lebenszyklus des Produkts hinweg. Sie ist kein Ziel, sondern ein Weg. Dieses Handbuch wird Sie auf diesem Weg begleiten.

Was ist eine angriffsresistente Anwendung?

Dieses Handbuch unterstützt Sie beim Erstellen von angriffsresistenten Anwendungen. Eine angriffsresistente Anwendung ist eine Anwendung, bei der die Wahrscheinlichkeit eines erfolgreichen Angriffs und die Schäden durch einen möglichen Angriff gemindert werden. Eine angriffsresistente Anwendung befindet sich auf einem sicheren Host (Server) innerhalb eines sicheren Netzwerks und wird unter Berücksichtigung sicherer Entwurfs- und Entwicklungsrichtlinien entwickelt.

2002 wurde durch die Zeitschrift eWeek zum vierten Mal ein offener Hackerwettbewerb (Open Hack) ausgerichtet, bei dem deutlich wurde, dass mithilfe von .NET-Technologien auf Servern mit dem Betriebssystem Microsoft® Windows® 2000 angriffsresistente Anwendungen erstellt werden können. Das Open-Hack-Team erstellte mithilfe von Microsoft Windows 2000 Advanced Server, Internet Information Services (IIS) 5.0, Microsoft SQL Server™ 2000 und .NET Framework eine ASP.NET-Webanwendung. Diese widerstand erfolgreich mehr als 82.500 versuchten Angriffen und ging unbeschadet aus dem Wettbewerb hervor.

In diesem Handbuch werden die Methoden und Erfahrungen vorgestellt, die beim Schützen von Webanwendungen (einschließlich der Open-Hack-Anwendung) gesammelt wurden. Darüber hinaus enthält dieses Handbuch weltweit bewährte Vorgehensweisen zum Schützen von Netzwerken und Webservern. Diese Methoden und bewährten Verfahren werden hier zusammengefasst und als Leitfäden für die Praxis zur Verfügung gestellt.

Themenumfang dieses Handbuchs

Die Sicherheit von Webanwendungen muss über Schichten hinweg und auf mehreren Ebenen entwickelt werden. Durch eine Schwachstelle in einer der Schichten oder Ebenen wird eine Anwendung dem Risiko eines Angriffs ausgesetzt.

Schützen von Netzwerken, Hosts und Anwendungen

In Abbildung 1 werden die Themen dieses Handbuchs und der verwendete dreistufige Ansatz dargestellt: Schützen des Netzwerks, Schützen des Host und Schützen der Anwendung. Darüber hinaus wird ein als Bedrohungsanalyse bezeichnetes Verfahren beschrieben, durch das das Sicherungsverfahren mit einer Struktur und Grundlage versehen wird, mit deren Hilfe Sie Sicherheitsbedrohungen einschätzen und entsprechende Gegenmaßnahmen ermitteln können. Wie können Sie Ihr System schützen, wenn Sie die Bedrohungen nicht kennen?

Die Themen von 'Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen'

Abbildung 1
Die Themen von "Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen"

In diesem Handbuch wird die Sicherheit der drei in Abbildung 1 dargestellten physischen Schichten beschrieben. Diese sind: der Webserver, der Remoteanwendungsserver und der Datenbankserver. Für jede Schicht wird die Sicherheit auf Netzwerk-, Host- und Anwendungsebene beschrieben. In Abbildung 1 werden darüber hinaus auch die Konfigurationskategorien dargestellt, die in diesem Handbuch als Ordnungskriterien der verschiedenen den Host und das Netzwerk betreffenden Sicherheitskonfigurationseinstellungen dienen, sowie die Kategorien der Anwendungssicherheitslücken, die zur Strukturierung der Überlegungen zur Anwendungssicherheit verwendet werden.

Berücksichtigte Technologien

Obwohl ein großer Teil der hier zur Verfügung gestellten Informationen technologieübergreifend gilt, bezieht sich dieses Handbuch auf Webanwendungen, die mit dem .NET Framework erstellt und unter einem Betriebssystem aus der Produktfamilie Windows 2000 Server bereitgestellt werden. Ein Schwerpunkt dieses Handbuchs ist die Codezugriffssicherheit unter .NET Framework, insbesondere in Verbindung mit der Verwendung von Codezugriffssicherheit mit ASP.NET. Sofern angebracht, wird auf neue Funktionen von Windows Server 2003 hingewiesen. In Tabelle 1 werden die Produkte und Dienste aufgelistet, auf denen dieses Handbuch beruht.

Tabelle 1 Wichtige in diesem Handbuch angesprochene Technologien

Bereich

Produkt/Technologie

Plattformen

.NET Framework 1.1
Windows 2000 Server-Produktfamilie
Windows Server 2003-Sicherheitsfunktionen werden ebenfalls behandelt.

Webserver

IIS 5.0 (in Windows 2000 Server enthalten)

Anwendungsserver

Windows 2000 Server mit .NET Framework 1.1

Datenbankserver

SQL Server 2000

Middleware-Technologien

ASP.NET, Enterprise Services, XML Web Services, .NET Remoting

Datenzugriff

ADO.NET

Zielgruppe

Dieses Handbuch richtet sich an alle, die mit der Planung, Erstellung, Bereitstellung oder dem Betrieb von Webanwendungen befasst sind. Sie enthält grundlegende Informationen für Designer, Entwickler, Systemadministratoren und Sicherheitsanalysten.

Designer erhalten Informationen zur Vermeidung von teuren Sicherheitsfehlern und zu Entwurfsentscheidungen, die in einem frühen Stadium des Lebenszyklus der Produktentwicklung getroffen werden sollten. Entwickler erhalten Informationen zur Implementierung schützender Codetechniken und zum Erstellen von sicherem Code. Systemadministratoren erhalten Informationen zum methodischen Schützen von Servern und Netzwerken, Sicherheitsanalysten erhalten Informationen zum Durchführen von Sicherheitsbewertungen.

Verwendung dieses Handbuchs

Das Handbuch ist in Module gegliedert. Die Informationen sind aufgabenbezogen und in Themen gegliedert, die die verschiedenen Stadien im Lebenszyklus der Projektentwicklung und die an diesen beteiligten Personen und Rollen (Systemarchitekten, Entwickler, Systemadministratoren und Sicherheitsanalysten) widerspiegeln.

Anwenden der Informationen des Handbuchs auf die jeweiligen Rollen

Teil I dieses Handbuchs sollte von allen gelesen werden, unabhängig davon, ob Sie am Entwurf, der Entwicklung, der Bereitstellung oder der Wartung von Webanwendungen und deren Infrastruktur arbeiten. In Teil I "Einführung zu Bedrohungen und Gegenmaßnahmen", werden die Hauptbedrohungen identifiziert und beschrieben, denen Anwendungen auf Netzwerk-, Host- und Anwendungsebene ausgesetzt sind. Darüber hinaus wird die Erstellung von Bedrohungsanalysen zur Identifizierung und Einstufung der für Ihre Anwendung wahrscheinlichsten Bedrohungen beschrieben. Eine genaue Kenntnis der Bedrohungen und entsprechenden Gegenmaßnahmen ist für jeden unerlässlich, der an der Sicherung von Webanwendungen interessiert ist.

Wenn Sie für den Entwurf einer neuen oder bereits bestehenden Webanwendung verantwortlich oder daran beteiligt sind, sollten Sie Teil II, "Entwerfen sicherer Webanwendungen", lesen. Mithilfe von Teil II können Sie mögliche Sicherheitslücken in Ihrem Anwendungsentwurf identifizieren.

Entwickler sollten Teil III "Erstellen sicherer Webanwendungen", lesen. Mithilfe der Informationen in diesem Teil können Sie sicheren Code und sichere Komponenten entwickeln, einschließlich Webseiten, Steuerelementen, Webdiensten, Remotekomponenten und Datenzugriffscode. Entwickler sollten sich außerdem in Teil IV "Schützen von Netzwerk, Host und Anwendung" über den Sicherheitsumgebungstyp informieren, in dem der Code wahrscheinlich bereitgestellt wird. Ein besseres Verständnis der Zielumgebung reduziert das Risiko von zum Zeitpunkt der Bereitstellung auftretenden Problemen und Sicherheitslücken beträchtlich.

Systemadministratoren sollten Teil IV "Schützen von Netzwerk, Host und Anwendung" lesen. Dieser Teil enthält Informationen zum Erstellen einer sicheren Netzwerk- und Serverinfrastruktur, die zur Unterstützung von .NET-Webanwendungen und -Webdiensten ausgelegt ist.

Teil V "Einschätzen Ihrer Sicherheit" sollte von allen gelesen werden, die für die Überprüfung der Produktsicherheit verantwortlich sind. Mithilfe dieser Informationen können Sie die durch unsichere Codierungstechniken oder Bereitstellungskonfigurationen verursachten Sicherheitslücken identifizieren.

Anwenden der Informationen des Handbuchs auf die Lebensdauer eines Produkts

Die verschiedenen Teile dieses Handbuchs beziehen sich auf unterschiedliche Phasen im Lebenszyklus der Produktentwicklung. Die Abfolge der Module in diesem Handbuch entspricht den typischen Phasen des Lebenszyklus. In Abbildung 2 werden die Teile und Module aufgeführt, die den klassischen Phasen im Lebenszyklus der Produktentwicklung entsprechen.

Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen im Verhältnis zum Lebenszyklus eines Produkts

Abbildung 2
Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen im Verhältnis zum Lebenszyklus eines Produkts

Microsoft Solutions Framework

Benutzer und Kenner des Microsoft Solutions Framework (MSF) finden in Abbildung 3 eine ähnliche Zuordnung zum Lebenszyklus, diesmal bezogen auf das MSF-Prozessmodell.

Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen im Verhältnis zu MSF

Abbildung 3
Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen im Verhältnis zu MSF

Aufbau dieses Handbuchs

Sie können dieses Handbuch von Anfang bis Ende lesen oder den anfallenden Aufgaben entsprechend einzelne Module auswählen. Eine schnelle Übersicht zu diesem Handbuch finden Sie im Abschnitt "Kurzanleitung".

Lösungen auf einen Blick

Der Abschnitt "Lösungen auf einen Blick" enthält eine Übersicht der in diesem Handbuch angesprochenen Problemen, da er auf die wichtigsten Problembereiche und auf entsprechende ausführlichere Informationen hinweist.

Kurzanleitung

Mithilfe des Abschnitts "Kurzanleitung" am Anfang des Handbuchs können Sie die Empfehlungen und Informationen dieses Handbuchs schnell und einfach implementieren.

Teile

Dieses Handbuch ist in fünf Teile gegliedert:

  • Teil I Einführung in Bedrohungen und Gegenmaßnahmen

  • Teil II Entwerfen sicherer Webanwendungen

  • Teil III Erstellen sicherer Webanwendungen

  • Teil IV Schützen von Netzwerk, Host und Anwendung

  • Teil V Einschätzen der Sicherheit

Teil I Einführung in Bedrohungen und Gegenmaßnahmen

In diesem Teil werden die verschiedenen Bedrohungen der Netzwerk-, Host- und Anwendungsebene identifiziert und beschrieben. Mithilfe des Verfahrens zur Bedrohungsanalyse können Sie die für Ihre Anwendung relevanten Bedrohungen identifizieren. Dadurch werden die Grundlagen zum Identifizieren wirksamer Gegenmaßnahmen geschaffen. Dieser Teil enthält die folgenden Module:

  • Modul 1, "Grundlagen der Sicherheit von Webanwendungen"

  • Modul 2, "Bedrohungen und Gegenmaßnahmen"

  • Modul 3, "Bedrohungsanalyse"

Teil II Entwerfen sicherer Webanwendungen

Dieser Teil enthält Informationen zum sicheren Entwerfen von Webanwendungen. Auch wenn Sie über eine bereits bestehende Anwendung verfügen, sollten Sie diesen Abschnitt lesen und die bei Ihrem Anwendungsentwurf zugrunde gelegten Konzepte, Prinzipien und Techniken überprüfen. Dieser Teil enthält die folgenden Module:

  • Modul 4, "Entwurfsrichtlinien für sichere Webanwendungen"

  • Modul 5, "Architektur- und Entwurfs-Sicherheitsüberprüfung"

Teil III Erstellen sicherer Webanwendungen

Mithilfe der Informationen in diesem Teil können Sie die im vorangegangenen Teil beschriebenen sicheren Entwicklungsverfahren und -prinzipien zum Erstellen einer soliden und sicheren Implementierung anwenden. Sie lernen Programmiertechniken zur Verteidigung und zum Schutz Ihrer Anwendung vor Angriffen. Modul 6 enthält eine Übersicht über die Sicherheitslandschaft des .NET Framework, in der Sie über die zahlreichen verfügbaren Schutzoptionen und -tools informiert werden. Teil III enthält die folgenden Module:

  • Modul 6, ".NET-Sicherheit - Überblick"

  • Modul 7, "Erstellen sicherer Assemblys"

  • Modul 8, "Codezugriffssicherheit in der Praxis"

  • Modul 9, "Verwenden der Codezugriffssicherheit mit ASP.NET"

  • Modul 10, "Erstellen sicherer ASP.NET-Seiten und -Steuerelemente"

  • Modul 11, "Erstellen sicherer Serviced Components"

  • Modul 12, "Erstellen sicherer Webdienste"

  • Modul 13, "Erstellen sicherer Remotekomponenten"

  • Modul 14, "Erstellen eines sicheren Datenzugriffs"

Teil IV Schützen von Netzwerk, Host und Anwendung

Dieser Teil enthält Informationen zur Anwendung von Sicherheitskonfigurationseinstellungen zum Schutz der miteinander verbundenen Netzwerk-, Host- und Anwendungsebenen. Damit Sie Sicherheitsmaßnahmen nicht willkürlich einsetzen, werden Sie hier über die Gründe für die Sicherheitsempfehlungen informiert. Teil IV enthält die folgenden Module:

  • Modul 15, "Schützen des Netzwerks"

  • Modul 16, "Schützen des Webservers"

  • Modul 17, "Schützen des Anwendungsservers"

  • Modul 18, "Schützen des Datenbankservers"

  • Modul 19, "Schützen der ASP.NET-Anwendung und -Webdienste"

  • Modul 20, "Hosten mehrerer Webanwendungen"

Teil V Einschätzen der Sicherheit

In diesem Teil werden die Tools vorgestellt, die Sie für eine Bewertung des Erfolgs Ihrer Sicherheitsmaßnahmen benötigen. Zur Identifizierung möglicher Sicherheitslücken erhalten Sie hier Informationen zum Bewerten Ihres Code und Ihres Entwurfs sowie zum Überprüfen der bereitgestellten Anwendung.

  • Modul 21, "Codeüberprüfung"

  • Modul 22, "Überprüfen der Bereitstellung"

Prüflisten

Dieser Abschnitt enthält druckbare aufgabenbezogene Prüflisten, mit deren Hilfe Sie die hier zur Verfügung gestellten Informationen in der Praxis schnell umsetzen können. Folgende Prüflisten sind in diesem Abschnitt enthalten:

  • Prüfliste: Architektur- und Entwurfsüberprüfung

  • Prüfliste: Schützen von ASP.NET

  • Prüfliste: Schützen von Webdiensten

  • Prüfliste: Schützen von Enterprise Services

  • Prüfliste: Schützen des Remotezugriffs

  • Prüfliste: Schützen des Datenzugriffs

  • Prüfliste: Schützen des Netzwerks

  • Prüfliste: Schützen des Webservers

  • Prüfliste: Schützen des Datenbankservers

  • Prüfliste: Sicherheitsprüfung für verwalteten Code

Anleitungen

Dieser Abschnitt enthält Anleitungen, in denen Schritt-für-Schritt-Verfahren zur Lösung von Schlüsselaufgaben beschrieben werden. Folgende Anleitungen sind in diesem Abschnitt enthalten:

  • Implementieren der Patchverwaltung

  • Absichern des TCP/IP-Stacks

  • Schützen der Entwicklerarbeitsstation

  • Verwenden von IPSec zum Filtern von Ports und die Authentifizierung

  • Verwenden von Microsoft Baseline Security Analyzer

  • Verwenden von IISLockdown

  • Verwenden von URLScan

  • Erstellen einer benutzerdefinierten Verschlüsselungsberechtigung

  • Verwenden von Sicherheitsrichtlinien zum Beschränken einer

Ansatz dieses Handbuchs

Wie erhalten Sie eine angriffsresistente Anwendung? Diesem Handbuch liegt der folgende Ansatz zugrunde:

  • Schützen von Netzwerk, Host und Anwendung

  • Konzentration auf Bedrohungen

  • Vorgehen auf Grundlage bewährter Prinzipien

Schützen von Netzwerk, Host und Anwendung

Die Sicherheit muss auf drei Ebenen hergestellt werden: Netzwerk, Host und Anwendung. Angreifer können eine Schwachstelle in einer dieser Ebenen ausnutzen. Für dieses Handbuch wurde ein ganzheitlicher, auf allen drei Ebenen wirksamer Ansatz zur Anwendungssicherheit gewählt. Der ganzheitliche Ansatz wird in Abbildung 4 dargestellt.

Ganzheitlicher Ansatz zur Sicherheit

Abbildung 4
Ganzheitlicher Ansatz zur Sicherheit

In Abbildung 4 werden die in diesem Handbuch behandelten Ebenen "Netzwerk", "Host" und "Anwendung" dargestellt. Die Hostebene umfasst das Betriebssystem, Plattformdienste und -komponenten sowie Laufzeitdienste und -komponenten. Die Plattformdienste und -komponenten umfassen SQL Server und Enterprise Services. Zu den Laufzeitdiensten und -komponenten gehören etwa ASP.NET und .NET-Codezugriffssicherheit.

Konzentration auf Bedrohungen

Wenn Sie die durch die Sicherheitsmaßnahmen zu reduzierenden Bedrohungen nicht genau kennen, kann die Anwendung dieser Maßnahmen wirkungslos bleiben oder sogar kontraproduktiv wirken.

Bedrohungen können entweder von außen durch einen Angreifer aus dem Internet oder von innen herrühren, beispielsweise von einem verärgerten Mitarbeiter oder Administrator. Mithilfe dieses Handbuchs können Sie Bedrohungen auf zwei Weisen identifizieren:

  • Anhand einer Liste mit den Hauptbedrohungen für Webanwendungen auf der Netzwerk-, Host- und Anwendungsebene.

  • Mithilfe eines als Bedrohungsanalyse bezeichneten Verfahrens können Sie die für Ihre Anwendung relevanten Bedrohungen identifizieren.

Vorgehen auf Grundlage bewährter Prinzipien

Die in diesem Handbuch enthaltenen Empfehlungen wurden auf Grundlage von seit Jahren bewährten Sicherheitsprinzipien entwickelt. Für die Analyse und die Berücksichtigung von Bedrohungen vor der Implementierung oder Bereitstellung des Produkts bietet sich ein Ansatz auf Grundlage von Prinzipien an, durch den Kernprinzipien unabhängig von der Implementierungstechnologie oder dem Anwendungsszenario angewendet werden können.

Kontext dieses Handbuchs

Beim vorliegenden Handbuch handelt es sich um das zweite in einer Serie, das Kunden beim Planen, Erstellen, Bereitstellen und Betreiben sicherer Webanwendungen behilflich sein soll: Band I, Erstellen sicherer ASP.NET-Anwendungen: Authentifizierung, Autorisierung und sichere Kommunikation sowie Band II, Erhöhen der Sicherheit von Webanwendungen: Bedrohungen und Gegenmaßnahmen.

Band I Erstellen sicherer ASP.NET-Anwendungen

Erstellen sicherer ASP.NET-Anwendungen enthält Informationen zum Erstellen von leistungsstarken Authentifizierungs- und Autorisierungsmechanismen für Ihre Anwendungen. Schwerpunkt bildet hier die Identitätsverwaltung über die Schichten einer verteilten Webanwendung hinweg. Durch Entwickeln einer soliden Authentifizierungs- und Autorisierungsstrategie gleich zu Beginn des Entwurfs kann ein hoher Prozentsatz der Sicherheitsprobleme mit der Anwendung vermieden werden. Die Hauptzielgruppe von Band I sind Systemarchitekten und leitende Entwickler.

In Abbildung 5 wird der Themenumfang von Band I dargestellt. In diesem Handbuch werden die Themen "Authentifizierung", "Autorisierung" und "Sichere Kommunikation über die Schichten einer verteilten Webanwendung" behandelt. Die Technologien, auf die Bezug genommen wird, sind mit denen im vorliegenden Handbuch identisch: Windows 2000 Server, IIS, ASP.NET-Webanwendungen und -Webdienste, Enterprise Services, .NET Remoting, SQL Server und ADO.NET.

Themenumfang von Band I, Erstellen sicherer ASP.NET-Anwendungen

Abbildung 5
Themenumfang von Band I, Erstellen sicherer ASP.NET-Anwendungen

Band II Erhöhen der Sicherheit von Webanwendungen

Dieses Handbuch dient als Unterstützung beim Erstellen und Warten von angriffsresistenten Anwendungen. Das Thema Sicherheit wird auf breiter Ebene über die Schichten hinweg behandelt. Der Schwerpunkt hierbei liegt bei Bedrohungen und Gegenmaßnahmen auf Netzwerk-, Host- und Anwendungsebene. Die Zielgruppe ist hier weiter gefasst, und die Informationen des Handbuchs können auf den gesamten Lebenszyklus des Produkts angewendet werden.

Hinweise zu weiteren themenbezogenen Arbeiten finden Sie im Modul "Ressourcen" am Ende dieses Handbuchs.

Feedback und Support

Bei der Erstellung dieses Handbuchs wurde großer Wert auf die Genauigkeit der Informationen gelegt.

Feedback zu diesem Handbuch

Anmerkungen zu diesem Handbuch können Sie per E-Mail an folgende Adresse senden: secguide@microsoft.com. Von besonderem Interesse ist ein Feedback zu folgenden Bereichen:

  • Technische Probleme bei der Umsetzung der Empfehlungen

  • Sind die Empfehlungen umsetzbar und hilfreich?

  • Tipp- und Formatfehler

Technischer Support

Der in diesem Handbuch erwähnte technische Support für Microsoft-Produkte und -Technologien erfolgt durch Microsoft Product Support Services (PSS). Informationen zum Produktsupport finden Sie auf der entsprechenden Microsoft-Website unter: http://support.microsoft.com.

Community- und Newsgroup-Support

MSDN Newsgroups: http://msdn.microsoft.com/newsgroups/default.asp

Tabelle 2 Newsgroups

Newsgroup

Adresse

.NET Framework-Sicherheit

microsoft.public.dotnet.security

ASP.NET-Sicherheit

microsoft.public.dotnet.framework.aspnet.security

Enterprise Services

microsoft.public.dotnet.framework_component_services

Webdienste

microsoft.public.dotnet.framework.aspnet.security

Remoting

microsoft.public.dotnet.framework.aspnet.security

ADO.NET

microsoft.public.dotnet.framework.aspnet.security

SQL Server-Sicherheit

microsoft.public.sqlserver.security

MBSA

microsoft.public.security.baseline_analyzer

Virus

microsoft.public.security.virus

IIS-Sicherheit

microsoft.public.inetserver.iis.security

Das Autorenteam dieses Handbuchs

Dieses Handbuch wurde von den folgenden .NET-Entwicklungsspezialisten geschrieben:

  • J.D. Meier, Microsoft, Program Manager, Prescriptive Architecture Guidance (PAG)

  • Alex Mackman, Content Master Ltd, Gründungsmitglied und Principal Technologist

  • Srinath Vasireddy, Microsoft, Developer Support Engineer, PSS

  • Srinath Vasireddy, Microsoft, Developer Support Engineer, PSS

  • Srinath Vasireddy, Microsoft, Developer Support Engineer, PSS

  • Anandha Murukan, Satyam Computer Services

Beteiligte Mitarbeiter und Gutachter

Vielen Dank an folgende Mitarbeiter und Gutachter:

  • Dank an die externen Gutachter: Mark Curphey (Projekt "Open Web Application Security" und Watchfire), Andy Eunson (ausführliches Gutachten), Anil John (Codezugriffssicherheit und Hostingszenarien), Paul Hudson und Stuart Bonell (Attenda Ltd., ausführliche Gutachten der Sicherheitsserie), Scott Stanfield und James Walters (Vertigo Software), Lloyd Andrew Hubbard, Matthew Levine, Lakshmi Narasimhan Vyasarajan (Satyam Computer Services), Nick Smith (Senior Security Architect, American Airlines, ausführliches Gutachten zur Sicherheitsserie), Ron Nelson, Senthil Rajan Alaguvel (Infosys Technologies Limited), Roger Abell (Engineering Technical Services, Arizona State University) und Doug Thews.

  • Microsoft-Produktgruppe: Michael Howard (Bedrohungsanalyse, Codeüberprüfung und Bereitstellungsüberprüfung), Matt Lyons (Entmystifizierung der Codezugriffssicherheit), Caesar Samsi, Erik Olson (ausführliche Bewertungen und Empfehlungen zu ASP.NET), Andres De Vivanco (Schützen von SQL Server), Riyaz Pishori (Enterprise Services), Alan Shi, Carlos Garcia Jurado Suarez, Raja Krishnaswamy (CLR Development Lead), Christopher Brown, Dennis Angeline, Ivan Medvedev (Codezugriffssicherheit), Jeffrey Cooperstein (Bedrohungsanalyse), Frank Swiderski, Manish Prabhu (.NET Remoting), Michael Edwards (MSDE), Pranish Kumar (VC++ PM), Richard Waymire (SQL-Sicherheit), Sebastian Lange, Greg Singleton, Thomas Deml (IIS Lead PM), Wade Hilmo (IIS), Steven Pratschner, Willis Johnson (SQL Server) und Girish Chander (SQL Server).

  • Microsoft Consulting Services und Product Support Services (PSS): Ilia Fortunov (Senior Architect, für andauerndes und sorgfältiges Feedback), Aaron Margosis (ausführliches Gutachten, Skriptinjektion und SQL-Injektion), Jacquelyn Schmidt, Kenny Jones, Wade Mascia (Web Services und Enterprise Services), Aaron Barth, Jackie Richards, Aaron Turner, Andy Erlandson (Director of PSS Security), Jayaprakasam Siddian Thirunavukkarasu (SQL Server-Sicherheit), Jeremy Bostron, Jerry Bryant, Mike Leuzinger, Robert Hensing (Gutachten zur Sicherheitsserie), Gene Ferioli, David Lawler, Jon Wall (Bedrohungsanalyse), Martin Born, Michael Thomassy, Michael Royster, Phil McMillan und Steven Ramirez.

  • Dank an Joel Scambray, Rich Benack, Alisson Sol, Tavi Siochi (IT Audit), Don Willits (für die Erhöhung des Qualitätsmaßstabs), Jay Nanduri (Microsoft.com, für die Begutachtung und die Bereitstellung von realen Erfahrungen), Devendra Tiwari und Peter Dampier (für ausführliche Gutachten und empfohlene IT-Verfahren), Denny Dayton, Carlos Lyons, Eric Rachner, Justin Clarke, Shawn Welch (IT Audit), Rick DeJarnette, Kent Sharkey (Hostingszenarien), Andy Oakley, Vijay Rajagopalan (Dev Lead MS-Vorgänge), Gordon Ritchie (Content Master Ltd), Chase Carpenter (Bedrohungsanalyse), Matt Powell (für Sicherheit von Webdiensten), Joel Yoker, Juhan Lee (MSN-Vorgänge), Lori Woehler, Mike Sherrill, Mike Kass, Nilesh Bhide, Rebecca Hulse, Rob Oikawa (Architekt), Scott Greene, Shawn Nandi, Steve Riley, Mark Mortimore, Matt Priestley und David Ross.

  • Dank an unsere Lektoren: Sharon Smith, Kathleen Hartman (S&T OnSite), Tina Burden (Entirenet), Cindy Riskin (S&T OnSite) und Pat Collins (Entirenet) für die Unterstützung beim Erstellen eines für den Leser ansprechenden Produkts.

  • Schließlich Dank an Naveen Yajaman, Philip Teale, Scott Densmore, Ron Jacobs, Jason Hogg, Per Vonge Nielsen, Andrew Mason, Edward Jezierski, Michael Kropp, Sandy Khaund, Shaun Hayes, Mohammad Al – Sabt, Edward Lafferty, Ken Perilman und Sanjeev Garg (Satyam Computer Services).

Berichten Sie uns von Ihren Erfolgen

Teilen Sie uns mit, wenn dieses Handbuch hilfreich war. Beschreiben Sie in einer kurzen Zusammenfassung die Schwierigkeiten, mit denen Sie konfrontiert waren, und wie Ihnen dieses Handbuch dabei geholfen hat. Senden Sie Ihre Zusammenfassung an:

MyStory@Microsoft.com.

Zusammenfassung

Diese Einführung machte Sie mit dem Aufbau dieses Handbuchs und dem grundlegenden Ansatz vertraut, der zur Sicherung von Webanwendungen gewählt wurde. Darüber hinaus wurden Sie darüber informiert, wie Sie die Informationen in diesem Handbuch auf Ihre Rolle oder die jeweiligen Phasen im Lebenszyklus Ihrer Produktentwicklung anwenden können.


Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.