Neben den vielen Neuerungen in den SAP S/4HANA®-Releases werden auch die Basis-Funktionen im SAP NetWeaver® ständig erweitert. In diesem Artikel zeigen wir Ihnen sicherheitsrelevante Neuerungen auf.

Tabellenänderungen im Notfall – Die Transaktion SE16N_EMERGENCY

In Notfälle kann es erforderlich sein, Änderungen an Tabellen direkt im Produktivsystem durchzuführen. Auch an Tabellen, die eigentlich nicht manuell änderbar sind. Bisher musste in dem Fall die Debug-Berechtigung mit Replace zugeordnet werden, wodurch die Benutzer noch sehr viel weitreichendere Rechte erhalten haben. Um dies einzugrenzen, kann alternativ die Transaktion SE16N_EMERGENCY eingesetzt werden. Ob diese Transaktion in Ihrem System verfügbar ist, erfahren Sie im SAP-Hinweis 2911103.

Die Transaktion SE16N_EMERGENCY ist standardmäßig gesperrt und muss explizit freigeschaltet werden. Zum Ändern nicht änderbarer Tabellen ist hier dann lediglich eine Berechtigung auf den Berechtigungsobjekten S_TABU_DIS oder S_TABU_NAM mit der Aktivität 02 für die entsprechende Tabelle erforderlich. Damit ist es dann auch möglich, z.B. Tabellen mit Stamm- oder Bewegungsdaten zu ändern. Natürlich ist es kritisch, wenn die Berechtigung für die Transaktion SE16N_EMERGENCY außer halb eines konkreten Notfalls vergeben wird.

Änderungen, die mit der Transaktion SE16N_EMERGENCY durchgeführt werden, sind in den Tabellen SE16N_CD_DATA und SE16N_CD_KEY zu protokollieren. Bei einer Änderung muss explizit auch ein Grund angegeben werden, der ebenfalls protokolliert wird. Die Nachvollziehbarkeit der Änderungen ist somit gegeben. Zur Auswertung kann der Report RKSE16N_CD_DISPLAY genutzt werden.

Deaktivierung des Funktionsbausteins RFC_ABAP_INSTALL_AND_RUN

Der Funktionsbaustein RFC_ABAP_INSTALL_AND_RUN ist äußerst kritisch, da mit ihm beliebige Quelltexte im SAP-System ausgeführt werden können. Er wurde bereits durch ein eigenes Berechtigungsobjekt geschützt (S_RFCRAIAR). Mit den SAP S/4HANA®-Release 1809 wurde dieser Funktionsbaustein deaktiviert. In späteren SAP S/4HANA®-Releases ist er inzwischen gelöscht (SAP-Hinweis 2578542).

 

Die Funktionsbausteine /BODS/RFC_ABAP_INSTALL_AND_RUN und /SAPDS/RFC_ABAP_INSTALL_RUN, welche auch in SAP S/4HANA®-Systemen existieren, bieten allerdings dieselbe Funktionalität. Diese sind weiterhin in Produktivsystemen nicht zu berechtigen.

Pseudonymisierte Auswertung des Security Audit Logs

Eine häufige datenschutzrechtliche Anforderung ist die Auswertung von Auditlog-Meldungen ohne benutzerbezogene Daten. Dies ist mit der Transaktion / dem Report RSAU_READ_LOG_ADM möglich (SAP-Hinweis 2883981). Bei der Auswertung der Auditlog-Protokolle werden hier der Benutzername und die Terminal-ID mittels eines generierten Hashcodes pseudonymisiert. Der Hashwert ist innerhalb der Auswertung für einen Benutzernamen und eine Terminal-ID immer gleich.

In einer Whitelist können Benutzer angegeben werden, die nicht pseudonymisiert werden sollen, wie z.B. DDIC, SAP* oder den Notfallbenutzern. Dies konfigurieren Sie über die Whitelist SAL_SHOW_IDENTITY mit der Transaktion SLDW.

Generische Auditauswertungen (Transaktion SAIS_MONI)

Nicht mehr ganz neu, aber immer noch recht unbekannt ist die Transaktion / der Report SAIS_MONI. Hiermit haben Sie die Möglichkeit, mehrere Protokolle in einem Schritt anzeigen zu lassen. Dies ist insbesondere dann hilfreich, wenn Sie Protokolle für einen bestimmten Benutzer auswerten möchten, z.B. für den Benutzer DDIC oder einen Notfallbenutzer. Auch die auszuwerten Protokolle können eingegrenzt werden. Die Auswertung aller Protokolle für alle Benutzer über einen längeren Zeitraum erzeugt evtl. zu große Datenmengen. Aber auch dafür kann der Report genutzt werden.

