Schützen des Anwendungsservers
Auf dieser Seite
Modulübersicht
Zielsetzung
Betrifft
Verwendung dieses Moduls
Übersicht
Bedrohungen und Gegenmaßnahmen
Verfahrensweise
Überlegungen zum Kommunikationskanal
Überlegungen zur Firewall
Überlegungen zur .NET Remoting-Sicherheit
Überlegungen zur Enterprise Services (COM+)-Sicherheit
Zusammenfassung
Weitere Links zum Thema
Modulübersicht
Anwendungsserver der mittleren Schicht werden meist genutzt, um Geschäftslogik und Datenzugriffsdienste zu hosten. Diese Funktionen sind üblicherweise in Enterprise Services-Anwendungen zusammengefasst oder auf Front-End-Webservern öffentlich verfügbar, indem Webdienste der mittleren Schicht oder Microsoft® .NET Framework Remoting-Technologie verwendet wird.
In diesem Modul wird jede Technologie einzeln behandelt und dargestellt, wie die Anwendungsserver für jeden Fall zu schützen sind. Der Schwerpunkt liegt auf den verbundenen Kommunikationskanälen, die den Webserver mit dem Anwendungsserver und den Anwendungsserver mit dem Datenbankserver verbinden.
Vor der Vertiefung der technologiespezifischen Konfiguration werden in diesem Modul die wichtigsten Bedrohungen für einen Anwendungsserver erläutert. Diese Bedrohungen unterscheiden sich von denen, die für einen internetorientierten Webserver gelten, da Anwendungsserver der mittleren Schicht nicht über direkten Zugriff auf das Internet verfügen (bzw. verfügen sollten).
Zielsetzung
Themenbereiche:
Schützen der Kommunikationskanäle zum Anwendungsserver
Schützen der Webdienste, Enterprise Services und Remotelösungen auf Anwendungsservern der mittleren Schicht
Konfigurieren einer internen Firewall, die den Webserver vom Anwendungsserver trennt
Verwalten der dynamischen RPC-Portzuordnung
Sicheres Verwenden von .NET Remoting
Sperren einer Enterprise Services-Anwendung
Kenntnis über die wichtigsten Maßnahmen gegen häufig auftretende Anwendungs-Serverbedrohungen wie Abhören des Netzwerks, nicht autorisierten Zugriff, Viren, Trojaner und Würmer
Betrifft
Die Informationen in diesem Modul gelten für folgende Produkte und Technologien:
Microsoft Windows Server 2000 und 2003
Microsoft .NET Framework 1.1 und ASP.NET 1.1
Microsoft SQL Server
Verwendung dieses Moduls
Empfehlungen für eine erfolgreiche Arbeit mit diesem Modul:
Lesen Sie Modul 2, "Bedrohungen und Gegenmaßnahmen." In diesem Modul erhalten Sie weitere Informationen über potenzielle Gefahren für Webanwendungen.
Verwenden Sie die begleitenden Sicherungsmodule. Das vorliegende Modul ist Teil einer Sicherungslösung, die Module umfasst, die Sicherheit auf Host- (Betriebssystem) und Netzwerkebene abdeckt. Verwenden Sie die folgenden Module zusammen mit diesem:
Modul 15, "Schützen des Netzwerks"
Modul 16, "Schützen des Webservers"
Modul 18, "Schützen des Datenbankservers"
Übersicht
Um den Anwendungsserver zu schützen, ist eine inkrementelle Sicherheitskonfiguration notwendig, nachdem das Betriebssystem und der Webserver für die Internetinformationsdienste (IIS) sicher gesperrt wurden.
In Abbildung 17.1 wird der Schwerpunkt dieses Moduls gezeigt, einschließlich der Konfiguration interner Firewalls, die in vielen mehrschichtigen Bereitstellungsmodellen verwendet werden.
Abbildung 17.1
Bereitstellungsmodell eines Remoteanwendungsservers
Bedrohungen und Gegenmaßnahmen
Viele Bedrohungen für einen Anwendungsserver treten innerhalb einer Organisation auf, da Anwendungsserver nicht auf das Internet zugreifen sollten. Im Folgenden sind die wichtigsten Bedrohungen für Anwendungsserver aufgeführt:
Abhören des Netzwerks
Nicht autorisierter Zugriff
Viren, Trojanische Pferde und Würmer
In Abbildung 17.2 sind die wichtigsten Bedrohungen für Anwendungsserver dargestellt.
Abbildung 17.2
Die wichtigsten Bedrohungen und Sicherheitslücken eines Anwendungsservers
Abhören des Netzwerks
Angreifer mit Software zur Netzwerküberwachung können einen Datenstrom vom Webserver zum Anwendungsserver sowie vom Anwendungsserver zu Downstreamsystemen und Datenbankservern abfangen. Der Angreifer kann diese Daten anzeigen und möglicherweise ändern.
Sicherheitslücken
Sicherheitslücken, die Ihren Anwendungsserver verwundbar gegen Abhören des Netzwerks machen können, beinhalten:
Vertrauliche Daten, die im Klartext durch die Anwendung übertragen werden
Verwendung der Microsoft SQL Server-Authentifizierung in der Datenbank, so dass Anmeldeinformationen im Klartext übertragen werden
Fehlen der Verschlüsselung auf Übertragungs- oder Anwendungsebene
Unsichere Verwaltungsschnittstellen für Netzwerkhardware
Verwendung des .NET-Remoting-TCP-Kanals zu Remotekomponenten
Angriffe
Der Angreifer platziert Paket-Sniffing-Programme im Netzwerk, um den Datenverkehr abzufangen.
Gegenmaßnahmen
Gegenmaßnahmen zum Verhindern des Abfangens von Paketen sind:
Verwenden Sie eine sichere Authentifizierung wie die Windows-Authentifizierung, die keine Kennwörter über das Netzwerk sendet.
Verschlüsseln Sie die Anmeldeinformationen für die SQL Server-Authentifizierung. Wenn Sie die SQL Server-Authentifizierung verwenden, können Sie die Anmeldeinformationen automatisch verschlüsseln, indem Sie ein Serverzertifikat auf dem Datenbankserver installieren.
Schützen Sie die Kommunikationskanäle durch Secure Sockets Layer (SSL) oder Internet Protocol Security (IPSec).
Verwenden Sie die Remote Procedure Call (RPC)-Verschlüsselung mit Enterprise Services-Anwendungen.
Verwenden Sie ein segmentiertes Netzwerk, welches das Abhören auf beeinträchtigte Segmente beschränken kann.
Verwenden Sie HttpChannel und SSL mit .NET Remoting.
Nicht autorisierter Zugriff
Wenn Sie die Ports, die von der Anwendung verwendet werden, nicht an der Perimeterfirewall blockieren, die auf dem Anwendungsserver ausgeführt wird, kann ein externer Angreifer direkt mit dem Anwendungsserver kommunizieren. Wenn Sie anderen Computern als den Front-End-Webservern ermöglichen, mit dem Anwendungsserver zu kommunizieren, erhöht sich das Angriffsprofil für den Anwendungsserver.
Sicherheitslücken
Sicherheitslücken, die zu nicht autorisiertem Zugriff führen können, sind:
Unsichere Konfiguration von Perimeternetzwerk und Firewall
Nicht benötigte Ports sind in der internen Firewall geöffnet
Fehlen von IPSec-Richtlinien zur Beschränkung der Host-Verbindungsmöglichkeit
Unnötig aktivierte Dienste
Unnötige Protokolle
Unsichere Konto- und Kennwortrichtlinien
Angriffe
Allgemeine Angriffe zum Erlangen von nicht autorisiertem Zugriff beinhalten:
Scannen der Ports, um Abhördienste zu entdecken
Abfangen von Bannern, die vorhandene Dienste und mögliche Softwareversionen weitergeben
Böswillige Anwendungseingaben
Kennwortangriffe auf Standardkonten mit unsicheren Kennwörtern
Gegenmaßnahmen
Zu den Maßnahmen gegen einen nicht autorisierten Zugriff zählen:
Firewall-Richtlinien, die jeglichen Datenverkehr außer von erwarteten Kommunikationsports blockieren
TCP/IP-Filterung oder IPSec-Richtlinien, um zu verhindern, dass nicht autorisierte Hosts Verbindungen aufbauen können
Deaktivieren nicht verwendeter Dienste
Statisches DCOM-Endpunkt-Mapping, welches nur autorisierten Hosts Zugriff gewährt
Viren, Würmer und Trojaner
Diese Angriffe werden oftmals nicht bemerkt, bis sie beginnen, Systemressourcen zu beanspruchen, so dass die Ausführung von anderen Anwendungen verlangsamt oder angehalten wird. Anwendungsserver, die IIS hosten, sind anfällig für IIS-Angriffe.
Sicherheitslücken
Nicht gepatchte Server
Nicht erforderliche ausgeführte Dienste
Nicht benötigte ISAPI-Filter und ISAPI-Erweiterungen
Gegenmaßnahmen
Gegenmaßnahmen, die hilfreich sind, die Bedrohung durch Viren, Trojaner und Würmer zu verringern, beinhalten:
Umgehende Anwendung der aktuellen Softwarepatches
Deaktivieren nicht benötigter Funktionen wie nicht verwendete ISAPI-Filter und Erweiterungen
Verwenden von Prozessen mit Konten, die über die geringsten Berechtigungen verfügen, um den Umfang des Schadens im Fall einer Beeinträchtigung zu reduzieren
Verfahrensweise
Durch das Schützen der Kommunikationskanäle zum Anwendungsserver und das Verhindern des Zugriffs von jeglichen Hosts außer den autorisierten Webservern auf den Anwendungsserver sind Angreifer auf Angriffe auf Anwendungsebene beschränkt, die Sicherheitslücken in der Ausführung und Entwicklung der Webanwendung ausnutzen.
Um diese Risiken zu verringern, müssen Entwickler die Ansätze für sichere Ausführung und Entwicklung anwenden, die in Teil II und III dieses Handbuchs beschrieben sind.
Die Konfigurationslösungen in diesem Modul sind Anwendungsserverspezifisch und sollten nicht für sich angewendet werden. Wenden Sie diese zusammen mit den Lösungen an, die in Modul 15, "Schützen des Netzwerks", Modul 16, "Schützen des Webservers", und Modul 18, "Schützen des Datenbankservers", aufgeführt sind.
Überlegungen zum Kommunikationskanal
Vertrauliche Anwendungsdaten und Authentifizierungsinformationen, die zum Anwendungsserver und zurück gesendet werden, sollten verschlüsselt werden, um für Geheimhaltung und Integrität zu sorgen. Dies verringert die Risiken im Zusammenhang mit Abhören und Verfälschen.
Das Verschlüsseln des Netzwerkverkehrs zielt auf Bedrohungen durch Abhören des Netzwerks und Verfälschung ab. Wenn Sie davon ausgehen, dass diese Bedrohung in Ihrer Umgebung zu vernachlässigen ist, da sich zum Beispiel Ihre Anwendung in einem geschlossen und physikalisch geschützten Netzwerk befindet, müssen Sie den Datenverkehr nicht verschlüsseln. Wenn das Abhören des Netzwerks ein Problem darstellt, können Sie SSL verwenden, das einen sicheren Kommunikationskanal zur Anwendungsebene bietet, oder Sie verwenden IPSec, um eine Lösung auf Übertragungsebene zu erhalten. IPSec verschlüsselt den gesamten IP-Datenverkehr, der zwischen zwei Servern verläuft, während SSL es jeder Anwendung ermöglicht, auszuwählen, ob ein verschlüsselter Kommunikationskanal benötigt wird.
Enterprise Services
Enterprise Services (oder COM+)-Anwendungen kommunizieren über das Netzwerk unter Verwendung von DCOM über RPC. RPC verwendet Port 135, der Endpunkt-Mapping Dienste bietet, um es Clients zu ermöglichen, Parameter zu vereinbaren, die auch den Kommunikationsport enthalten, der in der Standardeinstellung dynamisch zugewiesen wird.
Der Enterprise Services-Kanal kann auf zwei Arten geschützt werden:
RPC-Verschlüsselung
Sie können eine Enterprise Services-Anwendung für RPC Packet Privacy-Authentifizierung konfigurieren. Zusätzlich zur Authentifizierung bietet dies eine Verschlüsselung jedes Datenpakets, welches zur Enterprise Services-Anwendung und zurück gesendet wird.IPSec
Sie können eine IPSec-Richtlinie zwischen dem Webserver und dem Anwendungsserver verwenden, um den Kommunikationskanal zu verschlüsseln.
.NET Remoting
Es existieren zwei Implementierungsmodelle für Anwendungen, die .NET Remoting verwenden:
HTTP-Kanal über Port 80
Dieses Modell verwendet ASP.NET als Hosting-Dienst.TCP-Kanal über einen beliebigen Port
In diesem Modell wird die Anwendung in einer benutzerdefinierten ausführbaren Datei gehostet, üblicherweise einem Windowsdienst.
Abhängig von den Anforderungen der Anwendung an Leistung und Sicherheit, können Sie eine der beiden Methoden verwenden, um den Remotekanal zu schützen.
Verwenden von SSL mit dem HTTP-Kanal
Wenn Sie in ASP.NET hosten, können Sie die Vorteile der eingebauten HTTPS-Funktion nutzen, welche durch IIS zur Verfügung gestellt wird. HTTPS bietet eine Authentifizierung und eine sichere Datenkommunikation.Verwenden von IPSec mit TCPChannel
Mit dem TCP-Kanal können Sie eine IPSec-Richtlinie verwenden, um eine Verschlüsselung aller IP-Daten auf Transportebene zur Verfügung zu stellen. Beachten Sie bei der Verwendung des TCP-Kanals, dass Sie Ihren eigenen Authentifizierungsmechanismus zur Verfügung stellen müssen. Weitere Informationen finden Sie in Modul 13, "Erstellen sicherer Remotekomponenten".
Webdienste
Webdienste werden von ASP.NET und IIS gehostet und verwenden das HTTP-Protokoll für die Kommunikation über das Netzwerk.
SSL oder IPSec können verwendet werden, um den Kommunikationskanal zu schützen. Wahlweise können Sie die Verschlüsselung auf Anwendungsebene behandeln, indem Sie den Dateninhalt der Meldung oder die vertraulichen Teile des Dateninhalts verschlüsseln. Um dies mittels offenen Standards zu gewährleisten, laden Sie die WSE (Web Services Enhancements) herunter, die für Webdienste zur Verfügung stehen. Weitere Informationen finden Sie in Modul 12, "Erstellen sicherer Webdienste".
SQL Server
Der Anwendungsserver kommuniziert mit dem SQL Server in der Standardeinstellung über den TCP-Port 1433. Wenn nicht anders angegeben, wird der UDP-Port 1434 ebenfalls für Verhandlungen verwendet.
Um den Kanal vom Anwendungsserver zum SQL-Server zu schützen, ist IPSec oder SSL zu verwenden. SSL erfordert ein Serverzertifikat, um auf dem Datenbankserver installiert zu werden.
Weitere Informationen über die Verwendung von SSL mit SQL Server finden Sie im Microsoft Knowledge Base-Artikel 276553, "How To: Enable SSL Encryption for SQL Server 2000 with Certificate Server".
Überlegungen zur Firewall
Ihre Sicherheitsinfrastruktur kann interne Firewalls auf beiden Seiten des Anwendungsservers beinhalten. Dieser Abschnitt behandelt die Ports, die Sie an dieser Firewall öffnen, um die Funktionen Ihrer Anwendung zu unterstützen.
Enterprise Services
Wenn Enterprise Services der mittleren Schicht verwendet werden, ist eine interne Firewall zu konfigurieren, die Webserver und Anwendungsserver trennt, um DCOM- und RPC-Datenverkehr zu ermöglichen. Bei der Verwendung von Enterprise Services nutzen Anwendungen oft verteilte Transaktionen und Dienste des Distributed Transaction Coordinator (DTC). In diesem Fall sind die DTC-Ports an jeder Firewall zu öffnen, die den Anwendungsserver von Remote-Ressourcen-Managern trennen. In Abbildung 17.3 wird eine typische Portkonfiguration für Enterprise Services dargestellt.
Abbildung 17.3
Typische Firewallportkonfiguration für Enterprise Services
Hinweis: Abbildung 17.3 enthält keine zusätzlichen Ports, die für den Authentifizierungsmechanismus zwischen einem Client und einer Enterprise Services-Anwendung und möglicherweise zwischen der Enterprise Services-Anwendung und dem Datenbankserver notwendig sind. Im Allgemeinen ist für Netzwerke, die nicht Active Directory verwenden, der TCP-Port 139 für die Windows-Authentifizierung notwendig. Weitere Informationen über Port-Anforderungen finden Sie in den TechNet-Artikeln "TCP and UDP Port Assignments" unter https://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/tcpip/part4/tcpappc.asp und "Security Considerations for Administrative Authority" unter https://www.microsoft.com/technet/security/bestprac/bpent/sec2/seconaa.asp.
Standardmäßig verwendet DCOM die dynamische RPC-Portzuordnung, die zufällige Portnummern über 1024 auswählt. Zusätzlich wird von der RPC-Endpunktzuordnung Port 135 verwendet.
Es gibt zwei Wege, über die Sie die für DCOM erforderlichen Ports in der internen Firewall beschränken können:
Definition von Portbereichen.
Auf diese Weise können Sie die dynamisch von RPC zugeordneten Ports steuern. Weitere Informationen über dynamische Port-Beschränkungen finden Sie im Microsoft Knowledge Base-Artikel 300083, "How To: Restrict TCP/IP Ports on Windows 2000 and Windows XP".Verwenden Sie eine statische Endpunktzuordnung.
Windows 2000 mit SP3 (oder QFE ab Version 18.1) oder Windows Server 2003 bieten Ihnen die Einstellung, dass Enterprise Services-Anwendungen einen statischen Endpunkt verwenden. Statische Endpunktzuordnung bedeutet, dass Sie auf der Firewall nur zwei Ports öffnen müssen: Port 135 für RPC und einen festgelegten Port für Ihre Enterprise Services-Anwendung.Weitere Informationen über statische Endpunktzuordnung finden Sie im Microsoft Knowledge Base-Artikel 312960, "Cannot Set a Fixed Endpoint for a COM+ Application".
Webdienste
Wenn das Öffnen von Ports auf der internen Firewall nicht möglich ist, können Sie auf dem Anwendungsserver vor den Serviced Components eine Fassadenschicht für Webdienste einführen. Das bedeutet, dass lediglich Port 80 für HTTP-Datenverkehr (insbesondere SOAP-Meldungen) für eine Übertragung in beide Richtungen geöffnet werden muss.
Dieser Ansatz ermöglicht es Ihnen nicht, Transaktionskontext vom Client zum Server zu leiten, obwohl es in vielen Fällen, wenn Ihre Bereitstellungsarchitektur einen Anwendungsserver mit mittlerer Schicht beinhaltet, richtig ist, Transaktionen in der Remotekomponente auf dem Anwendungsserver zu initiieren.
Weitere Informationen über physikalische Bereitstellungsanforderungen für Dienstagenten und Dienstschnittstellen, wie die Fassadenschicht für Webdienste, finden Sie unter "Physical Deployment and Operational Requirements" im Abschnitt "Reference" des MSDN-Artikels "Application Architecture for .NET: Designing Applications and Services" unter https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/distapp.asp.
DTC-Anforderungen
Wenn Ihre Anwendung über COM+ verteilte Transaktionen verwendet und diese über Remoteserver ausgeführt werden, die durch eine interne Firewall getrennt sind, muss die Firewall die notwendigen Ports öffnen, um DTC-Datenverkehr zu unterstützen. DTC verwendet eine dynamische Portzuordnung mit RPC. Zusätzlich zu Port 135 für RPC erfordert die DTC-Kommunikation mindestens einen weiteren Port.
Wenn Ihre Bereitstellungsarchitektur eine Remoteanwendungsschicht beinhaltet, werden Transaktionen normalerweise dort innerhalb der Enterprise Services-Anwendung initiiert und zum Datenbankserver übertragen. Bei Fehlen eines Anwendungsservers initiiert die Enterprise Services-Anwendung auf dem Webserver die Transaktion und überträgt sie zum Ressourcen-Manager des SQL-Servers.
Weitere Informationen über die Firewall-Konfiguration zur Unterstützung von DTC-Datenverkehr finden Sie unter:
"DTC Security Considerations" in der COM+ Platform SDK unter https://msdn.microsoft.com/library/default.asp?url=/library/en-us/cossdk/htm/pgdtc_admin_9dkj.asp
Microsoft Knowledge Base-Artikel 250367, "INFO: Configuring Microsoft Distributed Transaction Coordinator (DTC) to Work Through a Firewall"
Microsoft Knowledge Base-Artikel 306843, "How To: Troubleshoot MS DTC Firewall Issues"
.NET Remoting
Wenn Sie den HTTP-Kanal verwenden und Ihre Remotekomponenten in ASP.NET hosten, öffnen Sie nur Port 80 auf der internen Firewall, um HTTP-Datenverkehr zu ermöglichen. Wenn Ihre Anwendung auch SSL verwendet, öffnen Sie Port 443.
Wenn Sie den TCP-Kanal verwenden und in einem Windowsdienst hosten, öffnen Sie den spezifischen TCP-Port oder Ports, für deren Verwendung Ihre Remotinganwendung konfiguriert wurde. Die Anwendung könnte einen zusätzlichen Port erfordern, um Callbacks zu unterstützen.
In Abbildung 17.4 wird eine typische Port-Konfiguration für eine .NET Remoting-Firewall dargestellt. Beachten Sie, dass die Portnummern, die für das TCP-Kanal-Szenario gezeigt werden (5555 und 5557), nur zur Veranschaulichung dienen. Die tatsächlichen Portnummern sind in den Konfigurationsdateien web.config auf den Client- und Servercomputern angegeben. Weitere Informationen finden Sie in Modul 13, "Erstellen sicherer Remotekomponenten".
Abbildung 17.4
Typische Remoting-Firewall-Port-Konfiguration für HTTP und TCP-Kanal-Szenarios
Webdienste
Webdienste kommunizieren mittels SOAP über HTTP. Öffnen Sie aus diesem Grund nur Port 80 auf der internen Firewall.
SQL Server
Wenn eine Firewall den Anwendungsserver vom Datenbankserver trennt, erfordert die Verbindung durch eine Firewall zu einem SQL-Server, den Client mit der SQL Server-Clientkonfiguration und den Datenbankserver mit der SQL Server-Netzwerkkonfiguration zu konfigurieren. In der Standardeinstellung überwacht SQL Server den TCP-Port 1433, auch wenn dies geändert werden kann. Der gewählte Port muss in der Firewall geöffnet sein.
Abhängig vom gewählten SQL Server Authentifizierungsmodus und der Verwendung von verteilten Transaktionen durch die Anwendung, kann es auch notwendig sein, mehrere zusätzliche Ports in der Firewall zu öffnen.
Wenn die Anwendung die Windows-Authentifizierung verwendet, um mit SQL-Server zu verbinden, sind die notwendigen Ports zu öffnen, welche das Kerberos-Protokoll oder die NTLM-Authentifizierung unterstützen.
Wenn die Anwendung verteilte Transaktionen verwendet, beispielsweise automatisierte COM+-Transaktionen, konfigurieren Sie die Firewall so, dass dieser DTC-Datenverkehr zwischen einzelnen DTC-Instanzen und dem DTC sowie Ressourcen-Managern zulässt, wie SQL Server.
Weitere Informationen über die SQL Server Port-Anforderungen finden Sie in Modul 18 "Schützen des Datenbankservers".
Überlegungen zur .NET Remoting-Sicherheit
Die .NET Remoting-Infrastruktur ermöglicht Anwendungen, untereinander auf demselben Computer oder über Computer im Netzwerk zu kommunizieren. Die Remoting-Infrastruktur kann die HTTP- oder TCP-Transporte zur Kommunikation verwenden und Meldungen in vielen Formaten senden, wovon die bekanntesten SOAP oder das binäre Format sind.
Hosting in einem Windowsdienst (TCP-Kanal)
Da die Remoting-Infrastruktur keine Standardauthentifizierung und keinen Authentifizierungsmechanismus bietet, ist diese für eine Verwendung bei internetorientierten Anwendungen nicht empfehlenswert. Diese Infrastruktur wurde für Anwendungen entwickelt, die in einer vertrauenswürdigen Umgebung ausgeführt werden, und ist besonders für die Webserverkommunikation mit Remoteanwendungen geeignet, wie in Abbildung 17.5 dargestellt.
Abbildung 17.5
Remoting mit dem TCP-Kanal und einem Windowsdiensthost
In diesem Szenario hostet ein Windowsdienst die Remotingobjekte und die Kommunikation findet durch einen TCP-Kanal statt. Dieser Ansatz bietet gute Leistungen, ist jedoch nicht unbedingt sicher. Für zusätzliche Sicherheit ist IPSec zwischen dem Webserver und dem Anwendungsserver zu verwenden und es nur dem Webserver zu erlauben, Verbindungen mit dem Anwendungsserver aufzubauen.
Hosting in IIS (HTTP-Kanal)
Um aus den Sicherheitsfunktionen, die von ASP.NET und IIS zur Verfügung gestellt werden, Nutzen zu ziehen, sind die Remotekomponenten in ASP.NET zu hosten und der HTTP-Kanal für die Kommunikation zu verwenden, wie in Abbildung 17.6 gezeigt.
Abbildung 17.6
Remoting mit dem HTTP-Kanal und einem ASP.NET-Host
In diesem Szenario kann die in Windows integrierte Authentifizierung verwendet werden, um die Prozessidentität der ASP.NET-Webanwendung zu authentifizieren. SSL kann auch für sichere Kommunikation und die Gatekeeper, die von IIS und ASP.NET zur Verfügung gestellt werden, können für die Autorisierung verwendet werden.
Überlegungen zur Enterprise Services (COM+)-Sicherheit
COM+ bietet die grundlegende Infrastruktur für Enterprise Services. Aus diesem Grund ist COM+ zu schützen, wenn das Programm auf dem Anwendungsserver für die mittlere Schicht verwendet wird. Zwei hauptsächliche Schritte sind Teil der Sicherung eines Anwendungsservers, der die Enterprise Services verwendet:
Schützen Sie die Infrastruktur der Komponentendienste.
Sie müssen das Betriebssystem und die Infrastruktur der Enterprise Services schützen. Dies beinhaltet grundlegende Sicherheitsmaßnahmen wie die Anwendung von Patches und Updates sowie das Deaktivieren nicht verwendeter Dienste, Blockieren nicht verwendeter Ports und so weiter.Konfigurieren Sie die Sicherheit der Enterprise Services-Anwendung.
Sie müssen die Enterprise Services-Anwendung, die auf Ihrem Server eingesetzt wird, unter Berücksichtigung der anwendungsspezifischen Sicherheitsanforderungen schützen.
Der Entwickler kann viele der Sicherheitseinstellungen der Anwendung und der Komponentenebene angeben, indem er Metadaten verwendet, die in die eingesetzte Assembly eingebettet sind. Diese regeln die anfänglichen Katalogsicherheitseinstellungen, die auf die Anwendung angewendet werden, wenn sie bei den Enterprise Services registriert wird. Dann kann der Administrator diese anzeigen und wenn nötig ergänzen, indem er das Tool für die Komponentendienste verwendet.
Schützen der Infrastruktur der Komponentendienste
Enterprise Services sind keine optionale Komponente, sondern ein wesentlicher Bestandteil von Windows 2000. In Bezug auf die Sicherheit hilft es, die geeigneten Sicherheitsmaßnahmen zu ergreifen, wenn bekannt ist, welche Komponenten des Betriebssystems installiert sind, um die Enterprise Services zu unterstützen.
Was wird durch das Betriebssystem installiert?
Die folgende Tabelle zeigt die Kernelemente der Komponentendienste, die bei einer Standard-Betriebssysteminstallation installiert werden.
Tabelle 17.1 Enterprise Services-Komponenten
Element |
Informationen |
---|---|
Administration |
Komponentendienste-Explorer |
Systemanwendung |
Systemanwendung |
Dienste |
COM+ Ereignissystem |
Konten |
Enterprise Services erstellen keine Konten. Bibliotheksanwendungen fungieren als Identität des Prozesses, in dem sie ausgeführt werden. Serveranwendungen können so konfiguriert werden, dass sie als interaktiver oder als bestimmter Benutzer ausgeführt werden. (Sie können das Benutzerkonto in den Komponentendiensten im Dialogfeld Eigenschaften der COM+-Anwendung auf der Registerkarte Identität konfigurieren). |
Protokolldateien |
DTC-Protokolldatei: %windir%\system32\DTCLog |
Registrierungsschlüssel |
HKEY_CLASSES_ROOT\CLSID |
Was wird von .NET Framework installiert?
Wenn Sie das .NET Framework installieren, werden die folgenden Komponenten installiert, die in Verbindung mit den Enterprise Services stehen.
Tabelle 17.2 .NET Framework Enterprise Services-Werkzeuge und Konfigurationseinstellungen
Element |
Beschreibung |
---|---|
Regsvcs.exe |
Kommandozeilenwerkzeug, welches zur Registrierung der Enterprise Services-Koponenten an COM+ verwendet wird |
Bibliotheken |
System.EnterpriseServices.dll |
Machine.config |
Wenn Sie die Enterprise Services von ASP.NET aus aufrufen, sind die folgenden Einträge in Machine.config von Bedeutung: |
Die folgenden Punkte sind bei der Sicherung der Komponentendiensteinfrastruktur zu berücksichtigen:
Patches und Updates
Dienste
Ports
COM+ Katalog
Patches und Updates
Aktualisieren Sie den Anwendungsserver mit den neuesten Service Packs und Patches, um die Risiken, die von Viren, Würmern und Trojanern ausgehen, zu mildern. Die Software, welche regelmäßig zu aktualisieren ist, beinhaltet das Betriebssystem, welches IIS und das .NET Framework beinhaltet.
Aktualisierungen der COM+ Runtime werden möglicherweise auch als QFE-Version veröffentlicht. Verwenden Sie die folgenden Quellen bei der Behandlung der Patches und Updates:
Windows-Aktualisierungen und -Patches
Verwenden Sie den Microsoft Baseline Security Analyzer (MBSA), um fehlende Sicherheitsaktualisierungen auf Anwendungsservern zu entdecken. Weitere Informationen über die Verwendung des MBSA auf einem einzelnen Computer und das Aufrechterhalten der aktuellen Standes einer Gruppe von Servern finden Sie unter "Verwenden von Microsoft Baseline Security Analyzer" im entsprechenden Abschnitt dieses Handbuchs.Weitere Informationen über Umgebungen, die eine Aktualisierung vieler Server von einem zentralisierten Administrationspunkt aus erfordern, finden Sie unter "Implementieren der Patchverwaltung" im entsprechenden Abschnitt dieses Handbuchs.
.NET Framework-Aktualisierungen und -Patches
Zum Zeitpunkt des Erscheinens dieses Schriftstücks (Mai 2003) ist MBSA nicht in der Lage, das .NET Framework zu identifizieren. Aus diesem Grund müssen Sie das .NET Framework manuell aktualisieren.
Manuelles Aktualisieren von .NET Framework
Stellen Sie fest, welches .NET Framework Service Pack auf Ihrem Webserver installiert ist.
Informationen dazu finden Sie im Microsoft Knowledge Base-Artikel 318785, "INFO: Determining Whether Service Packs Are Installed on .NET Framework".Vergleichen Sie die installierte Version des .NET Framework mit dem aktuellen Service Pack.
Verwenden Sie dazu die .NET Framework-Versionen, die im Microsoft Knowledge Base-Artikel 318836, "INFO: How to Obtain the Latest .NET Framework Service Pack" aufgeführt sind.- COM+ Aktualisierungen und Patches
Die neuesten Windows Service Packs beinhalten die aktuellen Patches für COM+. Jedoch werden Aktualisierungen der COM+ Runtime manchmal als QFE-Version veröffentlicht. Ein automatischer Benachrichtigungsdienst für COM+ Aktualisierungen existiert derzeit nicht. Verfolgen Sie aus diesem Grund die Microsoft Knowledge Base unter https://support.microsoft.com. Verwenden Sie "kbQFE" als Suchwort, um Ihre Suchergebnisse zu verbessern.
- COM+ Aktualisierungen und Patches
Dienste
Um das Angriffsoberflächenprofil zu verkleinern, sollten alle nicht notwendigen Dienste deaktiviert werden. Die notwendigen Dienste beinhalten Microsoft DTC und den COM+ Ereignissystemdienst, der notwendig ist, um die LCE COM+ Funktion zu unterstützen.
Um die Dienste auf dem Anwendungsserver zu schützen, ist der MS DTC zu deaktivieren, wenn er nicht notwendig ist.
Deaktivieren des Microsoft DTC, wenn er nicht notwendig ist
Der DTC-Dienst ist fest mit COM+ verbunden. Er koordiniert Transaktionen, die über zwei oder mehr Datenbanken, Meldungswarteschlangen, Dateisystemen oder andere Ressourcen-Manager verteilt sind. Wenn die Anwendungen die automatisierten COM+-Transaktionsdienste nicht verwenden, sollte der DTC mit dem Dienste-MMC-Snap-In deaktiviert werden.
Ports
Bediente Komponenten kommunizieren mittels DCOM, das wiederum über den RPC-Transport kommuniziert.
In der Standardeinstellung ordnet DCOM dynamisch Ports zu. Dies ist in Bezug auf die Sicherheit und die Firewall nicht wünschenswert. DCOM-Ports sollten beschränkt werden, um das Angriffsoberflächenprofil zu verkleinern und um sicherzustellen, dass keine unnötigen Ports in der internen Firewall geöffnet werden müssen. Zwei Optionen existieren für die Beschränkung der von DCOM verwendeten Ports:
Verwendung von Portbereichen.
Verwendung von statischer Endpunktzuordnung.
Portbereiche
Für eingehende Kommunikation kann die dynamische RPC Portzuordnung konfiguriert werden, um Ports innerhalb eines beschränkten Bereichs über 1024 zu wählen. Konfigurieren Sie dann die Firewall so, dass sie eingehende externe Kommunikation nur auf diese Ports und Port 135, den RPC-Endpunktzuordnungsport, einschränkt.
Steuerung der dynamischen RPC Portzuordnung
Starten Sie das Tool für die Komponentendienste.
Erweitern Sie die Knoten Komponentendienste und Computer, klicken Sie mit der rechten Maustaste auf Arbeitsplatz und wählen Sie dann Eigenschaften.
Klicken Sie auf die Registerkarte Standardprotokolle und wählen Sie dann im Listenfeld DCOM-Protokolle die Option Verbindungsorientiertes TCP/IP aus.
Wählen Sie Eigenschaften.
Wählen Sie im Dialogfeld Eigenschaften der COM-Internetdienste die Option Hinzufügen.
Geben Sie im Textfeld Portbereich einen Portbereich ein, wie 5000 - 5020, und klicken Sie dann auf OK.
Lassen Sie die Optionen Anschlussbereichszuweisung und Standardmäßige dynamische Anschlussbereichszuweisung auf Internetbereich eingestellt.
Klicken Sie zum Schließen aller Dialogfelder zweimal auf OK.
Starten Sie Ihren Computer neu, um die Änderungen in Kraft zu setzen.
Statische Endpunktzuordnung
Windows 2000 (SP3 oder QFE 18.1) oder Windows Server 2003 ermöglicht Ihnen die Einstellung, dass Enterprise Services-Anwendungen einen statischen Endpunkt verwenden. Wenn eine Firewall den Client vom Server trennt, müssen dort nur zwei Ports geöffnet werden. Im Besonderen müssen Sie für RPC Port 135 und für Ihre Enterprise Services-Anwendung einen Port öffnen.
Konfiguration eines statischen Endpunkts für DCOM
Besorgen Sie sich die Anwendungs-ID für Ihre Enterprise Services-Anwendung aus dem COM+ Katalog. Gehen Sie dazu folgendermaßen vor:
Starten Sie das Tool für die Komponentendienste.
Zeigen Sie das Dialogfeld Eigenschaften der Anwendung an und entnehmen Sie die Anwendungs-ID der Seite Allgemein.
Starten Sie den Registrierungseditor (Regedt32.exe).
Wählen Sie den folgenden Registrierungsschlüssel:
HKEY_CLASSES_ROOT\AppID
Wählen Sie im Menü Bearbeiten den Eintrag Wert hinzufügen und fügen Sie den folgenden Registrierungswert hinzu, wobei {Ihre AppID} die Anwendungs-ID der COM+ Anwendung ist, die Sie in Schritt 1 erhalten haben:
Name: {Ihre AppID} Wertname: Endpoints Datentyp: REG_MULTI_SZ Datenwert: ncacn_ip_tcp,0,<port number>
Die Portnummer, die Sie im Textfeld Datenwert angeben, muss größer als 1024 sein und darf nicht mit allgemein bekannten Ports in Konflikt geraten, die andere Anwendungen auf dem Computer verwenden. Der Teil ncacn_ip_tcp,0 dieses Schlüssels kann nicht geändert werden.
Schließen Sie den Registrierungs-Editor.
COM+-Katalog
Die Konfigurationseinstellungen der Enterprise Services-Anwendung werden im COM+ Katalog unterhalten. Die Mehrheit der Konfigurationselemente ist in der Registrierungsdatenbank (RegDB) enthalten, die aus Dateien besteht, die sich im folgenden Verzeichnis befinden:
%windir%\registration
Standardmäßig hat die Gruppe Jeder die Berechtigung, aus der Datenbank zu lesen. Modifizieren Sie die Zugriffssteuerungsliste (ACL) für dieses Verzeichnis, um den Lese- und Schreibzugriff auf Administratoren und das lokale Systemkonto zu beschränken. Gewähren Sie auch den Konten Lesezugriff, die verwendet werden, um die Enterprise Services-Anwendungen auszuführen. Hier ist die erforderliche ACL:
Administratoren: Lesen, Schreiben System: Lesen, Schreiben Enterprise Services-Konto <formatting role="bold">Ausführen als</formatting>: Lesen
Schützen von Enterprise Services-Anwendungen
Individuelle Anwendungskonfigurationseinstellungen werden im COM+ Katalog aufrechterhalten und können mit dem Komponentendienstwerkzeug oder durch Verwendung eines Scripts konfiguriert werden. Viele der unten besprochenen Einstellungen können auch durch Anwendungsentwickler spezifiziert werden, indem Sie die richtigen Daten auf Assemblyebene in der Assembly der bedienten Komponente verwenden. Wenn Sie die Dienstkomponente registrieren, beispielsweise mit Regsvcs.exe, wird der COM+ Katalog automatisch mit diesen Metadaten konfiguriert, auch wenn die Identität Ausführen als der Identität administrativ konfiguriert werden.
Um eine Enterprise Services-Anwendung zu schützen, müssen die folgenden Elemente konfiguriert werden:
Identität (Ausführen als)
Authentifizierungsebene
Rollenbasierte Sicherheit für COM+
Personifizierung
CRM Protokolldateien
Anwendungsassemblys
Identität (Ausführen als)
Konfigurieren Sie die Enterprise Services-Serveranwendungen, so dass diese in den Konten mit den geringsten Berechtigungen ausgeführt werden. Dies reduziert den möglichen Schaden, der auftreten könnte, wenn ein Serverprozess durch einen Angreifer beeinträchtigt wird, der die Ausführung von Code mit seinem eigenen Sicherheitskontext bedient.
Wenn die bedienten Komponenten innerhalb der Enterprise Services-Anwendung keinen Identitätswechsel für den Sicherheitskontext des aufrufenden Benutzers ausführen, wird die Identität der Prozessebene, die durch das Konto Ausführen als angegeben wird, für Downstream-Lokal- und Remotezugriff auf die Ressource verwendet. Um die Netzwerkauthentifizierung zu einem Remote-Datenbankserver zu unterstützen, kann ein "gespiegeltes" lokales Konto erstellt werden, welches ein lokales Konto auf dem Remoteserver ist, das einen gleichen Benutzernamen und ein gleiches Kennwort hat.
Hinweis: Wenn Sie mit den Enterprise Services die Einstellung zum Ausführen als Identität auswählen, wird dem Konto automatisch die Berechtigung Anmelden als Stapelverarbeitungsauftrag gewährt.
Authentifizierungsebene
Enterprise Services-Anwendungen authentifizieren Aufrufer mittels RPC, welches wiederum die zugrunde liegenden Authentifizierungsdienste des Betriebssystems verwendet, die durch die Ebene Security Service Provider Interface (SSPI) zur Verfügung gestellt werden. Dies bedeutet, dass Anwendungen die Aufrufer mittels der Windows-Authentifizierung, entweder Kerberos oder NTLM, authentifizieren.
RPC definiert die Authentifizierungsebenen, die feststellen, dass eine Authentifizierung eintritt, und ob die authentifizierte Kommunikation auf Integrität geprüft oder verschlüsselt werden soll. Sie sollten mindestens die Authentifizierung auf Aufrufebene verwenden, um sicherzustellen, dass jeder Methodenaufruf an eine bediente Komponentenmethode authentifiziert wird.
Hinweis: Eine Authentifizierung auf Aufruferebene führt nicht zur Verschlüsselung von Meldungsdaten. Folglich sollte die Authentifizierungsebene Paketsicherheit oder Authentifizierung auf Aufruferebene über einen mit IPSec geschützten Kanal verwendet werden, wenn das Abhören des Netzwerks eine ernsthafte Sorge bereitet.
In Tabelle 17.3 werden die verschiedenen Authentifizierungsebenen dargestellt:
Tabelle 17.3: Authentifizierungsebenen der Enterprise Services-Anwendung
Authentifizierungsebene |
Beschreibung |
---|---|
Standard |
Wählen Sie die Authentifizierungsebene mittels normaler Vereinbarungsregeln |
Keine |
Keine Authentifizierung |
Verbinden |
Authentifiziert die Anmeldeinformationen lediglich bei der ersten Verbindung vom Client mit dem Server |
Aufruf |
Authentifiziert zu Beginn jedes RPC-Aufrufs |
Paket |
Authentifiziert alle vom Client erhaltenen Daten |
Paketintegrität |
Authentifiziert alle Daten und verifiziert, dass keine der übertragenen Daten modifiziert wurden |
Paketsicherheit |
Authentifiziert alle Daten und verschlüsselt alle übertragenen Pakete mittels RPC-Verschlüsselung |
Einstellen einer Authentifizierung auf Aufruferebene
Starten Sie die Komponentendienste und öffnen Sie das Dialogfeld Eigenschaften der Anwendung.
Klicken Sie auf die Registerkarte Sicherheit.
Wählen Sie in der Dropdownliste Authentifizierungsebene für Aufrufe die Option Aufruf aus.
Rollenbasierte Sicherheit für COM+
Eine Autorisierung in Enterprise Services-Anwendungen wird durch die Enterprise Services (COM+)-Rollen zur Verfügung gestellt. COM+ Rollen enthalten Windows Benutzer- und Gruppenkonten und werden verwendet, um den Zugriff auf Anwendung, Komponente, Schnittstellen und Methode zu beschränken. Die Enterprise Services-Anwendungen sollten für Autorisierung auf Komponentenebene konfiguriert werden. Dadurch können Aufrufer für einzelne Dienstkomponenten autorisiert werden.
So konfigurieren Sie die Sicherheit auf der Grundlage von Rollen
Aktivieren von rollenbasierter Sicherheit.
Aktivieren von Zugriffsüberprüfungen auf Komponentenebene.
Erzwingen von Zugriffsüberprüfungen auf Komponentenebene.
Aktivieren von rollenbasierter Sicherheit
In Windows 2000 ist die rollenbasierte Sicherheit in der Standardeinstellung deaktiviert. In Windows Server 2003 ist sie standardmäßig aktiviert.
Aktivieren von rollenbasierter Sicherheit
Starten Sie das Komponentendienstwerkzeug und öffnen Sie das Dialogfeld Eigenschaften der Anwendung.
Klicken Sie auf die Registerkarte Sicherheit.
Wählen Sie Zugriffsüberprüfungen für diese Anwendung erzwingen.
Abbildung 17.7
Aktivieren von rollenbasierter Sicherheit
Aktivieren von Zugriffsüberprüfungen auf Komponentenebene
Ohne Zugriffsüberprüfungen auf Komponentenebene wird jedem Konto, das für die Verbindung zu irgendwelchen Anwendungskomponenten verwendet wird, Zugriff gewährt, wenn es Mitglied einer Rolle innerhalb der Anwendung ist. Zugriffsüberprüfungen auf Komponentenebene ermöglichen es einzelnen Komponenten, ihre eigene Autorisierung anzuwenden. Dies ist der empfohlene Körnungsgrad.
Aktivieren von Zugriffsüberprüfungen auf Komponentenebene
Starten Sie das Komponentendienstwerkzeug und öffnen Sie das Dialogfeld Eigenschaften der Anwendung.
Klicken Sie auf die Registerkarte Sicherheit.
Klicken Sie auf Zugriffsüberprüfungen auf der Prozess- und Komponentenebene durchführen.
Abbildung 17.8
Aktivieren von Zugriffsüberprüfungen auf Komponentenebene
Erzwingen von Zugriffsüberprüfungen auf Komponentenebene
Um es einzelnen Komponenten innerhalb der Enterprise Services-Anwendung zu erlauben, Zugriffsüberprüfungen durchzuführen und Aufrufer zu autorisieren, müssen Sie Zugriffsüberprüfungen auf Koponentenebene aktivieren.
Erzwingen von Zugriffsüberprüfungen auf Komponentenebene
Starten Sie das Tool für die Komponentendienste und erweitern Sie Ihre Anwendung in der Strukturansicht.
Wählen Sie den Ordner Komponenten, klicken Sie mit der rechten Maustaste darauf und wählen Eigenschaften.
Klicken Sie auf die Registerkarte Sicherheit.
Klicken Sie auf Zugriffsüberprüfungen auf Komponentenebene erzwingen.
Hinweis: Diese Einstellung ist nur wirksam, wenn die Zugriffsüberprüfung auf Komponentenebene aktiviert ist und die Zugriffsüberprüfung auf Prozess- und Komponentenebene konfiguriert wurde (siehe oben).
Personifizierung
DCOM-Clients stellen die Personifizierungsebene ein, um die Personifizierungsfähigkeiten des Servers festzulegen, mit dem sie kommunizieren. Wenn sich eine Enterprise Services-Anwendung auf einem Anwendungsserver der mittleren Schicht befindet, betrifft die konfigurierte Personifizierungsebene alle Remoteaufrufe, die zu Downstream-Komponenten erfolgen, einschließlich dem Datenbankserver. Die Personifizierungsebene wird auf der Seite Sicherheit des Dialogfelds Eigenschaften der Anwendung in den Komponentendiensten eingestellt, dies wird in Abbildung 17.9 gezeigt.
Abbildung 17.9
DCOM-Personifizierungsebenen
Die entsprechende Ebene ist abhängig von der gewünschten Funktionalität der Anwendungsebene, obgleich die folgenden Richtlinien verwendet werden sollten, um die entsprechende Ebene zu bestimmen.
Vermeiden Sie einen anonymen Identitätswechsel. Die Downstream-Komponente kann Ihre Anwendung für Authentifizierungs- oder Autorisierungszwecke nicht identifizieren.
Verwenden Sie Identifizieren, um der Downstream-Komponente die Authentifizierung und Autorisierung Ihrer Anwendung zu ermöglichen. Sie wird jedoch nicht in der Lage sein, auf lokale oder remote Ressourcen über den personifizierten Sicherheitskontext Ihrer Anwendung zuzugreifen.
Verwenden Sie Identität annehmen, wenn Sie der Downstream-Komponente ermöglichen möchten, die Identität Ihrer Anwendung anzunehmen, so dass sie auf lokale Ressourcen auf dem Downstream-Server zugreifen kann.
Verwenden Sie Delegieren, wenn Sie der Downstream-Komponente ermöglichen möchten, die Identität Ihrer Anwendung anzunehmen, so dass sie auf lokale Ressourcen und Remoteressourcen zugreifen kann. Dies erfordert, dass Konten für die Delegierung im aktiven Verzeichnis konfiguriert werden.
Jeglicher Downstream-Ressourcenzugriff, der durch bediente Komponenten auf dem Anwendungsserver der mittleren Schicht durchgeführt wird, verwendet normalerweise die Identität der Serveranwendung. Wenn jedoch die bedienten Komponenten eine Personifizierung per Programm durchführen und die Clientanwendung (üblicherweise eine ASP.NET Webanwendung oder ein Webdienst auf dem Webserver) konfiguriert wurde, um Kerberos-Delegierung zu unterstützen, wird die Identität des Clients verwendet.
Weitere Informationen finden Sie unter "How To: Enable Kerberos Delegation in Windows 2000" im Abschnitt "How To" der "Microsoft patterns & practices Volume I, Building Secure ASP.NET Web Applications: Authentication, Authorization, and Secure Communication" unter https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/secnetlpMSDN.asp.
CRM Protokolldateien
Wenn Ihre Enterprise Services-Anwendung CRM verwendet, sollten Sie sicherstellen, dass die CRM-Protokolldateien geschützt werden, um eine mögliche Veröffentlichung von Informationen zu verhindern. Abhängig von der Natur der Anwendung können die Dateien sicherheitsrelevante Anwendungsdaten enthalten. Die CRM-Protokolldateien werden im folgenden Verzeichnis erstellt:
%windir%\system32\dtclog
CRM-Protokolldateien werden von der Anwendungs-ID der Enterprise Services abgeleitet und haben die Dateinamenerweiterung .crmlog. CRM-Protokolldateien werden geschützt, wenn diese von den Enterprise Services erstellt werden und die Datei mit einer ACL konfiguriert ist, durch die vollständiger Zugriff auf das Konto Ausführen als der Anwendung gewährleistet wird. Kein anderes Konto hat Zugriff.
Wenn die Identität der Anwendung geändert wird, nachdem die Protokolldatei erstellt wurde, muss die ACL auf der Datei manuell geändert werden. Vergewissern Sie sich, dass die neue Ausführen als-Identität der Anwendung vollständigen Zugriff hat.
Anwendungsassemblys
Um die eingesetzten Anwendungsassemblys zu schützen, welche die bedienten Komponenten der Anwendung enthalten, sollte die ACL, die mit den DLL-Dateien der Assembly verbunden sind, gestärkt werden, um sicherzustellen, dass diese nicht von nicht berechtigten Benutzern ersetzt oder gelöscht werden können.
Wenden Sie die folgende ACL auf das DLL-Verzeichnis Ihrer Anwendung an:
Benutzer: Ausführen Anwendungskonto <formatting role="bold">Ausführen als</formatting>: Ausführen Administratoren: Lesen, Schreiben und Ausführen
Der Speicherort der Assembly-DLLs einer Anwendung wird bei der Einsetzung angegeben und kann daher von Installation zu Installation variieren. Das Dialogfeld Eigenschaften im Tool für die Komponentendienste zeigt nicht den Speicherort der Assembly-DLLs an. Stattdessen verweist es auf die Datei %windir%\System32\mscoree.dll, die die Übernahmedienste für die Komponente zur Verfügung stellt.
Prüfen des Speicherorts der Anwendungs-DLLs
Starten Sie das Tool für die Komponentendienste und erweitern Sie Ihre Anwendung in der Strukturansicht.
Erweitern Sie den Ordner Komponenten, klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften.
Entnehmen Sie dem Dialogfeld Eigenschaften die Klassen-ID (CLSID) der Komponente.
Starten Sie Regedt32.exe und suchen Sie die erhaltene CLSID unter HKEY_CLASSES_ROOT\CLSID.
Wählen Sie den Schlüssel InprocServer32 .
Der Speicherort der DLL wird durch den Wert mit dem Namen CodeBase angezeigt.
Zusammenfassung
Wenn ausreichende Perimeternetzwerkverteidigungen angeordnet sind, kommen viele der Bedrohungen, die Anwendungsserver der mittleren Schicht betreffen, aus der Organisation selbst. Eine sichere Infrastruktur, die aus IPSec-Richtlinien besteht, den Zugriff auf den Anwendungsserver nur auf ausgewählte Webserver begrenzt sowie sichere Kommunikationskanäle bietet, mildert die Risiken.
Dieses Modul hat Ihnen zusätzliche Sicherheitsmaßnahmen gezeigt. Diese Maßnahmen unterscheiden sich abhängig von der verwendeten Technologie, die am Anwendungsserver verwendet wird.
Interne Firewalls auf jeder Seite des Anwendungsservers zeigen andere Probleme. Die Ports, die geöffnet werden müssen, sind abhängig von Elementen wie Transportprotokolle oder verteilte Transaktionen.
Weitere Links zum Thema
Weitere Informationen über die Probleme, denen sich dieses Modul zuwendet, finden Sie in den folgenden Artikeln in der Microsoft Knowledge Base unter https://support.microsoft.com:
Artikel 233256, "How to: Enable IPSec Traffic Through a Firewall"
Artikel 312960, "Cannot Set a Fixed Endpoint for a COM+ Application"
Artikel 259011, "SAMPLE: A Simple DCOM Client Server Test Application"
Artikel 248809, "PRB: DCOM Does Not Work over Network Addressed Translation - Based Firewall"
Artikel 250367, "INFO: Configuring Microsoft Distributed Transaction Coordinator (DTC) to Work Through a Firewall"
Artikel 154596, "How To: Configure RPC Dynamic Port Allocation to Work with Firewall"