Freigeben über


Sichere Anwendungen, die auf .NET Framework basieren

In diesem Artikel werden wichtige Überlegungen zum Sichern von Anwendungen beschrieben, die auf Microsoft .NET Framework basieren.

Originalproduktversion: .NET Framework
Ursprüngliche KB-Nummer: 818014

Zusammenfassung

Dieser Artikel ist eine Reihe von Artikeln, die detaillierte Informationen für Anwendungen bereitstellen, die auf .NET Framework basieren.

Die Artikel in dieser Reihe umfassen die folgenden:

Anpassen der .NET Framework-Sicherheit auf Zonenbasis

.NET Framework weist verwalteten Assemblys Vertrauensebenen zu. Diese Zuordnungen basieren teilweise auf der Zone, in der die Assembly ausgeführt wird. Die Standardzonen sind "Arbeitsplatz", "Lokales Intranet", "Internet", "Vertrauenswürdige Websites" und "Nicht vertrauenswürdige Websites". Möglicherweise müssen Sie die Vertrauensstufe erhöhen oder verringern, die einer dieser Zonen zugeordnet ist. Das .NET Framework enthält Tools zum Anpassen dieser Einstellungen.

Anpassen der Vertrauensstufe in einer .NET Framework-Assembly

Das .NET Framework enthält viele Möglichkeiten, um die Vertrauensstufe 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 empfangen würde. .NET Framework bietet speziell für diesen Zweck ein Assistententool.

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 Vertrauensstufen anpassen, treten möglicherweise Probleme auf, wenn Sie eine Anwendung ausführen, die in der Regel unter einer Standardvertrauensstufe ausgeführt wird. Sie können richtlinienebenen jedoch schnell auf ihre Standardeinstellungen zurücksetzen.

Auswerten der Berechtigungen, die einer Assembly erteilt werden

Wenn Sie Über Unternehmens-, Computer- und Benutzersicherheitskonfigurationsrichtlinien und anpassbare Vertrauensstufen 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

Bei Upgrades, Tests und Problembehandlung kann sich die Konfiguration von Produktionssystemen unbeabsichtigt ändern. Beispielsweise kann ein Administrator einem Benutzer Administratoranmeldeinformationen erteilen, während er bestimmt, ob ein Fehler im Zusammenhang mit Zugriffsrechten liegt. Wenn dieser Administrator nach Abschluss des Problembehandlungsprozesses vergessen hat, diese erhöhten Anmeldeinformationen zu widerrufen, wird die Integrität des Systems kompromittiert.

Da die Systemsicherheit im Laufe der Zeit durch diese Art von Aktion beeinträchtigt werden kann, empfiehlt es sich, regelmäßige Audits durchzuführen. Dokumentieren Sie dazu die wichtigsten Aspekte eines unberührten Systems, um ein Basismaß zu erstellen. Vergleichen Sie diese Einstellungen im Laufe der Zeit mit dem Basisplan, um zu ermitteln, ob Probleme entwickelt wurden, die das Ausmaß der Sicherheitsanfälligkeit erheblich verringern können.

Konfigurieren eines . NET-verbundene Anwendung und SQL Server, um eine alternative Portnummer für die Netzwerkkommunikation zu verwenden

Viele automatisierte Tools identifizieren verfügbare Dienste und Sicherheitsrisiken durch Abfragen bekannter Portnummern. Zu diesen Tools gehören sowohl legitime Tools zur Sicherheitsbewertung als auch Tools, die böswillige Benutzer verwenden könnten.

Eine Möglichkeit, die Gefährdung dieser Arten von Tools zu verringern, besteht darin, die von den Anwendungen verwendete Portnummer zu ändern. Sie können diese Methode auf . 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 beispielsweise Paketfilterung, Firewalls, restriktive Dateiberechtigungen, den URL Scan Internet Server Application Programming Interface (ISAPI)-Filter und sorgfältig kontrollierte SQL Server-Berechtigungen verwenden. Es empfiehlt sich, diese verschiedenen Methoden zu überprüfen, um Sicherheitstiefe für ASP.NET Anwendungen bereitzustellen.

Konfigurieren von NTFS-Dateiberechtigungen zur Erhöhung der Sicherheit von ASP.NET Anwendungen

Neue NTFS-Dateiberechtigungen (Technology File System) sind weiterhin eine wichtige Sicherheitsebene für Webanwendungen. ASP.NET Anwendungen enthalten viele mehr Dateitypen als vorherige Webanwendungsumgebungen. Die Dateien, auf die anonyme Benutzerkonten zugreifen müssen, sind nicht offensichtlich.

Konfigurieren der SQL Server-Sicherheit für Anwendungen, die auf .NET Framework basieren

Standardmäßig gewährt SQL Server Benutzern nicht die Möglichkeit, Datenbanken abzufragen oder zu aktualisieren. 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 Internetinformationsdienste 5.0 (IIS 5.0)-Server installieren, ist er so konfiguriert, dass ASP 3.0-Anwendungen ausgeführt werden können. Wenn Sie .NET Framework installieren, wird die URLScan-Konfiguration jedoch nicht aktualisiert, um die neuen ASP.NET Dateitypen einzuschließen. Wenn Sie die hinzugefügte Sicherheit des URLScan ISAPI-Filters für Ihre ASP.NET Anwendungen benötigen, 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.

Einschrä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. Die meisten Anwendungen erfordern jedoch nur eine dieser drei Methoden. Es ist ratsam, die Angriffsfläche zu reduzieren, indem Sie nicht verwendete Protokolle deaktivieren.

Erlauben Sie keinen Browserzugriff auf . NET-verbundene Webdienste

ASP.NET Webdienste bieten eine browserfreundliche Schnittstelle, um Entwicklern das Erstellen von Webdienstclients zu erleichtern. Diese benutzerfreundliche Schnittstelle ermöglicht es jedem, der den Webdienst erreicht, die vollständigen Details der verfügbaren Methoden und alle 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 von 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 jeden beliebigen Dateityp erweitern. Wenn Ihre Anwendung ungewöhnliche Dateitypen enthält, die privat bleiben sollten, können Sie ASP.NET Dateischutz verwenden, um diese Dateien zu schützen.

References

Weitere Informationen zum Sichern von Anwendungen, die auf .NET Framework basieren, finden Sie unter What's new in windows 10 deployment.