Einführung in SAP ICF Services: Konzepte und allgemeine Überlegungen

Zuletzt aktualisiert: 5.1 .2026
Das Internet Communication Framework (ICF) ist eine integrierte Komponente des SAP-Anwendungsservers, die als Schnittstelle zwischen dem Internet Communication Manager (ICM) und HTTP-fähigen ABAP-Anwendungen fungiert. Während der ICM die physische Verbindung zum Internet verwaltet, dient das ICF als logischer Einstiegspunkt für die Bearbeitung von Anfragen und wird über die Transaktion SICF konfiguriert.
Da jeder aktive ICF-Dienst eine potenzielle Angriffsfläche darstellt, ist die Verwaltung dieser Ebene ein wesentlicher Bestandteil der SAP-Sicherheit. Eine unsachgemäße Konfiguration kann unbefugten Zugriff auf sensible Daten oder Funktionen direkt über das Web ermöglichen.
Zugehörige SAP-Tabellen
Es gibt zwei SAP-Tabellen, die sich auf ICF-Services beziehen. Die erste ist „ICFSERVICE“ und enthält zwei Hauptspalten: eine für den Namen des ICF-Services und eine weitere für dessen übergeordneten Service (weitere Informationen zu übergeordneten ICF-Services finden Sie im folgenden Absatz). Die zweite ist „ICFSERVLOC“, die dieselben Hauptspalten wie die vorherige Tabelle enthält sowie eine zusätzliche Spalte, die angibt, ob ein Service aktiv ist oder nicht.
Was ist der ICF-Baum?
In transaction SICF you can see an ICF tree. There, it can be assumed that each ICF service has a parent and respects a hierarchy. When you create one, its location in the tree determines the path from which you can access it from a web browser. For example, for ICF service ITMVC2, the path is /sap/bc/bsp/sap/itmvc2 and the URL to use that service is <HOST>:<ICM_PORT>/sap/bc/bsp/sap/itmvc2. Of course, that node must be active to allow calls to that URL.
Der ICF-Baum wird auf der Grundlage der Informationen aus den beiden zuvor genannten Tabellen erstellt. Es ist wichtig zu betonen, dass einige ICF-Dienste zwar denselben Namen haben können, ihre übergeordneten Knoten jedoch nicht identisch sind. Daher lässt sich feststellen, dass der ICF-Baum bei seiner Erstellung beide Hauptspalten (Name und ID des übergeordneten Knotens) heranzieht, um sicherzustellen, welcher Dienst aktiv ist. Als Beispiel siehe die folgende Abbildung, die zwei Dienste mit demselben Namen zeigt, die jedoch unter verschiedenen übergeordneten Knoten stehen:

Welche Dienste sollten deaktiviert werden?
Bei der Bereitstellung eines SAP AS ABAP stehen alle ICF-Dienste zur Verfügung, allerdings in einem inaktiven Zustand. Durch die Deaktivierung aller Dienste wird die Angriffsfläche verringert. Anschließend sollte jeder SAP-Kunde entscheiden, welche Dienste er aktivieren möchte.
Um festzustellen, ob ICF-Dienste aktiv sind oder nicht, bietet die Platform mehrere Schwachstellenanalysen an, mit denen diese Dienste überprüft werden können. Außerdem gibt es eine Schwachstellenanalyse, mit der die Liste aller aktivierten ICF-Dienste abgerufen werden kann.
Sicherheitsrisiken bei ICF
Jeder aktive ICF-Dienst kann potenziell ein Sicherheitsrisiko darstellen. Er ist über das HTTP-Protokoll direkt aus dem Internet erreichbar. Es dürfen nur die erforderlichen ICF-Dienste aktiv sein, und zwar ausschließlich für bestimmte Benutzer mit eingeschränkten Berechtigungen.
Seien Sie vorsichtig bei Diensten, die keine Authentifizierung erfordern, da alle diese Dienste überprüft werden müssen, einschließlich solcher, bei denen Anmeldedaten gespeichert sind. Bei Onapsis bieten wir auch eine Schwachstellenanalyse an, um zu prüfen, ob ICF-Dienste mit gespeicherten Anmeldedaten vorhanden sind. Kontaktieren Sie uns noch heute für weitere Informationen.