Folgende Protokolle können ausgewertet werden:

 

Selektion

Beschreibung

Änderungen an Mandanten- und Systemeinstellungen

Protokolle aus der SE06. Es werden die Protokolle aller Benutzer angezeigt.

Einträge aus dem Security-Audit-Log

Die Protokolle können auf Auditlog-Meldungsnummern eingegrenzt werden. Die Meldungsnummern finden Sie in der Transaktion SE92.

Einträge aus dem Systemlog

Die Protokolle können auf Syslog-Meldungsnummern eingegrenzt werden. Die Meldungsnummern finden Sie in der Transaktion SE92.

Einträge der Tabellenprotokollierung

Die Protokolle der Tabellenänderungen können auf Tabellen / Views eingegrenzt werden.

Einträge aus dem Business Application Log

Die Protokolle können auf einzelne Business Objects eingegrenzt werden.

Einträge von allgemeinen Änderungsbelegen

Die Protokolle können auf einzelne Änderungsbelege eingegrenzt werden.

Importeinträge (Change and Transport System)

Protokolle von Importen.

Exporteinträge (Change and Transport System)

Protokolle von Exporten.

Modifizierte Objekte der ABAP Workbench

Protokolle von Modifikationen und Erweiterungen.

Geänderte/erstellte Objekte in der ABAP Workbench

Protokolle von neuen und geänderten Elementen der Anwendungsentwicklung.

Benutzerstammsätze sperren und löschen

Durch die Funktion Benutzerstammsätze sperren und löschen (SAP-Hinweis 2826256) werden Benutzer beim Löschen in einen Sperrbereich verschoben, der gesondert berechtigt wird (Berechtigungsobjekt S_USER_BLK). Gelöschte Benutzer können aus diesem Sperrbereich auch wieder reaktiviert werden. Das finale Löschen der Stammsätze erfolgt dann erst durch die Archivierung. Aufbewahrungsfristen für die Benutzerstammsätze werden im ILM definiert (ILM-Vernichtungsobjekt IDENTITY). Ein manuelles Löschen der Benutzer ist mit dem Report RSUSR_USERS_DESTRUCTION möglich.

Der Sperrbereich kann mit der Transaktion SU06 eingesehen und verwaltet werden:

Tabellenzugriffe auf Spalten und Feldwerte

Mit dem Generic Table Browser (GTB) können Berechtigungen auf Tabellen spalten- und zeilenweise vergeben werden einschränken (SAP-Hinweis 2140958):

  • Spaltenweise: es können Spalten ausgeblendet werden, die ein Benutzer beim Anzeigen der Tabelle nicht angezeigt bekommt (Beispiel: Felder mit den Kennwörtern in Tabelle USR02).
  • Zeilenweise: Berechtigungen können auf Feldwerte eingegrenzt werden, so dass nur die Zeilen mit den entsprechenden Werten angezeigt werden (Beispiel: Einschränkung im Feld Buchungskreis).

Die Eingrenzung der Berechtigungen erfolgt über sog. GTB-Rollen. Diese werden mit der Transaktion S416N_ROLE definiert und den Benutzern mit dem Berechtigungsobjekt S_GTB_CUS zugeordnet.

Diese Einschränkungen auf Spalten und Zeilen ziehen nur in den GTB-Transaktionen, also z.B. S416N, S4H16N etc. In den herkömmlichen Standardtransaktionen (SE16, SE16N etc.) ziehen diese Einschränkungen nicht. Daher dürfen Benutzern, deren Berechtigungen über GTB-Rollen eingeschränkt werden sollen, diese Standardtransaktionen nicht zugeordnet werden.

In nachfolgender Abbildung ist ersichtlich, dass mit zugeordneter GTB-Rolle die beiden Felder Initialkennwort nicht aufgeführt werden:

In der Praxis wird häufig eine Mischung der GTB-Funktionen und der herkömmlichen Funktionen verwendet. Benutzern aus den Fachbereichen werden die GTB-Transaktionen einschließlich einschränkender GTB-Rollen zugeordnet, während administrative Benutzer und Key-User / Modulbetreuer weiterhin die Transaktionen SE16 / SE16N erhalten, um uneingeschränkten Zugriff auf die Tabelleninhalte zu erhalten. Werden in einem Mandanten verschiedene Gesellschaften verwaltet, für die untereinander keine Zugriffe möglich sein sollen, so werden ausschließlich die GTB-Transaktionen verwendet. Um eine versehentliche Berechtigung von Nicht-GTB-Transaktionen auszuschließen, können diese Transaktionen gesperrt werden.