Mit den letzten Release-Ständen von SAP S/4HANA® hat SAP eine Vielzahl von Sicherheitseinstellungen optimiert. Waren viele Default-Einstellungen, z.B. von Systemparametern, auf einem niedrigen Sicherheitslevel, so wurde dies sukzessive optimiert. Der SAP-Hinweis 2926224 (Collection Note: New security settings for SAP S/4HANA and SAP BW/4HANA using SL Toolset and SUM) zeigt die Änderungen seit dem S/4HANA-Release 1909 auf. Am SAP-Hinweis ist die Excel-Datei New_Security_Settings-Install&Copy&Conversion.xlsx angehangen, in die die einzelnen Änderungen tabellarisch aufgelistet sind. In diesem Artikel sind wesentliche Einstellungen beschrieben. Einige davon können Auswirkungen auf die Berechtigungen haben. Daher sind vor jedem Release-Wechsel diese Änderungen zu prüfen.
1. Berechtigungen
1.1 Deaktivierung von Berechtigungsobjekten
Mit dem Parameter auth/object_disabling_active kann verhindert werden, dass Berechtigungsobjekte deaktiviert werden. Der Standardwert des Parameters war bisher Y, was bedeutet, dass Deaktivierungen möglich sind. Um dies auszuschließen musste der Parameter bisher explizit auf den Wert N gesetzt werden. Mit SAP S/4HANA 1909 wurde der Standardwert angepasst:
Parameter auth/object_disabling_active:
Bisheriger Standardwert: Y (Deaktivierung möglich)
Standardwert ab SAP S/4HANA 1909: N (Deaktivierung nicht möglich)
1.2 Transaktionsaufrufe durch CALL TRANSACTION
Innerhalb eines ABAP-Programms können weitere Transaktionen aufgerufen werden. Dies erfolgt mit dem Befehl CALL TRANSACTION . Ob dann auch eine entsprechende S_TCODE-Berechtigung geprüft wird, kann individuell konfiguriert werden. Hierzu werden der Systemparameter auth/check/calltransaction und die Tabelle TCDCOUPLES verwendet. Bisher war der Standardwert für den Parameter auth/check/calltransaction der Wert 2. Das bedeutet, dass die Berechtigungsprüfung gem. der Konfiguration in Tabelle TCDCOUPLES durchgeführt wird. Ist in der Tabelle nicht explizit angegeben, dass eine Berechtigungsprüfung durchgeführt werden soll (Feld OKFLAG = ), so erfolgt keine Berechtigungsprüfung. Mit SAP S/4HANA 1909 wurde der Standardwert auf 3 gesetzt, so dass Berechtigungsprüfungen auch durchgeführt werden, wenn dies nicht explizit im Feld OKFLAG angegeben ist. Dies kann zur Folge haben, dass Benutzer bei Aktionen, für die sie bisher berechtigt waren, auf Berechtigungsfehler stoßen.
Parameter auth/check/calltransaction:
Bisheriger Standardwert: 2
Standardwert ab SAP S/4HANA 1909: 3
1.3 Berechtigungen zum Ausführen von WebDynpros
Im Gegensatz zu den Berechtigungsobjekten für Transaktionsstarts (S_TCODE) und SAP-Fiori-Apps (S_SERVICE) kann für Web Dynpros eingestellt werden, ob überhaupt eine Berechtigungsprüfung beim Start (Berechtigungsobjekt S_START) erfolgen soll. Dies erfolgt mittels der Tabelle USOBAUTHINACTIVE. Bisher war der Standard, dass das Berechtigungsobjekt S_START beim Start von WebDynpros nicht geprüft wird. Startberechtigungen sollten aber grundsätzlich geprüft werden, da sonst evtl. Anwendungen aufgerufen werden können, für die Anwender nicht autorisiert sind. Mit SAP S/4HANA 2021 wurde der Standardwert so gesetzt, dass bei jedem Start eines WebDynpros das Berechtigungsobjekt S_START geprüft wird (siehe Abbildung 1). Dies kann zur Folge haben, dass Benutzer bei Aktionen, für die sie bisher berechtigt waren, auf Berechtigungsfehler stoßen.
Startberechtigung für WebDynpros in Tabelle USOBAUTHINACTIVE:
Bisheriger Standardwert: X (keine Prüfung von S_START)
Standardwert ab SAP S/4HANA 2021: (S_START wird geprüft)
Abbildung 1: Standardwert für die Startberechtigung für WebDynpros ab SAP S/4HANA 2021
1.4 Schaltbare Berechtigungen
Mit den schaltbaren Berechtigungen können Berechtigungsobjekte explizit zur Nutzung freigeschaltet bzw. können für Funktionsbausteine Berechtigungsprüfungen aktiviert werden. Hierfür liefert SAP über 300 Szenarien aus, die einzeln aktiviert werden können. Dies musste bisher kundenseitig erfolgen. Die Szenarien waren standardmäßig nicht aktiviert. Seit SAP S/4HANA 2020 werden die Szenarien aktiviert ausgeliefert.
Abbildung 2 (Transaktion SACF) zeigt aktivierte Szenarien aus dem Bereich FI. Da mit diesen Szenarien zusätzliche Berechtigungsprüfungen aktiviert werden, ist es möglich, dass Benutzer auf Berechtigungsfehler stoßen.
Abbildung 2: Produktive FI-Szenarien
1.5 Neue Berechtigungsobjekte
Tabelle 1 listet neue Berechtigungsobjekte für sicherheitsrelevante Vorgänge auf.
Berechtigungsobjekt | Beschreibung |
F_AUDIT_OI Buchhaltungsbeleg: Offene Posten für Wirtschaftsprüfer | Mit dem Berechtigungsobjekt S_BRWS_TIM kann ein Prüfungszeitraum definiert und somit der Zugriff auf Daten in Tabellen auf diesen Zeitraum eingegrenzt werden. Mit dem Objekt F_AUDIT_OI können zusätzlich offene Posten berechtigt werden, die vor dem Prüfungszeitraum gebucht wurden, aber mindestens bis zum Beginn des Prüfungszeitraums noch offen waren. |
S_IMG_VIEW SAP-Einführungsleitfaden Ansicht | Einschränkung der Anzeige des Einführungsleitfaden. Hierfür muss das Szenario “BC_CUS_SIMG_VIEW” in den schaltbaren Berechtigungen aktiviert sein. |
S_SAL_LOG Security Audit Log Einträge | Mit diesem Berechtigungsobjekt kann die Auswertung des Security Audit Log eingeschränkt werden auf z.B. das System (SID), auf AuditLog-Ereignisse und auf auszuwertende Benutzer. |
S_ST05 Dediz. Berechtigungsprüf. mit hoher Granularität f. Tracing | Mit diesem Berechtigungsobjekt kann die Anzeige auf die verschiedenen Traces eingeschränkt werden, z.B. SQL-Trace, RFC-Trace etc. Berechtigt werden kann die Aktivierung, Deaktivierung und die Auswertung. |
S_USER_GRD Benutzerstammpflege: Definition von Benutzergruppen | Explizite Berechtigung zur Pflege und Anzeige von Benutzergruppen. |
S_VRS_CPY Berechtigungsobjekt für die Versionskopie | Dieses Berechtigungsobjekt berechtigt das Kopieren von Versionshistorien aus anderen Systemen (Transaktion SVRS_VRS_COPY). |
Tabelle 1: Neue sicherheitsrelevante Berechtigungsobjekte
2. Anmeldesicherheit
Die Parameter zur Steuerung der Anmeldesicherheit waren bisher im Auslieferungszustand auf einem niedrigen Sicherheitslevel. Einige der Parameter wurden nun im Standard restriktiver ausgeprägt, siehe Tabelle 2.
Parameter | S/4HANA-Release | Alter Wert | Neuer Wert |
rdisp/gui_auto_logout Zeitraum für die automatische Abmeldung von Benutzern nach Inaktivität. | 1909 | 0 | 3600 |
icf/reject_expired_passwd Beim Wert 0 werden Anmeldungen über das Internet Communication Framework (ICF) von Benutzern mit Initialkennwort bzw. abgelaufenem Kennwort von SAP akzeptiert. Beim Wert 1 wird dies unterbunden. | 2020 | 0 | 1 |
rfc/reject_expired_passwd Beim Wert 0 werden RFC-Anmeldungen von Benutzern mit Initialkennwort bzw. abgelaufenem Kennwort von SAP akzeptiert. Beim Wert 1 wird dies unterbunden. | 1909 | 0 | 1 |
login/disable_cpic Legt fest, ob CPIC-Verbindungen zulässig sind. CPIC-Verbindungen sind obsolet. | 1909 | 0 | 1 |
login/min_password_lng Legt die minimale Kennwortlänge fest. | 2020 | 6 | 10 |
login/password_compliance_to_current_policy Bewirkt beim Wert 1, dass bei der Anmeldung überprüft wird, ob das aktuelle Kennwort den eingestellten Kennwortrichtlinien entspricht. | 2020 | 0 | 1 |
login/password_downwards_compatibility Legt fest, ob Kennwörter abwärtskompatibel zu älteren Systemen gespeichert werden. Dies erhöht die Gefahr, dass Kennwörter durch Brute-Force-Attacks gehackt werden können. Beim Wert 0 werden Kennwörter nicht abwärtskompatibel gespeichert. | 1909 | 1 | 0 |
login/password_hash_algorithm Legt die Komplexität der Kennwortverschlüsselung fest. | 1909 | encoding=RFC2307, algorithm=iSSHA-1, iterations=1024, saltsize=96 | encoding=RFC2307, algorithm=iSSHA-512, iterations=15000, saltsize=256 |
login/password_max_idle_initial Legt fest, wie viele Tage ein vom Administrator gesetztes Kennwort (Initialkennwort) für einen Benutzer gültig ist. | 2020 | 0 | 7 |
login/password_max_idle_productive Legt fest, wie viele Tage ein vom Benutzer gesetztes Kennwort (produktives Kennwort) gültig ist. Meldet sich der Benutzer innerhalb dieser Zeitspanne nicht an, verfällt das Kennwort, und eine Anmeldung ist nicht mehr möglich. | 2020 | 0 | 180 |
login/show_detailed_errors Beim Wert 1 gibt das SAP-System detaillierte Fehlermeldungen aus, wenn beim Anmeldevorgang ein Fehler aufgetreten ist. Dies birgt die Gefahr, dass dadurch potenzielle Angreifer Informationen zur Existenz eines Benutzers bekommen können. | 2020 | 1 | 0 |
Tabelle 2: Neue Standardwerte der Systemparameter zur Anmeldesicherheit
3. Tabellenprotokollierung
Die Tabellenprotokollierung war bisher standardmäßig deaktiviert. Der Parameter rec/client musste explizit aktiviert werden. Mit SAP S/4HANA 2021 wird dieser Parameter nun mit dem Standardwert ALL ausgeliefert (SAP-Hinweis 3093760). Das bedeutet, dass die Tabellenprotokollierung in allen Mandanten des Systems aktiv ist. In der Begründung dazu weist SAP auch auf die Auswirkung hin bzgl. der Größe der Protokolle (Auszug aus SAP-Hinweis 3093760):
„Die Erfahrung hat gezeigt, dass die Tabellenprotokollierung in der Regel weder im Produktivsystem noch in Customizing- und Entwicklungsumgebungen Probleme verursacht.
Die Systembetreiber müssen die Größe der Tabellenprotokolle überprüfen und gegebenenfalls die Archivierung aktivieren.“
Parameter rec/client:
Bisheriger Standardwert: OFF (Tabellenprotokollierung ist deaktiviert)
Standardwert ab SAP S/4HANA 2021: ALL (Tabellenprotokollierung ist für alle Mandanten aktiv)
Neben dem Systemparameter rec/client wurde auch der Transportparameter RECCLIENT angepasst, siehe nächster Abschnitt.
4. Transporte
Auch zu Transportparametern wurden mit SAP S/4HANA 2021 die Standardwerte angepasst. Dies betrifft die drei Parameter in Tabelle 3. Die neuen Standardwerte werden gespeichert in der Tabelle TPSYSTEMDEFAULTS (verfügbar ab SAP S/4HANA 2021), siehe Abbildung 3. Diese Werte werden vom System genutzt, wenn die Transportparameter nicht explizit gesetzt sind.
Abbildung 3: Tabelle TPSYSTEMDEFAULTS – Vorgabewerte für Transportparameter
Transportparameter | Alter Wert | Neuer Wert |
RECCLIENT Der Parameter legt fest, ob beim Import von Tabellenänderungen über Transporte im Zielsystem Protokolle erzeugt werden. Dies ist nun standardmäßig in allen Mandanten der Fall. | OFF | ALL |
TLOGOCHECK Unter bestimmten Voraussetzungen ist es möglich, mit Transportaufträgen Tabelleneinträge zu übertragen, die normalerweise nicht übertragbar sind. Um das zu unterbinden wurde eine Konsistenzprüfung für Transportaufträge implementiert. Diese wird mit dem Transportparameter TLOGOCHECK = TRUE aktiviert. Diese Konsistenzprüfung ist nun standardmäßig aktiv. | FALSE | TRUE |
VERS_AT_IMP Durch das Setzen des Transportparameters VERS_AT_IMP auf den Wert ALWAYS in einem System wird erreicht, dass dort beim Import von versionierbaren Objekten (Programmen, Funktionsbausteinen usw.) automatisch Versionen erzeugt werden. Dies ist nun standardmäßig aktiv. | NEVER | ALWAYS |
Tabelle 3: Neue Standardwerte zu Transportparametern
5. Security AuditLog (ABAP und HANA)
Das Security AuditLog wird genutzt, um sicherheitsrelevante Vorgänge aufzuzeichnen. Es war bisher sowohl in ABAP als auch in der HANA-Datenbank im Auslieferungszustand deaktiviert. Mit SAP S/4HANA 2021 werden nun Standardkonfigurationen für das Security AuditLog ausgeliefert und es ist standardmäßig aktiviert.
5.1 Security AuditLog (ABAP Stack)
Mit dem SAP-Hinweis 2676384 (Best-Practice-Konfiguration des Security Audit Logs) liefert SAP einen Vorschlag zur Konfiguration des Security AuditLog aus. Diese Konfiguration wird standardmäßig mit SAP HANA 2021 ausgeliefert und ist aktiviert, siehe Abbildung 4.
Es sind standardmäßig drei Filter aktiv mit folgenden Einstellungen:
Filter 1: Protokollierung aller Mandanten (“*”)
Protokollierung von Benutzer SAP* (“SAP#*” – durch das #-Zeichen wir der * nicht als generischer Wert, sondern als Zeichen erkannt)
Protokollierung aller Events
Filter 2: Protokollierung von Mandant 066 (“066”)
Protokollierung aller Benutzer (“*”)
Protokollierung aller Events
Filter 2: Protokollierung aller Mandanten (“*”)
Protokollierung aller Benutzer (“*”)
Protokollierung aller Events, außer:
AU5 Erfolgreicher RFC-Login
AUK Erfolgreicher RFC-Funktionsbausteinaufruf
AUW Report erfolgreich gestartet
CUV Erfolgreicher Aufruf eines Services
DUR Erfolgreicher JSON RPC Aufruf eines Funktionsbausteins
EUE Erfolgreicher RFC-Funktionsbausteinaufruf
Abbildung 4: Standardkonfiguration des Security AuditLog in SAP S/4HANA 2021
5.2 AuditLog (SAP HANA-Datenbank)
Eine Best-Practice-Konfiguration des SAP HANA AuditLog liefert der SAP-Hinweis 3016478 (HANA Audit Policies for S/4HANA). Um die empfohlenen Einstellungen als Policies zu übernehmen, können von GitHub drei Skripte runtergeladen werden (https://github.com/SAP-samples/s4hana-hana-audit-policies), siehe Abbildung 5.
Abbildung 5: Skripte in GitHub zur Definition von Audit Policies
Seit SAP S/4HANA 2021 werden diese Policies in der Tenant-DB der HANA-Datenbank vordefiniert und aktiviert ausgeliefert. Für die System-DB werden diese Policies standardmäßig nicht ausgeliefert. Hier können die Skripte aus GitHub genutzt werden.
Abbildung 6 zeigt die Policies in der HANA-DB. Tabelle 4 listet die Events auf, die standardmäßig protokolliert werden.
Abbildung 6: Vordefinierte Audit-Policies in SAP HANA
Policy | Protokollierte Events |
_SAP_authentication provider | CREATE LDAP PROVIDER ALTER LDAP PROVIDER DROP LDAP PROVIDER VALIDATE LDAP PROVIDER CREATE SAML PROVIDER ALTER SAML PROVIDER DROP SAML PROVIDER CREATE JWT PROVIDER ALTER JWT PROVIDER DROP JWT PROVIDER |
_SAP_authorizations | GRANT ANY REVOKE ANY |
_SAP_certificates | CREATE CERTIFICATE DROP CERTIFICATE CREATE PSE ALTER PSE DROP PSE |
_SAP_clientside encryption | ALTER CLIENTSIDE ENCRYPTION COLUMN KEY CREATE CLIENTSIDE ENCRYPTION COLUMN KEY DROP CLIENTSIDE ENCRYPTION COLUMN KEY CREATE CLIENTSIDE ENCRYPTION KEYPAIR DROP CLIENTSIDE ENCRYPTION KEYPAIR ALTER CLIENTSIDE ENCRYPTION KEYPAIR |
_SAP_configuration changes | SYSTEM CONFIGURATION CHANGE STOP SERVICE |
_SAP_designtime privileges (nur erfolgreiche Events) | EXECUTE für die folgenden Prozeduren aus dem Schema _SYS_REPO: REVOKE_APPLICATION_PRIVILEGE GRANT_APPLICATION_PRIVILEGE REVOKE_ACTIVATED_ROLE REVOKE_ACTIVATED_ANALYTICAL_PRIVILEGE GRANT_ACTIVATED_ANALYTICAL_PRIVILEGE REVOKE_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT GRANT_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT REVOKE_PRIVILEGE_ON_ACTIVATED_CONTENT GRANT_PRIVILEGE_ON_ACTIVATED_CONTENT GRANT_ACTIVATED_ROLE |
_SAP_license addition | SET SYSTEM LICENSE |
_SAP_license deletion | UNSET SYSTEM LICENSE |
_SAP_recover database | BACKUP CATALOG DELETE BACKUP DATA RECOVER DATA |
_SAP_session connect (nur nicht erfolgreiche Events) | CONNECT |
_SAP_session validate | VALIDATE USER |
_SAP_structured privileges (nur erfolgreiche Events) | CREATE STRUCTURED PRIVILEGE DROP STRUCTURED PRIVILEGE ALTER STRUCTURED PRIVILEGE |
_SAP_user administration (nur erfolgreiche Events) | CREATE USER CREATE ROLE DROP USER DROP ROLE ALTER USER ALTER ROLE CREATE USERGROUP ALTER USERGROUP DROP USERGROUP |
Tabelle 4: Standardmäßig protokollierte Events in der HANA-DB für SAP S/4HANA 2022
6. Verbuchung
Daten werden in Verbuchungstabellen zwischengespeichert, bevor sie in die eigentlichen Tabellen übernommen werden. Hierbei kann es zu technischen Verarbeitungsfehlern kommen. Dies hat zur Folge, dass Buchungen nicht verarbeitet werden, sondern in den Verbuchungstabellen verbleiben. Im Fall von Buchhaltungsbelegen sind z.B. die Belegnummern dann bereits vergeben. Mit dem Parameter rdisp/vbdelete wird festgelegt, nach wie vielen Tagen abgebrochene Verbuchungssätze automatisch vom System gelöscht werden. Der Standardwert war bisher 50, was bedeutet, dass abgebrochene Verbuchungssätze nach 50 Tagen automatisch von System gelöscht wurden. Seit SAP S/4HANA 1909 ist der Standardwert »0«, was bedeutet, dass abgebrochene Buchungen nicht automatisch gelöscht werden.
Parameter rdisp/vbdelete:
Bisheriger Standardwert: 50 (Löschung nach 50 Tagen)
Standardwert ab SAP S/4HANA 1909: 0 (abgebrochene Buchungen werden nicht gelöscht)
7. RFC-Sicherheit
In SAP S/4HANA 1909 haben zwei Systemparameter, welche die RFC-Sicherheit betreffen, neue Standardwerte erhalten, siehe Tabelle 5.
Parameter |
S/4HANA-Release |
Alter Wert |
Neuer Wert |
auth/rfc_authority_check Legt fest, ob bei Anmeldungen über eine RFC-Verbindung die Berechtigung zur Anmeldung überprüft wird. |
1909 |
1 |
6 |
rfc/callback_security_method Erlaubt oder verweigert die Ausführung von RFC-Callbacks gem. der konfigurierten Genehmigungslisten und erzeugt einen Eintrag im Security Audit Log. |
1909 |
1 |
3 |
Tabelle 5: Parameter zur RFC-Sicherheit
Fazit
Mit den neuen Release-Ständen von SAP S/4HANA verbessert SAP fortlaufend die Anforderungen an „Security by default“. Standardeinstellungen werden so ausgeliefert, dass sie einem hohen Sicherheitslevel entsprechend. Dies hat Auswirkungen u.a. auf die Berechtigungen. Bei einer Migration auf SAP S/4HANA bzw. einem S/4HANA Release-Wechsel sind daher diese Einstellungen explizit zu prüfen. Die unternehmensinternen SAP-Sicherheitskonzepte sollten an die neuen Vorgaben angepasst werden, um die Sicherheit der Systeme zu erhöhen.
Quelle: Revisionspraxis PRev, Ausgabe Februar 2022
www.prev.de
Autor: Thomas Tiede