Kunden in SAP S/4HANA und NetWeaver ABAP sichern

Zuletzt aktualisiert: 20.01 .2025
Die Absicherung von SAP-Mandanten ist eine grundlegende baseline die Ausführung von nicht autorisiertem Code und Manipulationen am System zu verhindern. In einer ordnungsgemäß gesicherten Produktionsumgebung sollte kein Benutzer (nicht einmal ein Entwickler) in der Lage sein, direkte Änderungen vorzunehmen. Stattdessen müssen alle Änderungen über Transportaufträge von der Entwicklung in die Produktion übertragen werden.
Dieser Leitfaden behandelt die entscheidenden Einstellungen für SCC4 und SE06 zum „Schließen“ eines Mandanten und erläutert, warum das Löschen nicht verwendeter Standardmandanten (001, 066) ein notwendiger Schritt im SAP-Schwachstellenmanagement.
SAP-Standardmandanten
Wir empfehlen, alle in Ihrem SAP-System vorhandenen Mandanten zu sichern, auch die ungenutzten. Bei der Installation des Systems, die in manchen Fällen schon lange zurückliegen mag, legt SAP zwei spezielle Mandanten an, 001 und 066, die folgenden Zwecken dienen:
- Mandant 001: Dies ist eine Kopie des Mandanten 000. Er wurde als Produktivmandant des Systems angelegt. Falls für diese Rolle ein anderer Mandant verwendet wird, kann dieser Mandant bedenkenlos gelöscht werden. Beachten Sie, dass ein SAP Solution Manager-System oder ein SAP Business Warehouse-System in der Regel den Mandanten 001 als Produktivmandanten verwendet.
- Client 066: Dieser Client gilt für alle SAP-Systeme, die auf SAP NetWeaver 7.40 oder einer früheren Version basieren, und wird für die Bereitstellung von Services durch den SAP Active Global Support verwendet. Er wird jedoch nicht mehr genutzt, sodass Sie ihn (sofern vorhanden) bedenkenlos entfernen können. Der SAP-Hinweis Nr. enthält weitere Informationen zu diesem Client. Beachten Sie, dass SAP NetWeaver 7.40 die letzte Version ist, die den Client 066 bei der Installation oder beim Upgrade bereitstellt.
Vor diesem Hintergrund empfiehlt SAP, diese Mandanten zu löschen, wenn sie nicht mehr genutzt werden. Zuvor sollte jedoch überprüft werden, ob sich in den einzelnen Mandanten keine aktiven Benutzer befinden. Zudem sollte sichergestellt werden, dass keine Hintergrundjobs eingeplant sind und dass die Mandanten nicht als Produktivmandanten eingestuft sind. Beide Punkte werden in den folgenden Abschnitten vorgestellt und erläutert.
Falls einer dieser Clients bereits verwendet wurde, sollten Sie den SAP-Hinweis Nr. 934593lesen, um weitere Informationen zu erhalten.
So entfernen Sie nicht verwendete Clients
Unter Berücksichtigung der zuvor genannten Vorsichtsmaßnahmen und der Tatsache, dass es erforderlich sein könnte, den Profilparameter „login/no_automatic_user_sapstar = 0“ zu setzen (weitere Informationen finden Sie im SAP-Hinweis Nr. 1749142), um sich mit dem integrierten Benutzer SAP* anzumelden, sind dies die Schritte zum Löschen eines ungenutzten Mandanten:
- Melden Sie sich bei dem zu löschenden Client an.
- Führen Sie die TransaktionSCC5 aus.
- Aktivieren Sie die Option, um den Eintrag in der Tabelle zu löschen T000. Verwenden Sie den Hintergrundmodus, um einen großen Mandanten wie Mandant 001 zu löschen (für Mandant 066 ist dies nicht erforderlich). Die Transaktion bietet auch einen Testmodus.

- Um den Fortschritt des Client-Löschvorgangs zu überwachen, verwenden Sie die TransaktionSCC3.
- Überprüfen Sie abschließend mit der TransaktionSCC4, ob in der TabelleT000kein Eintrag für den Mandanten vorhanden ist, und führen Sie den ReportRSUSR003aus, um zu überprüfen, ob mit dem Standardbenutzer SAP* kein Zugriff mehr auf diesen Mandanten möglich ist.
Achtung
Wie bereits erwähnt, empfiehlt es sich, zu überprüfen, ob keine aktiven Benutzer im Client vorhanden sind. Dies kann mithilfe des Reports RSUSR200 über das Benutzerinformationssystem (Transaktion SUIM) oder die Auslastungsstatistik (Transaktion ST03N) erfolgen, um festzustellen, ob Benutzeraktivitäten stattgefunden haben

