Tobias Koch
 - 8. Oktober 2018

RFC-Callback Positivliste generieren

Individueller SAP Security Check Die RFC-Callback Funktion kann in einigen Fällen sehr nützlich sein, bietet jedoch auch ein großes Risikopotential, wenn es ohne Einschränkung zur Verfügung steht. Um das Risiko eines Angriffs zu minimieren, bietet SAP die Erstellung von Whitelists, bzw. im "SAP-Sprech" die Positivlisten an. Im folgenden erkläre ich Ihnen, wie Sie diese konfigurieren und aktivieren können.

RFC-Callback – Was ist das überhaupt?

Mittels dem Funktionsaufruf „CALL FUNCTION <function> DESTINATION „BACK“> ist es möglich, aus einem System A eine Funktion auf dem via RFC rufendem System B auszuführen. Das Problem bei dieser Methodik ist, dass dabei die Rechte des aufrufenden Users aus dem System B verwendet werden und somit weitgehende Rechte misbraucht werden können.

Das lässt sich am besten an einem gern genommenen Beispiel erklären: Aus dem Produktionssystem P wird mittels RFC ein Funktionsbaustein im Entwicklungssystem E aufgerufen.
Ein Angreifer ergänzt den Code der Standardfunktion RFC_PING auf dem E-System um einen „BACK“-Aufruf, der auf dem rufenden System einen User mit kritischen Rechten anlegt. Wenn er nun einen priviligierten Administrator darum bittet, vom P-System einen Verbindungstest per SM59 auszuführen, um einen Funktionsbaustein zu testen, wird automatisch die manipulierte BACK-Funktion aufgerufen. Auf dem P-System steht nun dem Angreifer ein eigener User mit kritischen Berechtigungen zur Verfügung. Der Administrator hat davon jedoch nichts mitbekommen.

Callback Aufrufe mittels rfc/callback_security_method kontrollieren

Um dieses Risiko zu minimieren, bietet SAP mittels des Systemparameters rfc/callback_security_method die Möglichkeit, die Callback-Aufrufe zu protokollieren und einzuschränken. Dazu gibt es 4 verschiedene Einstellungsmöglichkeiten:

  • rfc/callback_security_method = 0 -> Es sind sämtliche Callback-Aufrufe erlaubt
  • rfc/callback_security_method = 1 (Default) -> Es sind sämtliche Callback-Aufrufe erlaubt, außer diese, die aktiv in einer Whitelist blockiert werden
  • rfc/callback_security_method = 2 -> Simulationsmodus. Im Security Audit Log (SAL) wird protokolliert, ob die Aufrufe bei aktivierten Whitelists aktzeptiert oder abgelehnt worden wären
  • rfc/callback_security_method = 3 -> Es sind nur noch die Callback-Aufrufe erlaubt, die in der Whitelist erlaubt werden

Damit die Protokollierung im Simulationsmodus auch stattfinden kann, muss das Security Audit Log auch aktiviert sein. Wie Sie das erledigen, können Sie aus diesem Beitrag entnehmen.
Der derzeitige Status des Parameters lässt sich auch in der SM59 bildlich anzeigen. Ist oberhalb der RFC-Verbindungen die Ampel auf rot, dann ist der Parameter auf dem Wert 0 oder 1. Bei gelben Anzeiger befindet sich das System in der Simulationsphase (2) und bei grünem Anzeiger befindet sich der Parameter auf 3 und die Callbacks werden blockiert.

 

Callback Ampel mit rotem Status

Die Ampel zeigt einen roten Status, wenn sich der Parameter auf dem Wert 1 oder 0 befindet.

Protokollierte Aufrufe ansehen

Es empfiehlt sich vor dem Blockieren aller Nicht-Whitelist einträge (Parameterwert 3) die eigentlichen Aufrufe zu protokollieren. Wenn Sie den rfc/callback_security_method Parameter auf 2 gestellt und damit den Simulationsmodus gewählt haben, können Sie alle Callback Aufrufe in der SM20 nachvollziehen. Dazu müssen Sie über Detailauswahl unter der Auditklasse „RFC Funktionsaufruf“ die folgenden 3 Optionen anhaken:

  • RFC-Callback ausgeführt (Destination &A, Gerufen &B, Callback &C)
  • RFC-Callback abgewiesen  (Destination &A, Gerufen &B, Callback &C)
  • RFC-Callback im Simulations-Modus (Destination &A, Gerufen &B, Callback &C)

Abschließend sehen Sie eine Übersicht zu allen aufgerufenen Callbacks.

Positivliste generieren und aktivieren

Nach einer gewissen Laufzeit im Simulationsmodus bietet SAP die Möglichkeit, über die SM59 eine Whitelist / Positivliste zu generieren. Dazu die SM59 öffnen und den Button „RFC-Callback-Positilisten generieren“ auswählen. Im nächsten Dialog den gewünschten Zeitraum einstellen. Falls Sie das Feld leer lassen, werden sämtliche Einträge ohne zeitliche Beschränkung durchsucht. Im nächsten Dialog bietet SAP eine Übersicht über alle gefundenen Aufrufe. Unerwünschte Callback-Aufrufe können hier aussortiert werden. Die Positivliste kann anschließend über “Positivlisten-Generierung und Aktivieren” generiert und aktiviert werden.

Um sich die aktuellen Einträge der Positivliste einzusehen, rufen Sie in der SE16 die Tabelle RFCCBWHITELIST auf. Dort sind alle Einträge gelistet. Um zu sehen, welche Verbindungen auch aktiv sind, reicht ein Blick in die Tabelle RFCCBWHITELIST_A.

Parameter scharf schalten

Ist die globale Positivliste zu Ihrer Zufriedenheit gepflegt, können Sie den Parameter auf 3 setzen.
Es können dabei auch separate Callback-Positivlisten pro Verbindung gepflegt werden. Dazu die Verbindung auswählen und im Tab Anmeldung und Sicherheit die Positivliste pflegen.

Tobias Harmes
Wir helfen Ihnen, die IT-Sicherheit zu verbessern
Fachbereichsleiter Tobias Harmes

Für Rat und Hilfe bei der Entwicklung Ihrer IT-Sicherheitsstrategie bieten wir Ihnen unsere kompetenten Berater an: Security-Berater von RZ10 buchen.
Unsere Referenzen finden Sie hier.
Kontaktieren Sie mich: Telefon 0211.9462 8572-25 oder per E-Mail info@rz10.de.
In einem unverbindlichen Gespräch kann ich mit Ihnen über Ihre Ausgangslage sprechen und Ihnen Möglichkeiten aufzeigen. Selbstverständlich können wir danach auch ein unverbindliches Angebot unterbreiten.


 

Tobias Koch

Ich bin Tobias Koch und arbeite als SAP-Consultant bei mindsquare. SAP Basis und Berechtigungen sind mein Spezialgebiet.

Sie haben Fragen? Kontaktieren Sie mich!

Kostenloses E-Book zum Thema SAP GRC als Download:

Kostenloses E-Book zum Thema SAP RFC-Schnittstellen als Download:

Jetzt das kostenlose E-Book mit ausgewählten Fachartikeln herunterladen:





Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support