SAP® HR Security – schützen Sie Ihre sensiblen HR-Daten!

Ist Ihre SAP® R/3®-HR Installation von allen Seiten gegen Zugriffe unauthorisierter Personen geschützt? Wenn Sie sich diese Fragen schon einmal gestellt haben, sollten Sie den folgenden Beitrag aufmerksam studieren. Ich habe hier einige persönliche Erfahrungswerte aus der Praxis niedergeschrieben, die Ihr HR System nachhaltig vor “fremden Augen” schützen werden…

Berechtigungskonzept

Schotten Sie kritische Spoolaufträge (z. B. von Anwendern der Abrechnungsabteilung) vor dem Zugriff durch unauthorisierte Anwender ab! Pflegen Sie hierzu den Benutzerparameter SAU am Benutzerstammsatz der zu schützenden Anwender z. B. mit dem Wert HR_PY_DRUCK. Das Berechtigungsobjekt S_SPO_ACT muss so ausgeprägt werden, dass ein Zugriff auf Spoolaufträge vom Typ HR_PY_DRUCK nur noch für die entsprechenden Anwender möglich ist.

Schützen Sie kritische HR Datenbanktabellen (z. B. PA0008, PA0014, PA0015), indem Sie den Zugriff auf diese anhand des Berechtigungsobjektes S_TABU_DIS entsprechend einschränken!

Regeln Sie den Aufruf von kundeneigenen HR Programmen und SAP® Queries durch den Einsatz des Berechtigungsobjekts S_PROGRAM (s. u. – ABAP Programmierung). Prägen Sie dieses so aus, dass z. B. ein Key-User alle Programme und Queries vom Typ HR_KEY und HR_USER ausführen kann, nicht aber die der Kategorie HR_ADMIN.

Lassen Sie die Transaktionen SE11, SE16, SM30, SM31 (Berechtigungsobjekt S_TCODE) nur bedingt zu! Unauthorisierte Anwender könnten sonst auf Datenbankebene Einsicht in kritische HR-Daten erhalten!

Nehmen Sie Abstand von der pauschalen Vergabe der ABAP Reporting Transaktion SA38 oder gar SE38, SE80. Wenn Anwender Programme ausführen sollen, so ist es besser, diese in die Bereichmenüs des Easy Access Menüs aufzunehmen (ab Release 4.6x) oder entsprechende Berichtsbäume (bis Release 4.6x) über die Transaktion ORET anzulegen.

Vorsicht ist bei dem Berechtigungsobjekt P_ABAP angebracht! Falsch ausgeprägt ermöglicht dieses Objekt die ungeprüfte Ausführung von Programmen im SAP® System. In Verbindung mit z. B. dem Treiber der logischen Datenbank PNP (SAPDBPNP) stehen einem Anwender alle Türen im HR weit offen!

Vergeben Sie nur in dringenden Ausnahmefällen die Berechtigungsprofile SAP_ALL und SAP_NEW, da diese nahezu alle Berechtigungen im SAP® System beinhalten.

Erarbeiten Sie ein “Notfalluserkonzept” z. B. für den User SAP* (welcher über SAP_ALL und SAP_NEW verfügt). Dies ist für den Fall der Fälle notwendig, z. B. wenn Schlüsselpersonen im Urlaub oder erkrankt sind. Mit einem einfachen Trick lässt sich an dieser Stelle ein Vier-Augen-Prinzip realisieren: Teilen Sie das Initialkennwort für SAP* auf zwei Personen auf, d. h. den ersten Teil des Kennworts kennt Person A – den zweiten Teil Person B.

R/3®-Benutzer (User)

Von Seiten der SAP® werden mit einem R/3® System standardmäßig die User SAP* and DDIC ausgeliefert. Diese sind mit Initialkennwörtern versehen, die einer breiten Öffentlichkeit bekannt sind. Mit dem Programm RSUSR003 können Sie prüfen, ob diese User in Ihrem System noch immer mit den Defaultkennwörtern versehen sind oder nicht. Achten Sie hierbei insbesondere auf den SAP Auslieferungsmandanten 000 und auf den EarlyWatch Mandanten 066!

Mit Hilfe der sog. Ausnahmetabelle (USR40) ist es möglich, Kennwörter für R/3-Benutzer systemseitig nicht zu gestatten. Dies bietet sich z. B. für Firmennamen oder geläufigen Kennwörtern wie etwa asdf, jklö, 1234, usw. an.

Verhindern Sie “Karteileichen” unter den Usern Ihres R/3® Systems, indem Sie regelmäßig prüfen, welche sich seit längerer Zeit nicht mehr angemeldet haben (Mitarbeiter inzwischen ausgetreten?). Möglich ist dies mit dem Programm RSUSR006. 

ABAP® Programmierung

Pflegen Sie bei kundeneigenen Z*/Y*-Programmen stets die Berechtigungsgruppe (unter Programmeigenschaften bzw. Attribute). Zur Zuordnung von Programmen zu Berechtigungsgruppen kann auch der Report RSCSAUTH (Pflege/Restore Berechtigungsgruppen) benutzt werden, der ausführlich dokumentiert ist. Auch bei und SAP® Queries ist dies sehr sinnvoll! Unterteilen Sie hierbei in verschiedenen Kategorieren z. B. in HR_USER (unkritisch), HR_KEY (nur für Key-User) und HR_ADMIN (nur für Systemadministratoren, Modulbetreuer). Schützen Sie diese Programme unter Einsatz von dem Berechtigungsobjekt S_PROGRAM (s. o. – Berechtigungskonzept).

