HintergrundSicherheitsaspekte für Web Dynpro ABAP Dieses Dokument in der Navigationsstruktur finden

 

Bei der Erstellung von Web-Applikationen anhand des Web Dynpro ABAP Programmiermodells ist es wichtig, Sicherheitsaspekte zu berücksichtigen. Sowohl für die Erstellung von Web-Applikationen als auch für den laufenden Betrieb dieser Anwendungen stehen Sicherheitsfunktionen zur Verfügung.

Achtung Achtung

In einem Produktivsystem sollten die folgenden HTTP-Serviceknoten (Transaktion SICF) für die Konfiguration nicht aktiv sein, da eine Konfiguration immer eine Entwicklung darstellt.

  • /sap/bc/webdynpro/sap/CONFIGURE_APPLICATION

  • /sap/bc/webdynpro/sap/CONFIGURE_COMPONENT

  • /sap/bc/webdynpro/sap/WD_ANALYZE_CONFIG_APPL

  • /sap/bc/webdynpro/sap/WD_ANALYZE_CONFIG_COMP

  • /sap/bc/webdynpro/sap/WD_ANALYZE_CONFIG_USER

Weitere Informationen über aktive Service-Knoten im HTTP-Service-Baum finden Sie unter Aktive Services in der SICF.

Ende der Warnung.
Sicherheit beim AS-ABAP

Die grundlegenden Informationen über Sicherheitsaspekte in einem AS-ABAP-System, in dem Sie Ihre Web-Applikation erstellen, finden Sie unter Netzwerkinfrastruktur und Sicherheit beim AS-ABAP.

Hinweis Hinweis

Beachten Sie hierbei besonders die Konfiguration für die SSL-Unterstützung.

Des Weiteren wird eine Funktion für die Performance-Steigerung bei Mehrfachanmeldungen bereitgestellt, der Anmeldeticket-Cache.

Ende des Hinweises

Von SAP werden bestimmte Viren-Scan-Profile standardmäßig ausgeliefert. Beim HTTP Upload ist ein Virenscan möglich (siehe auch Viren-Scan-Schnittstelle).

Der Internet Communication Manager (ICM) nimmt HTTP-Requests aus dem Internet entgegen und schickt eine Antwort zurück.

Anmelden an Web-Applikationen

Der AS-ABAP nutzt für den Zugriff auf eine Web-Applikation das HTTP-Framework des Internet Communication Manager (ICF), der seinerseits Funktionen für die Anmeldung am AS-ABAP bietet.

Achtung Achtung

Beachten Sie hierbei das Aktivieren und Deaktivieren von Services. Aus Sicherheitsgründen sollten nur genau diejenigen Services im HTTP-Service-Baum aktiv sein, die Sie wirklich benötigen. Wenn Sie dagegen Knoten auf einer höheren Ebene aktivieren, bedeutet dies, dass der gesamte darunter liegende Teil des Service-Baums ebenfalls aktiv ist und damit z.B. bei Hinterlegung des anonymen Benutzers für Zugriffe völlig offen und damit ungesichert ist.

Ende der Warnung.

Zusätzlich steht ein einfaches Verfahren für die Entwicklung und Konfiguration der Systemanmeldung bei Web-Applikationen zur Verfügung, bei dem die Sicherheitsaspekte integriert sind.

Web-Applikationen ohne Domain-Relaxing

Vor NW 7.0 SP6 konnte eine Web-Dynpro-Applikation nicht isoliert in einer Umgebung (z.B. dem Portal) ausgeführt werden, da sie sich stets zu ihrer Umgebung bzgl. der Domäne relaxiert hat. Dies öffnet jedoch bei sicherheitskritischen Anwendungen ein mögliches Einfalltor für eine Attacke. Ein Angreifer könnte in einem anderen IFrame eine eigene Anwendung laufen lassen, seine Domäne ebenfalls relaxieren und auf die sensitiven Daten der ursprünglichen Applikation zugreifen.

