Sichere Anwendungen, die auf der .NET Framework basieren
In diesem Artikel werden wichtige Überlegungen zum Sichern von Anwendungen beschrieben, die auf Microsoft .NET Framework basieren.
Ursprüngliche Produktversion: .NET Framework
Ursprüngliche KB-Nummer: 818014
Zusammenfassung
Dieser Artikel ist einer einer Reihe von Artikeln, die detaillierte Informationen für Anwendungen bereitstellen, die auf dem .NET Framework basieren.
Die Artikel dieser Reihe umfassen die folgenden:
HOW TO: Deploy Applications That Are Built on the .NET Framework
HOW TO: Secure Applications that are built on the .NET Framework
Anpassen .NET Framework Sicherheit nach Zonen
Das .NET Framework weist verwalteten Assemblys Vertrauensebenen zu. Diese Zuordnungen basieren teilweise auf der Zone, in der die Assembly ausgeführt wird. Die Standardzonen sind "Mein Computer", "Lokales Intranet", "Internet", "Vertrauenswürdige Sites" und "Nicht vertrauenswürdige Websites". Möglicherweise müssen Sie die Vertrauensebene erhöhen oder verringern, die einer dieser Zonen zugeordnet ist. Die .NET Framework enthält Tools zum Anpassen dieser Einstellungen.
Anpassen der Vertrauensebene in einer .NET Framework Assembly
Das .NET Framework enthält viele Möglichkeiten, um die Vertrauensebene zu bestimmen, die Sie einer Assembly erteilen sollten. Sie können jedoch Ausnahmen von den Regeln vornehmen, damit eine bestimmte Assembly eine höhere Vertrauensebene erhält, als sie normalerweise basierend auf den für die Common Language Runtime bereitgestellten Nachweisen erhalten würde. Das .NET Framework stellt ein Assistententool speziell für diesen Zweck bereit.
Wiederherstellen von Richtlinienebenen, die angepasst wurden
Als Administrator haben Sie die vollständige Kontrolle über den Zugriff, den Sie Assemblys gewähren, die auf den verschiedenen Vertrauensebenen ausgeführt werden. Wenn Sie Vertrauensebenen anpassen, treten möglicherweise Probleme auf, wenn Sie eine Anwendung ausführen, die in der Regel unter einer standardbasierten Vertrauensebene ausgeführt wird. Sie können richtlinienebenen jedoch schnell auf ihre Standardeinstellungen wiederherstellen.
Auswerten der Berechtigungen, die einer Assembly erteilt wurden
Wenn Sie über Sicherheitskonfigurationsrichtlinien für Unternehmen, Computer und Benutzer und anpassbare Vertrauensebenen verfügen, kann es schwierig sein, die Berechtigungen zu bewerten, die einer verwalteten Assembly erteilt wurden. Das .NET Framework-Konfigurationstool enthält eine einfache Methode zum Auswerten dieser Berechtigungen.
Überwachen sie die Sicherheit von . Mit NET verbundene Anwendungen
Während upgrades, testing, and troubleshooting, the configuration of production systems may change in unintentional ways. Beispielsweise kann ein Administrator einem Benutzer Administratoranmeldeinformationen erteilen, während er bestimmt, ob ein Fehler im Zusammenhang mit Zugriffsrechten steht. Wenn dieser Administrator nach Abschluss der Problembehandlung vergessen hat, diese Anmeldeinformationen mit erhöhten Rechten zu widerrufen, wird die Integrität des Systems gefährdet.
Da die Systemsicherheit durch diese Art von Aktion im Laufe der Zeit beeinträchtigt werden kann, empfiehlt es sich, regelmäßige Überprüfungen durchzuführen. Dokumentieren Sie dazu die wichtigsten Aspekte eines Zustandssystems, um eine Basismaßnahme zu erstellen. Vergleichen Sie diese Einstellungen im Laufe der Zeit mit dem Basisplan, um festzustellen, ob Probleme aufgetreten sind, die die Sicherheitsanfälligkeit erheblich verringern könnten.
Konfigurieren einer . Net-verbundene Anwendung und SQL Server, eine alternative Portnummer für die Netzwerkkommunikation zu verwenden
Viele automatisierte Tools identifizieren verfügbare Dienste und Sicherheitsrisiken, indem sie bekannte Portnummern abfragen. Diese Tools umfassen sowohl legitime Sicherheitsbewertungstools als auch Tools, die böswillige Benutzer möglicherweise verwenden.
Eine Möglichkeit, das Risiko für diese Arten von Tools zu verringern, besteht darin, die Portnummer zu ändern, die von den Anwendungen verwendet wird. Sie können diese Methode auf anwenden. Mit NET verbundene Anwendungen, die auf einer Back-End-SQL Server-Datenbank basieren. Diese Methode funktioniert, wenn sowohl der Server als auch der Client ordnungsgemäß konfiguriert sind.
Sperren einer ASP.NET Webanwendung oder eines Webdiensts
Es gibt viele Möglichkeiten, die Sicherheit von ASP.NET Webanwendungen und Webdiensten zu erhöhen. Sie können z. B. Paketfilterung, Firewalls, restriktive Dateiberechtigungen, den ISAPI-Filter (URL Scan Internet Server Application Programming Interface) und sorgfältig kontrollierte SQL Server-Berechtigungen verwenden. Es empfiehlt sich, diese verschiedenen Methoden zu überprüfen, um eine detaillierte Sicherheit für ASP.NET Anwendungen bereitzustellen.
Konfigurieren von NTFS-Dateiberechtigungen zur Erhöhung der Sicherheit von ASP.NET Anwendungen
Ntfs-Dateiberechtigungen (New Technology File System) sind weiterhin eine wichtige Sicherheitsebene für Webanwendungen. ASP.NET Anwendungen enthalten viel mehr Dateitypen als frühere Webanwendungsumgebungen. Die Dateien, auf die anonyme Benutzerkonten zugreifen müssen, sind nicht offensichtlich.
Konfigurieren SQL Server Sicherheit für Anwendungen, die auf dem .NET Framework
Standardmäßig gewährt SQL Server Benutzern keine Möglichkeit zum Abfragen oder Aktualisieren von Datenbanken. Diese Regel gilt auch für ASP.NET Anwendungen und das ASPNET-Benutzerkonto. Damit ASP.NET Anwendungen Zugriff auf Daten erhalten können, die in einer SQL Server Datenbank gespeichert sind, muss der Datenbankadministrator dem ASPNET-Konto Rechte erteilen.
Weitere Informationen zum Konfigurieren von SQL Server zum Zulassen von Abfragen und Updates von ASP.NET Anwendungen finden Sie unter Konfigurieren von Berechtigungen für Datenbankobjekte.
Konfigurieren von URLScan zum Erhöhen des Schutzes von ASP.NET Webanwendungen
Wenn Sie URLScan auf einem server Internetinformationsdienste 5.0 (IIS 5.0) installieren, ist es so konfiguriert, dass ASP 3.0-Anwendungen ausgeführt werden können. Wenn Sie jedoch die .NET Framework installieren, wird die URLScan-Konfiguration nicht aktualisiert, um die neuen ASP.NET Dateitypen einzuschließen. Wenn Sie die zusätzliche Sicherheit des URLScan ISAPI-Filters für Ihre ASP.NET Anwendungen wünschen, passen Sie die URLScan-Konfiguration an.
Authentifizierung für ASP.NET Webanwendungen erforderlich
Viele ASP.NET-Anwendungen erlauben keinen anonymen Zugriff. Eine ASP.NET Anwendung, die eine Authentifizierung erfordert, kann eine der folgenden drei Methoden verwenden: Formularauthentifizierung, .NET Passport-Authentifizierung und Windows Authentifizierung. Jede Authentifizierungsmethode erfordert eine andere Konfigurationsmethode.
Einschränken des Zugriffs bestimmter Benutzer auf angegebene Webressourcen
ASP.NET umfasst die Formularauthentifizierung. Es ist eine einzigartige Möglichkeit, Benutzer zu authentifizieren, ohne Windows Konten zu erstellen. ASP.NET umfasst auch die Möglichkeit, den Zugriff dieser Benutzer auf verschiedene Webressourcen zu gewähren oder zu verweigern.
Weitere Informationen zum Steuern des Zugriffs auf Webressourcen pro Benutzer finden Sie unter How To Restrict Specific Users from Gaining Access to Specified web Resources.
Beschränken der Webdienstprotokolle, die ein Server zulässt
Standardmäßig unterstützt ASP.NET drei Möglichkeiten für Webdienstclients, Anforderungen an Webdienste auszustellen: SOAP, HTTP GET und HTTP PUT. Für die meisten Anwendungen ist jedoch nur eine dieser drei Methoden erforderlich. Es empfiehlt sich, die Angriffsfläche zu reduzieren, indem Sie alle nicht verwendeten Protokolle deaktivieren.
Lassen Sie keinen Browserzugriff auf zu. Mit NET verbundene Webdienste
ASP.NET Webdienste bieten eine browserfreundliche Benutzeroberfläche, die Entwicklern das Erstellen von Webdienstclients erleichtert. Diese benutzerfreundliche Schnittstelle ermöglicht es jedem Benutzer, der den Webdienst erreichen kann, die vollständigen Details der verfügbaren Methoden und aller erforderlichen Parameter anzuzeigen. Dieser Zugriff ist nützlich für öffentliche Webdienste, die nur öffentlich verfügbare Methoden enthalten. Es kann jedoch die Sicherheit privater Webdienste verringern.
Weitere Informationen zum Steuern des Zugriffs auf Webressourcen pro Benutzer finden Sie unter How To Restrict Specific Users from Gaining Access to Specified web Resources.
Verwenden von ASP.NET zum Schützen von Dateitypen
Die Struktur ASP.NET Anwendungen bewirkt, dass viele private Dateien mit Dateien gespeichert werden, die Endbenutzer anfordern. ASP.NET schützt diese Dateien, indem Anforderungen für die Dateien abgefangen und ein Fehler zurückgegeben wird. Sie können diesen Schutztyp mithilfe von Konfigurationseinstellungen auf einen beliebigen Dateityp erweitern. Wenn Ihre Anwendung ungewöhnliche Dateitypen enthält, die privat bleiben sollen, können Sie ASP.NET Dateischutz verwenden, um diese Dateien zu schützen.
References
Weitere Informationen zum Sichern von Anwendungen, die auf dem .NET Framework basieren, finden Sie unter What's new in Windows 10 deployment.