Es wird außerdem empfohlen, alle Benutzer (mit Ausnahme des Benutzers, der den Löschvorgang ausführt) vor dem Löschen des Mandanten für eine gewisse Zeit zu sperren und zu überprüfen, ob für diesen Mandanten kein Hintergrundjob eingeplant ist. Verwenden Sie hierfür die TransaktionSE16für die TabelleTBTCOoder die SichtV_OPmit einer Selektion für den Mandanten unter Verwendung des SelektionsfeldsAUTHCKMAN.
Stellen Sie abschließend sicher, dass der Mandant nicht über die Transaktion SCC4 als „Produktionsmandant“ klassifiziert ist. Falls der zu löschende Mandant zuvor in der Produktion verwendet wurde, lesen Sie den Hinweis Nr. 934593, in dem beschrieben wird, wie alle Objekte eines Mandanten aus der temporären sequenziellen Datei (TemSe) gelöscht werden können.
Geöffnete und geschlossene Kunden
Wenn ein Client geöffnet ist,können clientübergreifende Änderungen vorgenommen werden, wie z. B. Änderungen an Wörterbuchobjekten, am Quellcode usw. Sofern dem Benutzer die entsprechenden Berechtigungsobjekte zu seiner Rolle zugeordnet sind, ist es möglich, benutzerdefinierte Objekte zu ändern, unabhängig davon, ob diese in Transportaufträge aufgenommen werden oder nicht.
Ist der Client hingegen geschlossen, bedeutet dies, dasskeine Änderungen am Repository und an clientunabhängigen Anpassungsobjekten vorgenommen werden dürfen.
In der Mitte gibt es eine Vielzahl von Konfigurationen, die den unterschiedlichen Rollen entsprechen, die ein SAP-System oder ein Mandant in der Landschaft einnehmen kann. Diese werden im folgenden Abschnitt näher beschrieben.
Verwendung der Transaktionen SCC4 und SE06
Die Transaktion SCC4 dient zur Pflege aller im SAP-System vorhandenen Mandanten. So sieht es aus, wenn man versucht, einen Mandanten zu bearbeiten:

Im folgenden Abschnitt erläutern wir die Bedeutung der einzelnen Optionen in der Transaktion, um diese zu verdeutlichen, damit Sie besser verstehen, wie Sie die einzelnen Clients der Landschaft korrekt einrichten.
Für Änderungen und Transporte an mandantenspezifischen Objekten stehen folgende Optionen zur Verfügung:
- Änderungen ohne automatische Protokollierung: Mandantenabhängige Objekte können geändert werden, ohne dass dies in Änderungsaufträgen protokolliert wird. Wird für Test- oder Schulungsmandanten verwendet.
- Automatische Erfassung von Änderungen: Bei dem Versuch, mandantenabhängige Änderungen vorzunehmen, wird eine Aufforderung zur Erstellung eines Änderungsantrags angezeigt, in dem die Änderungen festgehalten werden können. Wird zur Anpassung von Mandanten verwendet.
- Keine Änderungen zulässig: Mandantenabhängige Objekte dürfen nicht geändert werden. Wird für die Produktion, SAP-Referenzmandanten oder Testmandanten in der Qualitätssicherung verwendet.
- Keine Übertragungen zulässig: Änderungen sind zulässig, können jedoch nicht aus dem System übertragen werden. Wird für Sandbox-Umgebungen, vorkonfigurierte Clients oder Schulungs-Clients verwendet.
Für mandantenübergreifende Objektänderungen stehen folgende Optionen zur Verfügung:
- Änderungen am Repository und am client-ind. Customizing sind zulässig: keine Einschränkungen. Wird in Entwicklungsmandanten verwendet.
- Keine Änderungen an mandantenunabhängigen Customizing-Objekten: Repository-Objekte (Programme, Tabellendefinitionen usw.) können geändert werden, einige mandantenunabhängige Customizing-Einstellungen jedoch nicht. Wird nur in ABAP-Entwicklungsmandanten verwendet.
- Keine Änderungen am Repository: Repository-Objekte (Programme, Tabellendefinitionen usw.) können nicht geändert werden, es sind jedoch einige mandantenunabhängige Anpassungen möglich. Wird nur zur Anpassung von Entwicklungsmandanten verwendet.
- Keine Änderungen am Repository und an clientunabhängigen Anpassungen. Hinweis: Clientunabhängige Änderungen sind nicht zulässig. Wird in QA- und Produktions-Clients verwendet.
Die Transaktion SE06 wird hingegen hauptsächlich für Maßnahmen nach der Installation verwendet, dient aber auch zur Konfiguration von Systemänderungsoptionen.
Andererseits wird die Transaktion SE06 hauptsächlich für Maßnahmen nach der Installation verwendet, dient aber auch zur Konfiguration von Systemänderungsoptionen.