Das Berechtigungsobjekt, mit dem Sie eine URL eines ICF-Dienstes aufrufen können, lautet S_ICF; daher sollten Rollen oder Profile, die dieses Objekt enthalten, nur Benutzern zugewiesen werden, die es benötigen.
ICF-Dienste im Vergleich zur SAP-Sicherheits Baseline
Baseline SAP Baseline ein Dokument, in dem alle Sicherheitseinstellungen aufgeführt sind, die wir in unseren SAP-Systemen vornehmen sollten, um die Sicherheit zu gewährleisten.
In Bezug auf die ICF-Dienstleistungen enthält er alle Punkte, die wir bereits in diesem Blog angesprochen haben, sowie die folgenden zwei zusätzlichen Punkte:
- Überprüfen Sie die ICF-Dienste, für die keine Authentifizierung erforderlich ist, und verwenden Sie den Report RSICFCHK
- Wie in mehreren SAP-Sicherheitshinweisen (#626073, #1394100, #1417568, #1422273, #1487606), sollten die folgenden Dienste deaktiviert werden:
- /sap/bc/echo
- /sap/bc/FormToRfc
- /sap/bc/report
- /sap/bc/xrfc
- /sap/bc/xrfc_test
- /sap/bc/error
- /sap/bc/webrfc
- /sap/bc/soap/rfc
- /sap/bc/bsp/sap/certreq
- /sap/bc/bsp/sap/certmap
- /sap/bc/gui/sap/its/CERTREQ
- /sap/bc/gui/sap/its/CERTMAP
- /sap/bc/bsp/sap/bsp_veri
- /sap/bc/bsp/sap/icf
- /sap/bc/IDoc_XML
- /sap/bc/srt/IDoc
Unstimmigkeiten im ICF-Baum und wie man sie behebt
Wenn ein Knoten eines ICF-Dienstes im SICF-Baum angelegt oder gelöscht wird, sollte er im Quellsystem geändert und anschließend in alle Systeme derselben Landschaft transportiert werden. Dadurch bleibt die Konsistenz in der ICF-Diensthierarchie gewahrt.
Zu den Maßnahmen, die vermieden werden sollten, um Inkonsistenzen zu verhindern, gehören beispielsweise der Transport eines Knotens von außerhalb der Landschaft oder das manuelle Anlegen eines ICF-Knotens in einem System, das nicht das Quellsystem ist. Solche Maßnahmen könnten zu Inkonsistenzen in der ICF-Struktur führen, was wiederum Fehlfunktionen der Transaktion SICF, unerwartetes Verhalten eines ICF-Dienstes oder sogar das Fehlen eines ICF-Dienstes zur Folge haben könnte. Das folgende Beispiel zeigt ein beschädigtes System, in dem die Tabelle ICFSERVLOC einen zusätzlichen Eintrag für einen ICF-Service namens „ICF“ enthält, dessen Node Parent ID „0N4PS1S4RGLHN7IW9R54I61RZ“ lautet. Dies führt zu Inkonsistenzen im ICF-Baum, da die beiden Haupttabellen eine unterschiedliche Anzahl von Einträgen aufweisen:


Falls Sie auf Unstimmigkeiten prüfen müssen, stellt SAP einen Bericht namens ICFTREE_CONSISTENCY zur Verfügung. Um die gefundenen Unstimmigkeiten anschließend zu beheben, ordnet der Funktionsbaustein REPAIR_HTTPTREE die „verlorenen Knoten“ neu an und löscht die Dienste, die nicht in den beiden zuvor in diesem Blog erwähnten Tabellen aufgeführt sind. Sollten Sie einen der gelöschten Dienste in diesem System benötigen, sollten Sie ihn erneut aus dem Quellsystem transportieren.
Fazit
Wir bei Onapsis haben es uns zur Aufgabe gemacht, unseren Kunden die besten Empfehlungen und Lösungen für die Sicherheit ihrer SAP-Systeme zu bieten. Die richtige Nutzung der ICF-Dienste ist wichtig, um Inkonsistenzen zu vermeiden, und gewährleistet die Integrität der betroffenen Tabellen. Wie bereits erwähnt, betont SAP nicht nur in seiner Security Baseline, sondern auch in entsprechenden Sicherheitshinweisen, wie wichtig die Pflege dieser Dienste ist.
Erfahren Sie mehr darüber, wie die PlatformIhre geschäftskritischen Anwendungen schützen kann.
Häufig gestellte Fragen (FAQs)
Was ist der Unterschied zwischen ICM und ICF in SAP?
Der Internet Communication Manager (ICM) kommuniziert über HTTP-/HTTPS-Protokolle direkt mit dem Internet. Das Internet Communication Framework (ICF) befindet sich zwischen dem ICM und dem ABAP-Stack und fungiert als Verarbeitungsschicht (oder Einstiegspunkt) für diese HTTP-Anfragen an die ABAP-Anwendungen. Welche SAP-Transaktion wird zur Verwaltung der ICF-Dienste verwendet?
Transaktion SICF dient zum Anlegen, Konfigurieren sowie Aktivieren und Deaktivieren von ICF-Diensten. In dieser Transaktion sind die Dienste in einer hierarchischen Baumstruktur angeordnet, wobei der Pfad im Baum die URL bestimmt, über die auf den Dienst zugegriffen wird (z. B. /sap/bc/bsp/).
Welche ICF-Dienste sollten aus Sicherheitsgründen deaktiviert werden?
Grundsätzlich sollten alle ICF-Dienste deaktiviert bleiben, sofern sie nicht ausdrücklich für den Geschäftsbetrieb erforderlich sind, um die Angriffsfläche zu verringern. Zu den Diensten, deren Deaktivierung häufig empfohlen wird, gehören Test- und Demoknoten wie /sap/bc/echo, /sap/bc/xrfc, /sap/bc/errorund /sap/bc/soap/rfc. Regelmäßig Schwachstellenanalysen kann dabei helfen, aktivierte Dienste zu identifizieren, die geschlossen werden sollten.
Wie kann ich den ICF-Baum auf Unstimmigkeiten überprüfen?
Unstimmigkeiten zwischen den ICF-Tabellen (ICFSERVICE und ICFSERVLOC) können durch fehlerhafte Transporte oder die manuelle Erstellung von Knoten entstehen. SAP stellt den Bericht zur Verfügung ICFTREE_CONSISTENCY um nach diesen Fehlern zu suchen. Um sie zu beheben, können Administratoren den Funktionsbaustein verwenden REPAIR_HTTPTREE um fehlende Knoten neu anzuordnen oder ungültige Einträge zu löschen.
Welche Risiken bergen aktive ICF-Dienste?
Auf aktive ICF-Dienste kann direkt über das Internet per HTTP zugegriffen werden. Wenn Dienste keine Authentifizierung erfordern (anonyme Anmeldung) oder gespeicherte Anmeldedaten enthalten, können sie von Angreifern ausgenutzt werden, um Authentifizierungskontrollen zu umgehen. Diese Konfigurationen sollten regelmäßig im Rahmen Ihres SAP-Schwachstellenmanagement .