Aktivieren Sie die Tabellenprotokollierung bei kundeneigenen Z*/Y*-Tabellen. Dies können Sie innerhalb des DDIC (Transaktion SE11) über die Technischen Einstellungen zur jeweiligen Tabelle durchführen. Ferner muss der Profilparameter Rec/Client (siehe unten) entsprechend gesetz werden.

Oftmals stellt das Entwicklungs- oder Konsolidierungssystem eine Schwachstelle im HR-Sicherheitskonzept dar. Das Problem: Zur Programmierung im HR-Umfeld ist ein gewisser Grundstock an zeitnahen personalwirtschaftlichen Daten unerlässlich. Oft werden diese etwa durch eine Systemkopie des Produktivsystems zur Verfügung gestellt. Dies ist äußerst kritisch, insbesondere deshalb, weil auf genannten Systemen oftmals freizügiger mit Berechtigungen hantiert wird. Einige Anbieter besitzen Tools in ihrem Sortiment, die das Problem lösen, indem sie systemübergreifend Personalstammdaten kopieren und diese hierbei anonymisieren (z. B. http://www.gasparin.at/german/zptstdatf.html oder http://www.pecaso.de/home.php) können! Vergessen Sie aber nicht zuvor alle Stammdaten inkl. der Clusterdaten zu löschen (z. B. mit dem Standardprogramm RPUDELPN).

Verpflichten Sie alle ABAP® Programmierer im HR Umfeld dazu, Authority-Checks in kundeneigenen Z*/Y*-Programmen zu implementieren. Andernfalls könnte auf diesem Wege das beste Berechtigungskonzept ausgehebelt werden, wenn DB-Tabellen direkt gelesen werden! Bei Programmen die auf einer logischen Datenbank (z. B. PNP, PNPCE) beruhen ist dies nicht notwendig, da bereits dort alle notwendigen Berechtigungsprüfungen durchgeführt werden.

Systemeinstellungen

Um die Sicherheit Ihrer SAP® R/3®-HR Installation zu verbessern, sollten Sie die folgenden Profilparameter einer Prüfung unterziehen (möglich ist das mit dem Programm RSPARAM) und diese ggf. ändern. Bitte betrachten Sie die angegebenen Werte als Vorschlagswerte.

  • Rdisp/gui_auto_logout = 1800
    Auto-Logout-Funktion. Ein Anwender der nicht aktiv im R/3® arbeitet wird nach 30 Minuten automatisch abgemeldet.
  • Login/fails_to_session_end = 3
    Bei dreimaliger Falschanmeldung am R/3-System wird die Verbindung automatisch beendet.
  • Login/fails_to_users_lock = 5
    Nach fünf falschen Kennworteingaben wird der R/3®-Benutzer (User) gesperrt. Erst durch eine Entsperrung durch den Systemadministrator ist eine erneute Anmeldung wieder möglich.
  • Login/min_password_lng = 6
    Das Kennwort des Anwenders muss mindestens sechsstellig sein.
  • Login/password_expiration_time = 90
    Das Kennwort des Anwenders “verfällt” nach drei Monaten. Er wird aufgefordert, ein neues Kennwort zu vergeben.
  • Rec/client = ON
    Dieser äußerst wichtige Schalter steuert die Tabellenprotokollierung je Mandant (vergessen Sie nicht den SAP© Auslieferungs-Mandanten 000). Aufgrund der in Deutschland gesetzlich vorgeschriebenen Nachvollziehbarkeit von Programmänderungen (Tabelleninhalte sind als ausgelagertes Programmcoding zu verstehen) muss dieser Profilparameter stets aktiviert sein!

Sonstiges

Das Programm RPUAUD00 ermöglicht eine Protokollierung der Änderungen von Infotypen. Somit ist es möglich zu rekonstruiert, welcher Sachverhalt von welchem Anwender zu welchem Zeitpunkt gepflegt wurde. Dies ist insbesondere für kritische Informationstypen wie etwa dem Infotypen Basisbezüge (0008) sinnvoll! Alte Änderungsprotokolle lassen sich hierbei mit dem Programm RPUAUD00 wieder löschen. Beachten Sie das für die Protokollierung notwendige Customizing: Damit Veränderungen von Infotypfeldern (Ändern, Anlegen, Löschen) als Belege erfaßt werden, müssen die entsprechenden Felder in den Views Belegrelevante Infotypen (V_T585A), Feldgruppendefinition (V_T585B) und Feldgruppeneigenschaften (V_T585C) gepflegt werden.

Der Report RPUPROTD liefert Ihnen eine genaue Auflistung der Programmstarts kritischer Auswertungen. Beachten Sie das notwendige Customizing: Protokolle zu den Reportsstarts werden nur dann erzeugt, wenn der auszuführende Report in der Tabelle HR Reportattribute (V_T599R) vorhanden und die Markierung Protokollierung beim Start im Online erwünscht gesetzt ist.

Sofern Sie ESS (Employee Self Service) Szenarien (z. B. Entgeltnachweis über Internet/Intranet) einsetzen, schützen Sie dringend den Infotypen Kommunikation (0105 Subtyp 0001) vor unbefugter Manipulation! Andernfalls könnte sich ein Anwender an dieser Stelle einen fremden R/3®-Benutzer (User) als den seinen zuordnen und würde über den “Umweg” ESS dann Zugriff auf diese Personalnummer erhalten.

Verpflichten Sie alle HR-Endanwender dazu, Bildschirmschoner mit Kennwortschutz einzusetzen. Was nutzt ein perfektes Berechtigungskonzept, wenn ein Anwender mit geöffneten SAP Modus das Zimmer verlässt und unauthorisierte Personen so Einblick erhalten?

powered by SchefflerConsulting – Human Capital Management mit mySAP HR©

Enno Wulff