Diese Optionen ermöglichen eine detaillierte Steuerung darüber, welche Repository- und mandantenübergreifenden Anpassungsobjekte geändert werden dürfen. Es handelt sich hierbei eher um eine globale Einstellung (unabhängig vom Mandanten), die ausschließlich für mandantenunabhängige Objekte gilt. Dabei werden Repository-Objekte weiter in verschiedene Gruppen unterteilt (Softwarekomponenten und Namensräume), sodass Sie festlegen können, welche Gruppe geändert werden darf.
Falls der Mandant in den „Globalen Einstellungen“ auf „Nicht änderbar“ gesetzt ist, hat dies Vorrang vor allen anderen Einstellungen sowohl in der Transaktion SE06 als auch in SCC4. Das bedeutet: In diesem System ist nichts änderbar, mit Ausnahme einiger Customizing-Einstellungen, die als aktuelle Einstellungen definiert sind.
So schließen Sie einen Kundenvertrag ab
Nachdem wir die Funktion der Transaktionen SCC4 und SE06 erläutert haben, können wir nun die Voraussetzungen auflisten, die für den ordnungsgemäßen Abschluss eines Produktivmandanten erforderlich sind.
Einstellungen in der Transaktion SCC4
Wenn eine Mandantenrolle wie in der Produktion definiert ist, bedeutet dies, dass es sich tatsächlich um einen Produktionsmandanten handelt, und es gibt zwei Optionen, die gesetzt werden müssen, um ihn für Änderungen gesperrt zu halten:
- Änderungen und Transporte für mandantenabhängige Objekte: Diese Option sollte auf „Keine Änderungen zulässig“ gesetzt sein, um anzugeben, dass mandantenabhängige Objekte nicht geändert werden dürfen
- Mandantenübergreifende Objektänderungen: Diese Option sollte auf „Keine Änderungen am Repository“ gesetzt werden, um sicherzustellen, dass Objekte wie Programme, Tabellendefinitionen usw. nicht verändert werden – lediglich einige mandantenunabhängige Anpassungen könnten geändert werden

Einstellungen in der Transaktion SE06
Die wichtigste Konfiguration ist die Option „Globale Einstellung“ in dieser Transaktion.

