Web Dynpro ABAP Security Guide 
Bei der Erstellung von Web-Anwendungen anhand des Web Dynpro ABAP Programmiermodells ist es wichtig, Sicherheitsaspekte zu berücksichtigen. Sowohl für die Erstellung von Web-Anwendungen als auch für den laufenden Betrieb dieser Anwendungen stehen Sicherheitsfunktionen zur Verfügung.
Die grundlegenden Informationen über Sicherheitsaspekte in einem AS-ABAP-System, in dem Sie Ihre Web-Dynpro-Anwendung erstellen, finden Sie hier:
Sicherheit beim AS-ABAP
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.
Von SAP werden bestimmte Viren-Scan-Profile standardmäßig ausgeliefert. Beim HTTP Upload ist ein Virenscan möglich.
Weitere Informationen: Viren-Scan-Schnittstelle).
Wenn Probleme mit fehlenden Zertifikaten bei Web-Dynpro-ABAP-Anwendungen auftauchen, beachten Sie die Aspekte bei dem Aufbau von Vertrauensbeziehungen für serverseitige Authentifizierung.
Weitere Informationen: SSL-Szenario 1: Vertrauensbeziehung für serverseitige Authentifizierung.
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:Aktive Services in der SICF.
Sicherheit von Ereignissen von UI-Elementen
Es können beim SSR-Client nur solche Ereignisse über eine JavaScript-Attacke ausgelöst werden, die auch durch eine Nutzer-Interaktion ausgelöst werden können. Dazu wird für jedes ankommende Ereiegnis auf dem Server überprüft, ob das zugehörige UI-Element sichtbar und enabled ist. Bestimmte Ereignisse 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.
Anmelden an Web-Anwendungen
Der AS-ABAP nutzt für den Zugriff auf eine Web-Anwendung das HTTP-Framework des Internet Communication Manager (ICF), der seinerseits Funktionen für die Anmeldung am AS-ABAP bietet.
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.
Zusätzlich steht ein einfaches Verfahren für die Entwicklung und Konfiguration der Systemanmeldung bei Web-Anwendungen zur Verfügung, bei dem die Sicherheitsaspekte integriert sind.
Berechtigungen
Über das ICF stehen allgemeine Berechtigungsprüfungen für Services und damit Anwendungen zur Verfügung
Weitere Informationen: Berechtigungen). Spezielle Berechtigungsprüfungen für Web-Dynpro-Anwendungen werden von der jeweiligen Anwendung je nach Bedarf vergeben.
Für das Starten von Web-Dynpro-ABAP-Anwendungen gibt es eine eigene Berechtigungsprüfungen.
Für die Personalisierung wird von 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-Anwendung verwenden: Anwendungs-Abmeldeseite
SAP Trust Center Service
Kunden können den SAP Trust Center Service nutzen, um sich SAP Passports ausstellen zu lassen. Hierbei fungiert das Kunden-ABAP-System als Registration Authority (RA) - und SAP betreibt die Certification Authority (CA).
Hinweis
Beachten Sie dabei, dass die Benutzer beim Kunden sich zuerst (einmalig) browser-basiert und per Kennwort am ABAP-System anmelden müssen, um dann die SAP Passports anfordern zu können. Sobald diese angrfordert wurden, können sie vom Browser verwendet werden - vorausgesetzt, dass eine HTTPS-URL verwendet wird. In diesem Fall erfolgt die browser-basierte Anmeldung dann vollautomatisch (unter Verwendung des SAP Passports bzw. von X.509-Zertifikaten, unabhängig davon, ob man den Browser direkt aufruft, auf eine HTTPS-URL in einer Mail klickt oder aber der Bex Analyzer diese URL feuert.
Weitere Informationen über die SAP Trust Center Services für SAP Passports finden Sie unter http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000437021&SCENARIO=01100035870000000202&.
Vor SAP NetWeaver 7.0 SP6 konnte eine Web-Dynpro-Anwendung nicht isoliert in einer Umgebung (z.B. dem SAP NetWeaver 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 Anwendung zugreifen.
Damit dies nicht geschieht, kann mit dem Anwendungsparameter WDPROTECTEDAPPLICATION auf dem Server für eine Anwendung 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 Anwendungen 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.
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.
Sie können die vom ICF generierte Standard-Fehlerseite unterdrücken und statt dessen eine eigene Fehlerseite definieren: Anwendungs-Fehlerseite
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.
Siehe URL-Generierung in einer AS-ABAP - Web Dispatcher Konfiguration
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.
Das Enterprise Portal kann Informationen über das zu verwendende Stylesheet über URL-Parameter an die Web Dynpro ABAP Anwendung geben. Es ist auch möglich, nicht nur komplette Stylesheets sondern auch Stylesheet-Namen über URL-Parameter an die Anwendung zu geben. Weitere Informationen hierzu finden Sie unter Sicherheitsrisiko-Liste.
Um die Verwendung externer Stylesheet-Informationen zu verhindern, so dass eine Steuerung von außen nicht möglich ist, können Sie den Web Dynpro ABAP Anwendungsparameter WDUSEEXTERNALSTYLESHEET auf den Wert OFF setzen.
Weitere Informationen hierzu finden Sie unter Applikationsparameter und URL-Parameter.
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) |