Im dem fünften Teil der Serie „Howto SAP Security“ (Gateway , Netzwerk, Datenbank, RFC ) ist das Thema der Internet Communication Manager (ICM).
Internet Communication Manager (ICM)
Der ICM nimmt Anfragen über das HTTP(s) Protokoll entgegen. Insbesondere Aufrufe aus dem Internet an das SAP-System lassen sich so seit geraumer Zeit realisieren. Diese Aufrufe gibt der ICM je nach Architektur an den JAVA oder ABAP Dispatcher zur Verarbeitung weiter. Dies ist auf dem folgenden Schaubild zu erkennen:
ICM Dienste
Der ICM bietet eine Vielzahl an Diensten. Teils wird allein bei den kritischen Diensten von einer Gesamtzahl von ca. 1500 berichtet.
Die meisten ICM-Dienste erfordern eine Authentifizierung und bieten so zumindest einen gewissen Grundschutz. Allerdings ist es wichtig zu wissen, dass jeder registrierte Benutzer im System Zugriff auf diese Dienste erhält. Weiterhin sind im Standard keine weiteren Berechtigungsprüfungen an diese Dienste gebunden. Daher kann jeder Benutzer jeden Dienst ausführen (solange im Code keine weiteren Berechtigungsprüfungen explizit enthalten sind).
Anonyme Dienste
Ca. 40 Dienste lassen sich sogar ganz anonym aufrufen – teils mit nachgeschalteter Authentifizierung. Daher besteht in der Standardkonfiguration die Gefahr von unerwünschten Zugriffen.
Exemplarisch sind hier einige genannt, die bereits eine gewisse Historie besitzen:
URI | Funktion |
---|---|
/sap/bc/gui/sap/its/webui | Anmeldung zur WebGUI |
/sap/bw/Bex | Erlaubt das Lesen von Infoobjekten |
/sap/bc/soap/rfc | Ausführung von Remote RFC Bausteinen |
/sap/public/icf_info/icr_groups | Anzeige der Installierten Komponenten |
/sap/public/info | Anzeige von Systeminformationen |
/sap/bc/bsp/sap/htmlb_samples | verwundbare“ Test Anwendung |
/sap/bc/srt/xip/sap | Zugriff auf XI Funktionen |
Ein solcher Aufruf ist einfach im Browser zu realisieren:
Aufruf von RFC Funktionen
RFC Funktionsbausteine bilden grob die Möglichkeiten eines Benutzers in der SAP GUI als eine Art technische API für Programme ab. Der Service /sap/bc/soap/rfc erlaubt das Ausführen von RFC Funktionsbausteinen und ist anonym erreichbar. Allerdings benötigen die RFCs zur Ausführung einen gültigen Benutzer, der mindestens die Berechtigung S_RFC für die Gruppe des aufzurufenden RFC Funktionsbausteins besitzt. Ebenso benötigt der Benutzer die Berechtigungen, die innerhalb des RFC Funktionsbausteins abgefragt werden.
Jedoch besitzen viele RFC Funktionsbausteine keine zusätzlichen Berechtigungsprüfungen. Erschwerend kommt hinzu, dass einige Standardbenutzer bereits die Berechtigung zur Ausführung von kritischen RFC Funktionen besitzen :
Benutzer | Passwort | Mandant |
---|---|---|
SAP* | '06071992' oder 'PASS' | 000,001,066, Kundenmandanten |
DDIC | '19920706' | 000, 001, Kundenmandanten |
TMSADM | 'PASSWORD' oder '$1Pawd2&' | 000 |
SAPCPIC | 'ADMIN' | 000,001 |
EARLYWATCH | SUPPORT | 066 |
Mit einem dieser Benutzer könnte ein Angreifer den genannten Dienst nutzen, um kritische RFC Funktionen im System auszuführen. Es müssen jedoch die Standardbenutzer im System vorhanden sein.
Schutzmaßnahmen
Neuere SAP-Systeme besitzen von Haus aus Sicherheitsoptimierungen und verbesserte Einstellungen. Zusätzlich helfen einige Konfigurationsoptionen den ICM weiter zu härten.
Zuerst sei die SAP Note 1329326 erwähnt. Diese enthält eine Anleitung wie man eigene Header für den ICM hinterlegen kann. Damit lässt sich beispielsweise ein Informationsabfluss über Fehlerseiten verhindern.
Eine weiterer Hinweis ist die SAP Note 747818 . Auch hier wird die Preisgabe von Versionsinformationen unterbunden.
Weiterhin ist die SAP Note 1498575 zu nennen. Diese beschreibt wie nicht notwendige Dienste zu deaktivieren sind.
Zusätzlich sollten Sie ICF Authorizations für die aktiven Services aktivieren .
Letztlich sind noch die Zugangsdaten der Standardbenutzer zu ändern.