Damit dies nicht geschieht, kann mit dem neuen Applikationsparameter WDPROTECTEDAPPLICATION auf dem Server für eine Applikation eingestellt werden, ob diese ihre Domäne relaxiert oder nicht.

Standardmäßig ist die Domäne weiterhin relaxiert. Der Parameter dient dazu, dieses Verhalten für sicherheitskritische Anwendungen auszuschalten.

Prüfen Sie daher, welche ihrer Applikationen sicherheitskritisch sind und setzen Sie dann entsprechend das Kennzeichen in der Web-Dynpro-Anwendung. Dazu selektieren Sie die entsprechende Web-Dynpro-Anwendung in der SE80 und verzweigen auf die Registerkarte Parameter. Über die F4-Hilfe der Parameter können Sie den Eintrag WDPROTECTEDAPPLICATION auswählen und dann den Wert auf X setzen.

Web Dynpro Console

Wenn der Parameter sap-wd-ssrconsole=true gesetzt ist, wird die Web Dynpro Console angezeigt. Diese enthält verschiedene Informationen, wie z.B. die Build-Nummer des Renderers, die verwendete Version und verschiedene Informationen, die für den Support bei der Fehlersuche nützlich sind. Eingaben können nicht gemacht werden.

Hinweis Hinweis

Die Console im Web Dynpro ABAP dient im Gegensatz zur Console von Web Dynpro für Java nur der Anzeige von Daten.

Ende des Hinweises
Sicherheit von View-Context-Daten

Empfehlung Empfehlung

SAP empfiehlt, dass der View-Context nur die Daten enthalten sollte, die für die spezielle View notwendig sind. Unabhängig von Sicherheitsaspekten verbessert ein solches Design ebenfalls die Performance einer Anwendung.

Ende der Empfehlung.

Zentraler Bestandteil jeder Web-Dynpro-Anwendung sind die Daten, die im View-Context gehalten und verarbeitet werden. Die UI-Elemente, die über den View Designer für die entsprechende View definiert worden sind, werden in der Regel vom Web-Dynpro-Anwendungsentwickler an die einzelnen View-Context-Elemente gebunden, damit ein Datenfluss zwischen Client und Server stattfinden kann. Es ist jedoch praktisch auch möglich, dass View-Context-Daten ungebunden im View-Context stehen, da z.B. eine ABAP-Dictionary-Struktur verwendet wird, die weitere Attribute enthält, welche nicht visualisiert werden.

Um die Sicherheit zu verbessern, setzen Sie entweder in der Ansicht Eigenschaften die Attribut-Eigenschaft manuell auf readOnly = true, oder löschen Sie diese Attribute. Ein unbefugter Zugriff über den Client auf den View-Context-Inhalt kann beim Server Side Rendering durch verschiedene Sicherheitsmechanismen nicht erfolgen, ist aber (durch Fehler in der Software) nie auszuschließen. Deshalb lautet die oben stehende allgemeine Empfehlung, dass nur diejenigen Daten, deren Änderung unkritisch ist, im View-Context stehen sollten.

Weiterhin ist zu beachten, dass alle Eingaben immer geprüft werden müssen. Web Dynpro bietet bereits eine eingebaute Prüfung auf Typ-Sicherheit. Zusätzlich muss eine Anwendung jedes veränderte Attribut auf seine semantische Korrektheit hin untersuchen und die Eingabe gegebenenfalls ablehnen. Dazu gehören auch Prüfungen auf bestimmte Arten von Attacken, z.B. SQL-Attacken, wenn eine Eingabe später in einem dynamischen SQL-Statement verwendet wird.

Sicherheit beim FileUpload

Siehe Sicherheitshinweise für FileUpload-UI-Elemente

Sicherheit von Attributen von UI-Elementen

