SAP RFC-Schnittstellen
Eine RFC-Schnittstellen bezeichnet die Freigabe eines ABAP-Funktionsbausteins über das SAP-eigene Protokoll RFC. Dies ermöglicht die Kommunikation sowohl innerhalb von SAP-Systemen als auch zwischen SAP- und Nicht-SAP-Systemen. Bibliotheken für die Nutzung des RFC-Protokolls stehen auf praktisch allen Plattformen zur Verfügung. RFC-Schnittstellen sind beliebte Einfallstore für Cyberangriffe und gehören zu den häufig unterschätzen IT-Sicherheitsrisiken.
Funktionsweise von RFC Schnittstellen
Im SAP-System lassen sich zwei Arten von RFC-Schnittstellen unterscheiden. Das erste ist für den Datenaustausch mit ABAP-Programmen entwickelt, die zweite für die Kommunikation außerhalb des SAP-System.
Aufruf innerhalb von ABAP
Möchte ein ABAP Programm einen Funktionsbaustein auf einem entfernten SAP System ansprechen (um Daten zu senden oder zu empfangen), kann der entfernte Funktionsbaustein über die systemweit definierte RFC-Verbindung genutzt werden. So als wäre es eine lokale Funktion auf dem eigenen System. Der Aufrufer kann jedes beliebige ABAP-Programm sein, während das gerufene Programm ein RFC-fähiger Funktionsbaustein sein muss.
RFC-Verbindungen zwischen ABAP-basierten Systemen werden üblicherweise im System über die Transaktion SM59 gepflegt. Sie stellen ähnlich wie bei VPN-Tunnel fest vorgegebene Datenverbindung zu anderen Systemen dar.
SAP nutzt übrigens für die Nebenläufigkeit auch im Standard und auch nur mit einem System sehr viele Funktionsbausteine über RFC, der Aufruf erfolgt dann als lokaler RFC-Aufruf.
Aufruf von Nicht-ABAP-Programmen
Ist entweder der Aufrufer oder der aufgerufene Partner ein Nicht-SAP-Programm, muss dies so programmiert werden, dass es den anderen Partner in einer RFC-Kommunikation darstellen kann. So kann auf jedem Rechner mit installierter SAP GUI zugleich auch RFC verwendet werden, da die entsprechenden Programmbibliothek (librfc32.dll) gleich mitgeliefert wird.
RFC-Schnittstellen können von externen Programmen benutzt werden, um Funktionsbausteine in SAP-Systemen aufzurufen und in diesen Systemen auszuführen. Umgekehrt können auch ABAP-Programme die von externen Programmen bereitgestellten Funktionen über diese Schnittstellen nutzen. Die RFC-Kommunikation ist dabei sehr flexibel und leistungsfähig, da nicht unbedingt eine Programmierumgebung aufgesetzt werden muss. Eine Variante ist die Registrierung als entfernter Server, hier wird das Prinzip umgedreht: das System „lernt“ einen neuen Befehl, der zur Laufzeit dann aber auf dem entfernten System ausgeführt wird
Ein Beispiel für die Verbindung von Non-SAP und SAP ist zum Beispiel die direkte Anbindung von Zeiterfassungsterminals, die Meldungen direkt an SAP über RFC-Schnittstelle liefern.
Optimierung von RFC Schnittstellen Berechtigungen
Um die Sicherheit von RFC-Schnittstellen zu optimieren, stehen zwei unterschiedliche Ansätze zur Verfügung. Der klassische Ansatz spiegelt die derzeitige Standardvorgehensweise in vielen Unternehmen wider.
Klassischer Ansatz zur Optimierung von Schnittstellen Berechtigungen
Der Klassische Ansatz hat den Vorteil, dass kein Spezialwissen benötigt wird, da nur Standardwerkzeuge benutzt werden. Dieser Ansatz ist besonders für unkritische Schnittstellen und Schnittstellenbenutzer geeignet.
Schritt 1: Analyse der Schnittstellen
Im ersten Schritt wird eine Analyse der aktuellen Schnittstellen und eingesetzten User durchgeführt. Dabei sind einige Aspekte zu beachten:
- Wie viele Schnittstellenbenutzter sind aktuell im SAP-System vorhanden?
- Wie viele Schnittstellenbenutzer sind nach der Bereinigung erforderlich sind? Werden Benutzer im SAP für mehrere Schnittstellen verwendet, stellt dies ein Sicherheitsrisiko dar und schränkt die Flexibilität unnötig ein. Zudem steigen die Kosten für die Wartung.
Ein weiterer wichtiger Aspekt ist die Überprüfung, ob möglicherweise Dokumentation zur Hardware vorhanden ist, auf die vorab zugegriffen werden kann. Ebenso sollte beachtet werden, in welchem Intervall die Schnittstelle letztendlich genutzt wird und in welcher Reihenfolge die Schnittstellenbenutzer bereinigt werden sollen.
Als ein letzter wichtiger Aspekt zählt die Risikobewertung. An dieser Stelle sollte mit in Betracht gezogen werden, welche Folgen ein Ausfall der Schnittstelle für das jeweilige Unternehmen hätte.
Schritt 2: Benutzerkopien einrichten
Im zweiten Schritt werden die Benutzerkopien eingerichtet. Das verringert einerseits die Gefahr eines Ausfalls und ermöglicht andererseits die Zahl an Berechtigungen überhaupt sinnvoll zu reduzieren. Am Ende sollte jede Schnittstelle einen dedizierten System-Benutzer haben. Dieser hat jedoch immer noch die alten weitreichenden Rechte.
Schritt 3: Statistische Auswertung und Bildung von Traces
In einem dritten Schritt werden die Statistikdaten der Benutzer ausgewertet und Traces für die Schnittstellenaktivitäten gebildet.
Schritt 4: Rollenentwicklung
Im nächsten Schritt werden die Rollen auf Basis der Statistikdaten und Trace-Ergebnisse aufgebaut. Zudem sollten die Quellcodes der Funktionsbausteine auf weitere Authority Checks geprüft werden.
Schritt 5: Testing
Jetzt werden die neuen Berechtigungen getestet, indem diese den Schnittstellenbenutzern zugewiesen werden. Dabei sollte unbedingt in vorgelagerten Systemen getestet werden, um Produktionsausfälle zu vermeiden. Erfahrungsgemäß muss dieser Schritt mehrfach wiederholt werden, um eine zufriedenstellende Qualität des Ergebnisses sicherzustellen.
Schritt 6: Go-Live
Wenn eine zufriedenstellende Qualität der Schnittstellenberechtigungen erreicht wurde, kann im sechsten und letzten Schritt der Go-Live veranlasst werden. Neue Berechtigungen können dann in den Produktivbetrieb überführt werden. Um Berechtigungsfehler festzustellen, empfiehlt es sich auf die System Dumps einen Alert zu setzen.
Bewertung
Der Klassische Ansatz ist nicht für kritische Schnittstellen zu empfehlen, da viele Testphasen benötigt werden, bis die Qualität der Schnittstellen annähernd 100 Prozent erreicht. Teilweise kommt es auch nach Monaten noch zu Problem, wodurch der Produktivbetrieb beeinträchtigt wird. Der klassische Ansatz ist damit kostspielig ohne die bestmöglichen Ergebnisse zu erreichen.
Alternative Optionen erfahren Sie in unserem Webinar:
Webinar: Bereinigung von SAP RFC Schnittstellen-Berechtigungen
FAQ zu SAP Schnittstellen
Was sind SAP RFC-Schnittstellen?
Eine RFC-Schnittstellen bezeichnet die Freigabe eines ABAP-Funktionsbausteins über das SAP-eigene Protokoll RFC. Dies ermöglicht die Kommunikation sowohl innerhalb von SAP-Systemen als auch zwischen SAP- und Nicht-SAP-Systemen.
Welche Arten von SAP RFC-Schnittstellen gibt es?
Im SAP-System lassen sich zwei Arten von RFC-Schnittstellen unterscheiden. Das erste ist für den Datenaustausch mit ABAP-Programmen entwickelt, die zweite für die Kommunikation außerhalb des SAP-System.
Wie lassen sich SAP RCF-Schnittstellen optimieren?
Der klassische Ansatz zur Optimierung läuft in fünf Schritten ab: 1. Analyse der Schnittstellen, 2. Benutzerkopien einrichten, 3. Statistische Auswertung und Bildung von Traces, 4. Rollenentwicklung, 5. Testing und 6. Go-Live. Der Klassische Ansatz ist nicht für kritische Schnittstellen zu empfehlen, da viele Testphasen benötigt werden, bis die Qualität der Schnittstellen annähernd 100 Prozent erreicht.
Weitere Informationen
KnowHow SAP RFC (Remote Function Call)
2 Kommentare zu "SAP RFC-Schnittstellen"
Dieser Text könnte ja auf so ziemlich alles passen. Etwas Konkretes erfährt man jedenfalls nicht. 🙁
Hallo.
Tut mir leid, dass nicht das dabei war, was Sie gesucht haben. Welche Frage ist denn offen geblieben?
Mit freundlichen Grüßen,
Tobias Harmes