Durch diese Einstellung werden alle Softwarekomponenten und Namensräume im System – nicht nur bei einem bestimmten Mandanten – ebenfalls als nicht änderbar gekennzeichnet. Im Gegensatz zur Transaktion SCC4 wirkt sich diese Konfiguration auf alle vorhandenen Mandanten im System aus und kann nicht für jeden einzelnen Mandanten separat festgelegt werden.
Es ist sehr wichtig zu beachten, dass die Einstellungen für beide Transaktionen (SCC4 und SE06) vorgenommen werden sollten, um absolut sicherzugehen, dass der Mandant geschlossen ist. Jede von ihnen hat eine andere Funktion und überprüft unterschiedliche Aspekte des Systems;nutzen Sie sie gemeinsam, um Ihr SAP-System wirksam zu schützen.
Risiken bei der Eröffnung eines Produktionskontos
Es gibt einige Sonderfälle, in denen Sie den Client für bestimmte Änderungen öffnen müssen. Dies ist ein Sicherheitsmechanismus, um den Client vor unerwünschten Änderungen durch Benutzer mit weitreichenden Berechtigungen und Anwendungen mit umfangreichen Funktionen (wie z. B. den Transport-Tools) zu schützen. Entwicklungssysteme sind für Änderungen offen, da dies ihrer Aufgabe entspricht, dochein offener Produktions-Client ist kritischund sollte überwacht sowie auf diese Sonderfälle beschränkt werden. Alle Änderungen, die in einem Produktionssystem implementiert werden müssen, sollten durch die Ausführung von Transportaufträgen unter Einhaltung der Entwicklungs- und QA-Prozesse bereitgestellt werden.
Je nachdem, welche Optionen im System falsch konfiguriert sind, bestehen bestimmte Risiken. Wenn beispielsweise Änderungen ankundenspezifischen Objekten zulässig sindund den Benutzern die entsprechenden Berechtigungen zugewiesen wurden, könnten diese das Verhalten von benutzerdefiniertem Code ändern, wobei diese Änderungen (je nach gewählter Option) aufgezeichnet werden oder nicht. Selbst „Firefighter“-Benutzer dürfen keine Änderungen auf Quellcodeebene vornehmen.
Wie unterstützt OSP die Überwachung dieser Konfigurationen?
Die Onapsis Security Platform OSP)bietet zwei verschiedene Funktionen, mit denen Kundenungenutzte Standard-Clients erkennen und die Änderungshäufigkeit eines Clients überwachen können.
Für die in diesem Leitfaden behandelten spezifischen Risiken enthält Onapsis Assess (unsere Lösung für das Schwachstellenmanagement) ein spezielles Erkennungsmodul: Check-ID 636 („Die Standard-Produktiv-Clients 001 und 066 sind vorhanden“).
Eine weitere wichtige Funktion, die in OSP bereits vorhanden ist, ist eineEchtzeit-Warnmeldung zur Erkennung von Versuchen, einen Kunden zu eröffnen oder zu schließen.
Fazit
Onapsis ist sich bewusst, dass die Sicherheit eines SAP-Systems eine schwierige Aufgabe sein kann, und deshalb möchten wir unseren Kunden die besten Empfehlungen und Lösungen an die Hand geben. Unsere erste Empfehlung in diesem Blogbeitrag basiert genau darauf: Es ist schon schwer genug, sich um ungenutzte Mandanten zu sorgen – oder, schlimmer noch, manche wissen gar nicht, dass es sie gibt, was die Angriffsfläche vergrößert.
Die zweite Empfehlung zielt darauf ab, die unterschiedlichen und sich ergänzenden Funktionen der Transaktionen SCC4 und SE06 zu verdeutlichen. Dabei wird besonders auf die Einstellungen eingegangen, die in einem produktiven SAP-System vorgenommen werden müssen, um unerwünschte und nicht nachverfolgbare Änderungen zu verhindern, die die Sicherheit des Systems gefährden könnten. Es ist wichtig, alle Ihre Systeme zu sichern, insbesondere diejenigen im Produktivbetrieb.
Literaturverzeichnis
- 1749142 –So entfernen Sie nicht verwendete Clients, einschließlich der Clients 001 und 066
- 934593 –Löschen aller Objekte eines Mandanten aus TemSe
- So entfernen Sie nicht verwendete Clients, einschließlich der Clients 001 und 066
Häufig gestellte Fragen (FAQ)
Was sind die SAP-Standardmandanten 001 und 066?
Der Mandant 001 ist eine bei der Installation erstellte Kopie des Mandanten 000 und wird häufig als Vorlage für die Produktivumgebung oder vom SAP Solution Manager verwendet. Der Mandant 066 wurde früher für den SAP Active Global Support (EarlyWatch) genutzt, ist jedoch in Systemen auf Basis von NetWeaver 7.40 und höher veraltet. Beide sollten, sofern sie nicht genutzt werden, entfernt werden, um die Angriffsfläche zu verringern.
Was ist der Zweck der Einstellung „Kundenübergreifende Objektänderungen“ in SCC4?
Diese Einstellung in der Transaktion SCC4 legt fest, ob Repository-Objekte (wie ABAP-Programme und Tabellendefinitionen) sowie mandantenunabhängige Customizing-Einstellungen geändert werden dürfen. Bei Produktivmandanten muss hier die Option „Keine Änderungen am Repository“ ausgewählt werden, um sicherzustellen, dass Code und Struktur nicht direkt verändert werden können, sodass alle Änderungen über kontrollierte Transportaufträge erfolgen müssen.
Wie schließe ich einen Produktionskunden in SAP ab?
Um einen Produktivmandanten ordnungsgemäß zu schließen, müssen Sie zwei Transaktionen konfigurieren. Legen Sie zunächst mit SCC4 für „Änderungen und Transporte für mandantenspezifische Objekte“ die Option „Keine Änderungen zulässig“ fest. Legen Sie anschließend mit SE06 die globale Einstellung auf „Nicht änderbar“ fest.
Was ist der Unterschied zwischen SCC4 und SE06?
SCC4 steuert die Einstellungen für einzelne Mandanten (z. B. die Einschränkung von Änderungen speziell in Mandant 100). SE06 steuert die Option „Systemänderung“ global für das gesamte System (alle Mandanten). Die Einstellungen in SE06 haben in der Regel Vorrang vor SCC4; wenn SE06 auf „Nicht änderbar“ gesetzt ist, kann kein Mandant geändert werden, unabhängig von seinen lokalen Einstellungen.
Welche Risiken birgt es, einen Produktions-Client offen zu lassen?
Wenn ein Produktions-Client offen bleibt, können Benutzer mit ausreichenden Berechtigungen direkte, nicht protokollierte Änderungen am System vornehmen. Dadurch werden die Kontrollen des Änderungsmanagements (Transportaufträge) umgangen, sodass Angreifer oder Insider die Geschäftslogik verändern, Daten manipulieren oder Schwachstellen einführen können, ohne dass ein standardmäßiger Prüfpfad entsteht.