Nicht alle Attribute von UI-Elementen müssen gebunden werden. Auch ein konstanter Wert ist erlaubt. Hierbei gilt, dass während des Herausrenderns der Inhalt solcher Attribute "escaped" wird, so dass eine Attacke über diesen Weg unterbunden wird. Eine spezielle Bedeutung kommt hierbei dem Attribut ID eines UI-Elements zu. Dieses wird in Web Dynpro für ABAP in eine Hexadezimalzahl mit einem zufälligen Offset umgewandelt, so dass eine direkte Zuordnung zu einem UI-Element nicht mehr möglich ist (siehe auch Datenbindung von Oberflächenelement-Eigenschaften).

Sicherheit von Events von UI-Elementen

Es können beim SSR-Client nur solche Events über eine JavaScript-Attacke ausgelöst werden, die auch durch eine Nutzer-Interaktion ausgelöst werden können. Dazu wird für jeden ankommenden Event auf dem Server überprüft, ob das zugehörige UI-Element sichtbar und enabled ist. Bestimmte Events sind ebenfalls durch das Attribut readOnly am UI-Element in ihrer Ausführung eingeschränkt. Dies wird in solchen Fällen ebenfalls überprüft.

Sicherheit von URL-Parametern

Eine Anwendung kann eigene URL-Parameter definieren. Der Inhalt dieser Parameter sollte von der Anwendung überprüft werden, um Attacken über diesen Weg zu vermeiden. URL-Parameter, die von Web Dynpro angeboten werden, werden von der Web Dynpro Laufzeit automatisch überprüft.

Berechtigungen

Über das ICF stehen allgemeine Berechtigungsprüfungen für Services und damit Applikationen zur Verfügung (siehe Berechtigungen).

Spezielle Berechtigungsprüfungen für Web-Dynpro-Applikationen werden von der jeweiligen Anwendung je nach Bedarf vergeben.

Einzig für die Personalisierung wird vom Web Dynpro ABAP eine Berechtigungsprüfung angeboten, mit der die Administrations-Berechtigung für das Personalisieren von UI-Elementen abgeprüft wird.

Anwendungs-Abmeldeseite

Sie können eine eigene Abmeldeseite für Ihre Web-Dynpro-Applikation verwenden: Anwendungs-Abmeldeseite

Anwendungsfehlerseiten

Sie können die vom ICF generierte Standard-Fehlerseite unterdrücken und stattdessen eine eigene Fehlerseite definieren: Anwendungs-Fehlerseite

Sicherheitsrisiko-Liste

Eine White-List Infrastruktur im HTTP-Framework ermöglicht das Abwehren von XSS-Angriffen: Sicherheitsrisiko-Liste

Die White-List ist auch bei der Web-Dynpro-ABAP-Portal-Integration relevant, z.B. wird bei einem WDA-iView die Portal-Stylesheet-URL an Web Dynpro ABAP per URL-Parameter übergeben.

Deshalb müssen Sie, wenn Sie die Portal-Integration verwenden, die URL des Portals in die White-List eintragen.

Für die Verwendung der UI-Elemente AcfExecute und AcfUpDownload ist aus Sicherheitsgründen ebenfalls eine White-List notwendig. Weitere Informationen finden Sie in der Dokumentation dieser beiden UI-Elemente und im Implementation Guide (IMG) im System.

Sicherheit bei der Portal-Integration

Aus Sicherheitsgründen empfehlen wir bei der Portal-Integration die Verwendung von SAP-Anmeldetickets bzw. X.509-Zertifikaten. Andere Anmeldeverfahren werden nicht vollständig unterstützt.

Hinweise

Relevante SAP-Hinweise

Hinweisnummer

Titel

1088717

Aktive Services für Web Dynpro ABAP in der SICF

510007

Einrichten von SSL auf dem Web Application Server

420085

Logon Ticket Cache

853878

HTTP WhiteList Check (Sicherheit)