Anfang des InhaltsbereichsHintergrunddokumentationITS-Sicherheit

Dieses Kapitel behandelt vorrangig die Sicherheitsaspekte für SAP-Web-Anwendungen im Zusammenhang mit Netzwerkintegration. Dazu gehören die Netzwerktopologie, Firewalls, Web-Server, Kommunikationsverschlüsselung usw. Zusätzliche Informationen, insbesondere zur Anwendungssicherheit, finden Sie in der SAP-Bibliothek unter BC Basis – Frontend Services und im SAP Security Guide (verfügbar im SAPnet unter http://sapnet.sap-ag.de/securityguide ).

Einführung

Wenn Sie sich mit dem Internet verbinden, ist es wichtig, daß Sie Ihr System gegen unberechtigten Zugriff und andere Angriffe schützen. Obwohl wir uns nachfolgend immer auf das Internet beziehen, benötigen - abhängig von Ihren Sicherheitsbestimmungen - auch Intranet-Anwendungen einen hinreichenden Schutz. Die folgende Dokumentation ist daher auch auf das Intranet übertragbar.

Alle Sicherheitsüberlegungen setzen voraus, daß Sie über ein klares Sicherheitskonzept verfügen. "Absolut sicher" kann man eine Anwendung nie machen. Statt dessen müssen Sie die Komponenten in Ihrer Anwendung bestimmen, eine Liste mit allen denkbaren Sicherheitslücken erstellen (z.B. unberechtigtes Eindringen oder "denial-of-service"-Angriffe), die Schwere möglicher Folgen bestimmen und festlegen, welche davon in Kauf genommen werden können und welche nicht. Es ist unerläßlich, dieses Konzept schriftlich zu erstellen, um bei jeder Sicherheitsmaßnahme darauf zugreifen zu können.

Sichere Netzwerk-Infrastruktur für den ITS

Die Internet-Architektur der SAP beinhaltet bereits zahlreiche Sicherheitsmechanismen wie beispielsweise die Möglichkeit, WGate und AGate auf unterschiedlichen Hosts laufen zu lassen. Dies ist wichtig, da WGate normalerweise keine sensiblen Daten enthält. AGate kann hingegen Informationen enthalten, die geschützt werden müssen - beispielsweise Kennwörter für die SAP-Systeme.

Wir empfehlen daher dringend, daß Sie diese Möglichkeiten beim Aufbau Ihrer Netzwerk-Infrastruktur ausschöpfen. Dadurch können Zugriffe aus dem Internet kontrolliert werden, die möglicherweise auf sensible Anwendungskomponenten und interne Netze abzielen.

Hierbei können Sie besondere Sicherheitskomponenten einsetzen, wie z.B. Firewalls, Paketfilter und SAProuter, um die einzelnen Teile des Netzwerks voneinander zu trennen. Auf diese Weise stellen Sie sicher, daß im Falle eines unbefugten Zugriffs, nur ein kleiner Teil des Systems betroffen ist und weder im internen Netzwerk noch im SAP-System Schaden entstehen kann. Die nachfolgende Abbildung zeigt einige Komponenten, die Sie verwenden können, um eine sichere Netzwerk-Architektur für den ITS aufzubauen:

Diese Grafik wird im zugehörigen Text erklärt

Abhängig von Ihrer Sicherheitsstrategie können Sie einige oder alle diese Komponenten implementieren. In den nachfolgenden Abschnitten finden Sie detaillierte Informationen zu diesen Komponenten und eine konkretes Beispiel zur Netzwerkkonfiguration.

Sicherheitskomponenten

Die von uns empfohlene Netzwerktopologie besteht aus drei eigenständigen Netzwerksegmenten, die über zwei Firewall-Systeme miteinander verbunden sind. Das unsicherste Netz ist das Internet selbst. An diese Stelle befindet sich der Web-Browser.

Web-Server schützen

Der Web-Server wird durch das erste Firewall-System geschützt. Der Web-Server muß vor jeder Art von Netzwerk-Paket geschützt werden, das für die HTTP-Kommunikation nicht erforderlich ist. Um dies zu erreichen, müssen Sie den Router so konfigurieren, daß er Pakete nur über den entsprechenden TCP-Port durchläßt.

Normalerweise benötigt der Web-Server einen TCP-Service. Die Port-Nummer 80 ist für HTTP reserviert und wird "per default" von allen Servern und Browsern verwendet. HTTPS (HTTP plus Secure Sockets Layer-Protokoll) verwendet normalerweise den TCP-Port 443.

Konfigurieren Sie das Betriebssystem des Web-Servers so abgeschlossen und restriktiv wie nur möglich. Deaktivieren Sie alle unnötigen Netzwerk-Services.

Internes Netzwerk und AGate-Server schützen

Wir empfehlen dringend zusätzliche Maßnahmen, wie etwa ein Firewall-System und/oder einen SAProuter, um den Web-Server von Ihrem internen Firmennetzwerk abzutrennen. Dadurch beugen Sie zusätzlichem Schaden vor, falls es ein Eindringling schaffen sollte, die Kontrolle über den Web-Server zu erlangen. Außerdem empfehlen wir Ihnen, das AGate in Ihrem internen Netzwerk zu lassen.

Die Verbindung zwischen WGate und AGate kann über einen SAProuter geleitet werden. Eine detaillierte Beschreibung der Funktionalität und Verwaltung eines SAProuters finden Sie in der SAP-Bibliothek unter BC SAProuter (BC Basis – Client-Server-Technologie). Sie können den SAProuter so konfigurieren, daß er lediglich die WGate–AGate-Verbindung weiterleitet und alle anderen Versuche, eine Verbindung aufzubauen, abblockt. Weitere Informationen dazu, wie Sie den ITS mit SAProuter konfigurieren, finden Sie in der SAP-Online-Dokumentation ITS-Verwaltung (BC–Basis ® Frontend Services ® Internet Transaction Server).

Sie können auch andere Firewall-Produkte verwenden, um die TCP-Verbindung von WGate zu AGate weiterzuleiten. Informationen dazu finden Sie in der Dokumentation zu Ihrem Firewall-System.

SAP-Server schützen

Bei sehr hohen Sicherheitsanforderungen kann das SAP-Server-Netzwerk über Firewall und SAProuter geschützt werden, wie es im Abschnitt Netzwerksicherheit beschrieben wird.

Um das AGate vor einem unberechtigtem Zugriff im internen Netz zu schützen, müssen Sie das AGate in das Server-Netzwerk mit aufnehmen. In diesem Fall das AGate durch dieselben Mechanismen geschützt, die auch Ihre SAP-Server schützen.

Um einen maximalen Schutz vor dem Internet zu erreichen, müssen Sie das AGate außerhalb des Server-Netzwerks positionieren (siehe vorherige Abbildung). Da das AGate mit dem SAP-Anwendungsserver auf dieselbe Weise kommuniziert, wie der normale SAPgui (über DIAG oder RFC), sind keine besonderen Maßnahmen für die Verbindung zwischen AGate und SAP-System erforderlich.

Beispiel: Netzwerkkonfiguration

Die folgende Abbildung zeigt ein Beispiel für eine Netzwerk-Sicherheitsinfrastruktur, die den Internet-Zugriff auf SAP über den SAP Internet Transaction Server ermöglicht:

Diese Grafik wird im zugehörigen Text erklärt

Die "Sicherheit" der Netzwerkzonen erhöht sich von links nach rechts. Der erste Router/Paketfilter ermöglicht vom Internet aus einen direkten Zugriff nur über die TCP-Ports des Web-Servers. Er gibt keine Pakete direkt an den zweiten Router weiter, so daß keine Pakete direkt vom Internet ins interne Netzwerk gelangen. Aus diesem Grund wird das Web-Server-Netzwerk als "entmilitarisierte Zone" bezeichnet. Der zweite Router/Paketfilter ist so konfiguriert, daß er den direkten Zugriff aus dem Web-Server-Netzwerk auf Hosts im Firmennetzwerk mit Ausnahme des SAProuters (TCP-Port und -Host) verwehrt. Die Verbindung von WGate zu AGate kann daher nur über den SAProuter erfolgen. In diesem Beispiel befindet sich AGate im SAP-Server-Netzwerk. Das Server-Netzwerk ist mit dem Client-Netzwerk über einen weiteren Router verbunden, der ebenfalls Zugriffsbeschränkungen bieten kann.

Falls es gewünscht wird, können Sie auch einen Router/Paketfilter zwischen AGate und SAP-Anwendungsserver stellen. Diese Methode wurde bereits im vorhergehenden Abschnitt beschrieben und bietet zusätzlichen Schutz für den Fall, daß ein Eindringling es schaffen sollte, von einer Sicherheitslücke im AGate oder im Betriebssystem Gebrauch zu machen.

Im obigen Beispiel haben wir eine Konfiguration mit Netzwerk- und Computer-Standardkomponenten gezeigt. Viele Anbieter bieten für diese Aufgaben spezielle Firewall-Produkte an. Sie können solche Produkte einsetzen, sie sind aber nicht Thema dieses Leitfadens.

Verschlüsselte Kommunikation

Sie können kryptografische Methoden einsetzen, um die Sicherheit aller Netzwerkverbindungen zu erhöhen, die zu einer ITS-Anwendung gehören.

Browser – Web Server

Alle Daten (einschließlich Paßwörter) werden über das Internet normalerweise unverschlüsselt übergeben. Um die Vertraulichkeit dieser Daten zu gewährleisten, können Sie die Verbindung zwischen Web-Server und Browser mit einer Verschlüsselung versehen. Die von SAP unterstützten Web-Server und alle modernen Browser unterstützen die Verschlüsselung des HTTP-Datenstroms mit Hilfe des Secure Sockets Layer Protokolls (SSL), auch bekannt als HTTPS. HTTPS-Datenströme sind für den ITS vollkommen transparent. Weitere Einzelheiten zu Verschlüsselungstechniken finden Sie in der mit dem Web-Server gelieferten Dokumentation.

Um SSL-Verschlüsselung einzusetzen, muß der Web-Server ein Zertifikat für seinen Public Key erhalten. Wir bezeichnen dieses Zertifikat nachfolgend als Server-Zertifikat. Das Server-Zertifikat wird vom Browser dazu verwendet, den Server zu authentifizieren. Es wird von einer Certification Authority (CA) ausgestellt. Wenn der Browser ein von einer vertrauenswürdigen CA ausgestelltes Server-Zertifikat erhält, dann kann er sicherstellen, daß er mit dem gewünschten Server verbunden ist. Dies ist eine Vorbedingung für den Aufbau der sicheren Verbindung.

Wenn Sie einen Service für alle Internet-Benutzer anbieten wollen, sollte dieses Server-Zertifikat von einer offiziellen CA ausgestellt sein, der die meisten im Internet verwendeten Browser vertrauen. Für interne Benutzer können Sie eine Firmen-CA einrichten und die Browser so konfigurieren, daß sie dieser CA vertrauen.

WGate – AGate

Normalerweise werden Daten zwischen WGate und AGate unverschlüsselt übergeben. Sie können aber auch einen anderen Verbindungstyp wählen, der die Daten mit dem DES-Algorithmus und einem statischen Schlüssel verschlüsselt. Dieser Schlüssel ist nicht konfigurierbar. Daher bietet diese Verschlüsselung nur Schutz vor einem ungewolltem Lesen von Daten, jedoch nicht vor ernsthaften Angriffen.

Einen besseren Schutz für die Verbindung zwischen WGate und AGate erzielen Sie mit Secure Network Communication (SNC) von SAP. SNC verwendet ein externes Sicherheitsprodukt, um die Kommunikationsverbindungen zwischen den Komponenten eines SAP-Systems zu verschlüsseln. Je nachdem, welches Verschlüsselungsprodukt Sie einsetzen, bietet SNC unterschiedliche Schutzebenen. Weitere Informationen finden Sie im Abschnitt Netzwerksicherheit.

AGate – SAP System

Die Verbindung zwischen AGate und SAP-System kann ebenfalls mit SNC geschützt werden.

Benutzer authentifizieren

Service-Benutzer

Im Internet-Szenario wissen Sie nicht unbedingt, welche Benutzer auf die Anwendungsdaten im SAP-System zugreifen wollen. Außerdem können Sie angesichts der großen Anzahl von Internet-Benutzern nicht für jeden Benutzer eine eigene Zugriffsberechtigung vergeben. Wenn Sie also anonymen Internet-Benutzern bestimmte Internet Application Components (IAC) zugänglich machen wollen, richten Sie normalerweise im SAP-System Service-Benutzer mit vordefinierten Paßwörtern ein. Diese Benutzer sollten nur die zum Zugriff auf die Anwendung erforderlichen Berechtigungen haben (z.B. für einen Produktkatalog). Der entsprechende ITS-Service wird mit diesen Anmeldedaten konfiguriert, einschließlich Paßwort. Wenn Sie den Internet-Benutzer weiter authentifizieren müssen (z.B. beim Aufgeben einer Bestellung), muß die Anwendung die zusätzliche Authentifizierung selbst durchführen. Hierbei prüft die Anwendung beispielsweise die Kundennummer und das Paßwort über entsprechende Funktionsbausteinen.

Für jede Anwendung, die über das Internet zugänglich ist, müssen Sie eine Servicedatei anlegen. Diese befindet sich auf dem AGate. Diese Datei enthält anwendungsspezifische Informationen wie beispilsweise die zu startende SAP-Transaktion, den SAP-Mandanten, den Service-Benutzernamen und das zu verwendende Paßwort. Der ITS benötigt diese Informationen, um die Anwendung auszuführen. Das Paßwort erscheint nicht als lesbarer Text in der Servicedatei; es wird vielmehr mit einem statischen Schlüssel verschlüsselt. Wenn es Service-Benutzer mit Berechtigungen gibt, die geschützt werden müssen, dann ist es wichtig, die AGate-Servicedateien gegen unbefugten Zugriff zu sichern.

Der ITS speichert auf dem WGate keine sicherheitsrelevanten Daten.

"Named Users"

In einem Intranet- oder Extranet-Szenario können sich Benutzer über den ITS mit ihren SAP-Benutzernamen und Paßwörtern im SAP-System anmelden. Die Benutzernamen und Paßwörter werden in diesem Fall nicht dauerhaft im ITS gespeichert. Die Benutzer-Authentifizierung findet ausschließlich im SAP-System statt. Internet Application Components unterliegen, wie jede andere SAP-Transaktion, dem normalen SAP-Berechtigungskonzept.

Named Users mit Browser-Zertifikaten

Zertifikate auf dem Client-Browser können auch dazu verwendet werden, den Benutzer im SAP-System zu identifizieren (SAP-Release 4.5 oder höher). Dies erspart dem Benutzer die Eingabe des Anmeldenamens und Paßworts. Zertifikate können für alle IACs verwendet werden, die einen benannten SAP-Benutzer verlangen. Eine Beschreibung der Grundlagen dieser Technologie finden Sie weiter unten. Weitere Einzelheiten erfahren Sie unter X.509 Certificate Logon over the ITS (im SAPnet unter http://sapnet.sap-ag.de/systemmanagement à Media Center à Security à Literature).

Die am weitesten verbreitete Form der Client-Zertifikate verwendet den X.509-Standard. Zertifikate werden von einer Certification Authority (CA) ausgestellt und im Browser installiert. Der Web-Server überprüft die Gültigkeit des Zertifikats und entnimmt den Benutzernamen (auch als Distinguished Name, DN, bezeichnet). Das Zertifikat wird an das SAP-System übergeben, das den entsprechenden Benutzer ohne Paßwortprüfung anmeldet. Um sicherzustellen, daß der DN vertrauenswürdig ist, müssen auf dem gesamten Kommunikationspfad sichere Netzwerkverbindungen verwendet werden.

Sie können entweder eine kommerzielle CA (z.B. Verisign Inc.) verwenden oder Ihre eigene CA einrichten.

Diese Grafik wird im zugehörigen Text erklärt

Web-Server können so konfiguriert werden, daß sie nur Verbindungen akzeptieren, die ein gültiges Zertifikat vorweisen. Sie können dies als einen Zugriffskontrollmechanismus verwenden, insbesondere dann, wenn nur Zertifikate zugelassen werden, die von einer bestimmten CA (z.B. Ihrer eigenen) ausgegeben wurden.

ITS-Session-Integrität

Session Identifier

Um die Integrität von Mehrschritt-Transaktionen beim Einsatz von IACs zu erhalten, vergibt der ITS eine eindeutige Session-Identifikationsnummer, sobald der Benutzer die erste Anforderung stellt. Diese Session-ID wird zusammen mit der ersten HTML-Seite an den Browser geschickt. Bei jeder nachfolgenden Anforderung muß sie an den ITS zurückgegeben werden. Diese Session-ID wird vom ITS verwendet, um den richtigen Session-Kontext zu identifizieren. Außerdem wird auf diese Weise sichergestellt, daß kein anderer Benutzer eine aktuelle Session einfach übernehmen kann. Wenn Sie Ihre Benutzer-Sessions noch stärker schützen möchten, können Sie HTTPS verwenden.

Cookies

Alte Versionen des ITS setzen zur Speicherung der Session-ID HTTP-Cookies ein. In neuen ITS-Versionen werden Cookies nur zur Identifizierung eines Benutzers über mehrere Services hinweg benötigt. Wenn Sie diese Funktionalität nicht brauchen, können Sie das Senden von Cookies deaktivieren.

Client-IP-Adressen

Als zusätzliches Sicherheits-Feature speichert der ITS die Client-IP-Adresse zusammen mit der Session-ID. Ein möglicher Eindringling, der die Netzwerkverbindung abhört und sich so die aktuelle Session-ID verschafft, ist nicht in der Lage, eine gefälschte Antwort senden, da seine IP-Adresse nicht mit der des ursprünglichen Benutzers übereinstimmt.

Es ist möglich, die Anzahl der für den Vergleich der Netzwerkadresse wichtigen Bytes zu konfigurieren. Im AGate gibt der folgende Registry-Schlüssel eine Maske der wichtigen Netzwerkadreßbits an:

HKEY_LOCAL_MACHINE\SOFTWARE\SAP\ITS\2.0\<INST>\Connects\IPChecking

Der Vorgabewert ist 255.255.255.255, was bedeutet, daß die gesamte Adresse verglichen werden soll. Für eine Intranet-Lösung sollte dieser Wert aktiviert werden. Für Internet-Anwendungen ist es ratsam, den Wert 255.255.0.0 einzugeben. In diesem Fall werden nur die führenden Ziffern einer Netzwerkadresse vergleichen. Dies ermöglicht auch den Clients, die mehrere Web Proxy Server mit Lastverteilung verwenden, den Zugriff auf den ITS.

Robot-Ausschluß

Suchmaschinen sind wertvolle Hilfsmittel für jeden Internet-Benutzer. Sie ermöglichen es, einen großen Teil aller existierenden Web-Seiten nach Wörtern oder Sätzen zu durchsuchen, um eine bestimmte Information zu finden. Beim Aufbau ihrer Indizes durchqueren die meisten Suchfunktionen das Web, indem sie allen Links in allen Web-Seiten folgen, die sie finden. Ein Programm, das dies tut, wird als "Crawler" (to crawl: schleichen, kriechen), oder allgemeiner, als "Robot" (Roboter) bezeichnet. Diese Art, das Internet zu durchsuchen, ist sehr effektiv, bringt aber auch einige Probleme mit sich. Wenn ein Robot per Link in eine Ihrer Internet-Anwendungen dirigiert wird, folgt der Robot allen Links in die Anwendung hinein. Da die Informationen jedoch dynamisch erzeugt werden, sind sie zur Aufnahme in einen statischen Index nicht geeignet. Außerdem stellen die Anfragen des Robots eine zusätzliche Belastung für Ihren Server dar.

Der Standard for Robot Exclusion (SRE) bietet die Möglichkeit, den Robot von bestimmten Teilen oder vom gesamten Ressourcenplatz eines Servers auszuschließen. Es gibt keine einfache Möglichkeit, einen Robot zu diesem Standard zu zwingen, aber die meisten Robots halten sich daran.

Bevor ein SRE-konformer Robot auf eine Site zugreift, prüft er die Datei robots.txt im Root-Verzeichnis des Servers (z.B. http://www.ihrunternehmen.com/robots.txt ) Diese Datei enthält Regeln, die dem Robot mitteilen, welche Teile des Servers zugänglich und welche tabu sind. Wenn Sie einen SAP-ITS haben, sollte Ihre robots.txt zumindest die folgenden Zeilen enthalten:

# This is a comment line
User-agent: *
Disallow: /scripts

Auf diese Art wird der Robot von den Internet Application Components auf Ihrem Server ferngehalten. Sie können auch Ihren gesamten Server zum "Sperrgebiet" erklären, indem Sie " Disallow: /" eingeben. Allerdings werden Sie in der Regel den Robot-Zugriff auf den allgemeinen Teil des Servers zugestehen, damit potentielle Kunden Ihren Service über ihre Suchfunktionen finden können.

Beachten Sie, daß Robots nicht nur im Internet eingesetzt werden, sondern auch in Firmen-Intranets, um einen Index der firmeneigenen Informationen aufzubauen.

 

 

Ende des Inhaltsbereichs