Wir freuen uns, die bahnbrechende Force Vision Threat Detection Enhancement für die werthAUDITOR Plattform ankündigen zu können!
Unser Force Vision-Modul ist als einzige SAP-Security Lösung in der Lage, unerwünschte privilegierte Anmeldungen in Echtzeit zu erkennen ohne sich dabei auf die übliche und anfällige Mustererkennung zu verlassen. Sicherheitsadministratoren können jetzt zuverlässig Anmeldungen erkennen, die eine Rechteausweitung missbrauchen oder gestohlene Administratoranmeldeinformationen verwenden. Denn Force Vision bewertet automatisch, ob es sich bei der Anmeldung um eine legitime Administratoranmeldung oder die Verwendung gestohlener Anmeldeinformationen handelt. Die integrierte Echtzeit-Erkennung erhöhter Berechtigungen zeigt jede Rechteausweitung bei normalen Benutzern an.
Somit ist eine unmittelbare Reaktion auf unerwünschte Systemzugriffe möglich.
Ab Sofort ist die Zukunft der Threat Detection auch für unsere Kunden verfügbar!
Beim Anzeigen von Webseiten in SAP Business Client mittels dieses Open-Source-Browser-Controls können sich verschiedene Schwachstellen, wie Speicherschäden, Offenlegung von Informationen usw. manifestieren. Diese Schwachstellen können sich wie folgt auswirken:
Offenlegung von Systeminformationen oder Systemabsturz
Auswirkung auf die Vertraulichkeit, Integrität und Verfügbarkeit eines Systems.
Ausnutzung der Informationen zur Durchführung von gezielten Angriffen mit ernsthaften Folgen.
Über offene Schnittstellen können von nicht authentifizierter Angreifern Vorgänge ausgeführt werden, die Benutzer und Daten im gesamten System beeinträchtigen. Der Angreifer erhält vollen Lesezugriff auf Benutzerdaten und kann eingeschränkte Änderungen an Benutzerdaten vornehmen. Zudem kann die Performance des Systems negativ beeinflusst werden.
Dies kann der Vertraulichkeit großen Schaden zufügen und hat begrenzte Auswirkungen auf die Verfügbarkeit und Integrität der Anwendung.
Ein authentifizierten Angreifer kann mit Hilfe der Schwachstelle vertrauliche Informationen lesen, die normalerweise eingeschränkt sind. Vollumfänglich Gefährdung der Anwendung möglich. Starke Beeinträchtigung der Vertraulichkeit, Integrität und Verfügbarkeit möglich.
Mögliche Ausnutzung einer Code-Injection-Schwachstelle, die einem Angreifer Zugriff auf Ressourcen ermöglicht, für die zusätzliche Berechtigungen erforderlich sind.
Starke Beeinträchtigung der Vertraulichkeit, Integrität und Verfügbarkeit des Systems
Die Schwachstelle führt nicht die erforderlichen Authentifizierungsprüfungen durch, was zu fehlenden oder falschen Berechtigungsprüfungen für einen authentifizierten Benutzer führen kann. Dadurch ist eine Rechteausweitung möglich. Abhängig von der Anwendung und der jeweiligen Berechtigungsebene kann ein Angreifer Funktionen missbrauchen, die auf eine bestimmte Benutzergruppe beschränkt sind, und eingeschränkte Daten lesen, ändern oder löschen.
Die Schwachstelle ermöglicht es einem Berichtsersteller, Dateien aus dem lokalen System über das Netzwerk in den Bericht hochzuladen. Nach Ausnutzung der Schwachstelle kann der Angreifer sensible Daten lesen und ändern, was große Auswirkungen auf die Vertraulichkeit und Integrität der Anwendung hat.
Ein authentifizierten Angreifer kann durch eine Aufforderung an einen offenen Port einen Speicherbeschädigungsfehler in einer Bibliothek verursachen, der zu einem Absturz der Zielkomponente führt. Dadurch ist sie nicht mehr verfügbar.
Die Code-Injection-Schwachstelle ermöglicht es einem Angreifer ohne Berechtigungen, unbemerkt VBScript-Code in ein Dokument hineinzubringen. Durch das Öffnen des Dokumentes führt die Anwendung den Code im Namen des unwissenden Benutzers aus.
Durch die Aktivierung von Sicherheitsoptionen in der Anwendung, die nicht als Standard festgelegt sind, werden nicht vertrauenswürdige Skripte deaktiviert oder der Benutzer wird zu einer Bestätigung der Ausführung aufgefordert.
Die Schwachstelle ermöglicht es dem Angreifer bei erfolgreicher Ausnutzung alle Betriebssystemdateien zu löschen. Dies hat eine eingeschränkte Auswirkung auf die Integrität und vollständig beeinträchtigt der Verfügbarkeit des Systems zur Folge.
Ein Angreifer kann einen JavaScript-Code einschleusen, der in der Web-Anwendung ausgeführt werden kann und somit das Systemverhalten der Anwendung steuern.
Durch die App werden nicht die erforderlichen Berechtigungsprüfungen für einen authentifizierten Benutzer durchgeführt. Ein Angreifer hat somit die Möglichkeit, unbeabsichtigte Aktionen ausführen. Dies führt zu einer Rechteausweitung, mit geringen Auswirkungen auf die Vertraulichkeit und Integrität ohne Auswirkungen auf die Verfügbarkeit des Systems.
Ein nicht authentifizierten Benutzer kann durch die Schwachstelle Code-Snippets über die UI lesen, was geringe Auswirkungen auf die Vertraulichkeit und keine Auswirkungen auf die Verfügbarkeit oder die Integrität der Anwendung hat.
Ein nicht autorisierter Benutzer kann anonym auf die Administratorsicht einer bestimmten Funktion zugreifen. Bei erfolgreicher Ausnutzung der Schwachstelle kann der Angreifer die E-Mail-Adresse des Benutzers anzeigen. Keine Auswirkungen auf die Integrität/Verfügbarkeit.
Durch die Anwendung kann ein authentifizierten Angreifer die XML-Datei als Anlage hochladen. Durch Anklicken der XML-Datei im Anlagenabschnitt wird die Datei im Browser geöffnet, sodass die Entitätsschleifen den Browser verlangsamen.
In a recent penetration test i had the pleasure to battle with a well known EDR system. The result was so surprising that I would like to report about it here.
Pattern based detection
The first lesson to learn was that EDR relies heavily on pattern based detection of malware. I had some evidence to support this thesis: known malware and attack patterns were detected and reported immediately.
The sticking point at this time, however, was that I already had a remote shell with NT system rights in which I tested the detection of the „known“ malware.
Bypassing EDR
So how did i manage to get so far without triggering EDR? This was so easy that i myself didn’t even noticed what i already did.
I’ve just been using self created remote shells, so no kind of pattern machting was able to detect them.
System access was possible with gathered credentials and abusing a service running as system.
Both kept undetected by EDR.
Pattern evasion
With a reliable shell i deceided to start powershell. The strong focus on pattern recognition should help me to bypass AMSI. So i just used a heavy obfuscation and a manual approach to disable AMSI. That worked like charm on the first try.
Loading additional powershell scripts didn’t raise any alarms.
Muting EDR
For completeness I have tried to silence the EDR. This was a task of minutes! I had several options. The core idea was to stop communication to the cloud. As i had enough rights to configure Firewall or DNS Resolution i was able to block that communication. From there no more alrams even for well known tools like mimikatz have been raised. Even abusing dumped credentials from lsass for lateral moving didnt trigger any alert.
Lessons learned
Within minutes using trivial methods EDR can bei bypassed! I won’t share any details here, but you know pattern evasion has a thousand possibilities. Blocking traffic is quite simple, too.
So what can a defender do? First, really evaluate your product of choice before implementation!
Second, listen also to the quiet sounds.
Even low suspicious events may be the tip of the iceberg. Be sensible and investigate – early!
Ask yourself, how could this happen? Why don’t I see more messages?
Ein durchdachtes und gepflegtes SAP-Berechtigungskonzept ist ein wichtiger Baustein für das Sicherheits- und Compliance-Rahmenwerk eines Unternehmens. Mangelndes Verständnis über die Bedeutung für Sicherheit- und Compliance oder historisch gewachsener Wildwuchs kann jedoch zu vielfältigen Risiken, wie Compliance-Verstößen, Diebstahl, Betrug oder Sabotage führen und erheblichen Schaden verursachen.
Hier sind die häufigsten Berechtigungsfehler, die uns in unserer Praxis begegnen:
Fehler # 1: Berechtigungen mit der
Gießkanne verteilen
Die inflationäre Vergabe von Zugriffsrechten ist einer der häufigsten Fehler in Unternehmen.
Wird nicht von Beginn an auf eine saubere Vergabe von Rechten geachtet, entsteht im Laufe der Jahre historisch gewachsener Wildwuchs. Durch geerbte Rollen oder Vertrauen in die Person erlangen Benutzer Zugriff auf sensible Daten oder Funktionen, die sie für ihre Arbeit nicht benötigen. Dadurch können folgende Szenarien entstehen:
• Ein Angreifer kann einen Account übernehmen und in Namen des Benutzers Schaden anrichten
• Ein böswilliger Benutzer kann weitreichende Zugriffsrechte ausnutzen, um eigene Interessen zu verfolgen
Die Vergabe von System- und Benutzerberechtigungen und sogar Notfallberechtigungen ist in der Praxis kein Einzelfall und kann verheerende Folgen für das Unternehmen haben. Dies gilt auch für Standard Benutzerkonten wie z.B. SAP * und DDIC.
Die restriktive Vergabe von kritischen Berechtigungen und die Vermeidung kritischer Rechtekombinationen ist für ein robustes Berechtigungsmanagement von zentraler Bedeutung.
Fehler #2: Schlecht konzipiertes
Rollendesign
Die SAP-Benutzerrollen sind als Schnittstelle zu den Berechtigungen ein wichtiger Bestandteil des SAP-Berechtigungsmanagements. Ein schlecht durchdachtes Rollendesign, in dem z.B. Rollen immer weitervererbt und mit zusätzlichen Transaktionen „bereichert“ werden, kann Sicherheitsrisiken, Compliance-Probleme und Ineffizienz zur Folge haben.
Daher sollten Unternehmen einen robusten Designprozess zur Entwicklung von Rollen etablieren, der auf Basis von Jobfunktionen, der Zuordnung der Rollen zu konkreten Funktionen und Daten sowie das Testen der Rollen einbezieht.
Auch das regelmäßige Kontrollieren der Rollen auf Aktualität, Relevanz und Effizienz ist für einen reibungslosen Prozess unabdingbar.
Fehler #3: Ignorieren
der Funktionstrennung (SoD)
Bei der Einrichtung von Berechtigungen und Benutzerrollen muss sichergestellt werden, dass kein einzelner User-Funktionen ausführen kann, die zu Missbrauch oder Fehlern führen können. Mit Hilfe der Funktionstrennung (SoD) soll innerhalb einer Organisation der Missbrauch kritischer Kombinationen von Tätigkeiten innerhalb eines Prozesses verhindert werden. Die Praxis jedoch zeigt, dass viele Unternehmen SoD ignorieren. Dadurch können erheblichen Sicherheits- und Compliance-Risiken entstehen.
Die regelmäßige Kontrolle der Benutzerzugriffe ist ebenso von großer Bedeutung und hilft dabei Konflikte in der Funktionstrennung sowie Verstöße gegen SoD-Richtlinien zu identifizieren und fehlerhafte Vergaben von Berechtigungen zu beheben.
Im Rahmen der SAP-Security ist ein gepflegtes Berechtigungsmanagement ein wichtiger Baustein und als permanenter Prozess zu sehen. Daher ist die regelmäßige Kontrolle der Berechtigungen, Benutzerrollen und Zugriffsrechte von großer Bedeutung. Um ein wirksames Berechtigungskonzept zu etablieren, ist es ebenfalls von großer Bedeutung, bei Administratoren und Benutzern das Bewusstsein für den Stellenwert von Sicherheitsmaßnahmen zu schärfen und Wissen in Form von Aus-und Weiterbildungen zu vermitteln.
Berechtigungsmanagement mit werthAUDITOR
werthAUDITOR bietet eine komfortable und einfache Lösung, um kritische Berechtigungen und – Rechtekombinationen zu identifizieren und in einer übersichtlichen Berechtigungsmatrix abzubilden. Mit Hilfe des integrierten Berechtigungssimulators lassen sich Rollen und Profile auswählen und on the fly analysieren, editieren und exportieren. Somit lässt sich der Prozess erheblich vereinfachen und typische Fehler können vermieden werden.
werthAUDITOR - Erfolgreicher Security Prozess durch Veredelung mit automatisiertem Task Management
Für einen wirkungsvollen Security Prozess ist es wichtig, dass die ermittelten Problemstellungen strukturiert und nachverfolgbar abgearbeitet werden können. Unsere Lösung unterstützt den Prozess, indem sie automatisierte Tickets mit allen Informationen erzeugt und aktualisiert. Aktuell unterstützt werthAUDITOR Jira, TheHive und ServiceNow.
• Kombination von SAP SQLA für PowerDesigner 17 mit SAP PowerDesigner 16.7 SP06 PL03ermöglicht Steuerung des Systemverhaltens durch Platzieren einer schädlichen Bibliothek, die von der Anwendung ausgeführt werden
• Cross-Site-Scripting (XSS) ermöglicht das Einfügen schädlichen Code in den Inhalt einer Webseite / Anwendung und an den Clienten zu senden >> Beeinträchtigung der Vertraulichkeit, Integrität und Verfügbarkeit der Anwendung
• Überschreibung einer ausführbaren Datei durch authentifizierten Angreifer im Netzwerk während Installationsprozesses möglich >> Gefährdung der Vertraulichkeit, Integrität und Verfügbarkeit des Systems
• Möglicher Zugang in den Netzwerkverbund der SAP-Systeme , die vom angegriffenen SAP-Message-Server gesteuert werden. >> unberechtigter Lese- und Schreibzugriffen auf Daten sowie zu einer Nichtverfügbakeit des Systems
• Absenden gezielter Abfragen über das Netzwerk möglich. SQL-Daten kann gelesen oder geändert werden >> Beeinträchtigung der Vertraulichkeit , der Integrität und Verfügbarkeit der Anwendung
• Cross-Site-Scripting-Schwachstelle (XSS) durch unzureichend kodierte benutzergesteuerte Eingaben (Einige Widgets auf der jQuery-UI vor Version 1.13.0)
Werth IT, Hersteller der prämierten SAP-Security-Lösung WerthAuditor bietet das, wonach viele SAP-Kunden seit langem suchen: ein tiefgreifendes und manipulationssicheres System zur Angriffserkennung und Sicherheitsbewertung ihrer SAP-Landschaft. Brandneu ist das Security Dashboard 2.0, das alle durch den WerthAuditor erkannten Sicherheitsrisiken in den Systemen visualisiert und eine Bewertung der zugehörenden Sicherheitsprozesse ermöglicht. Das interaktive und editierbare Dashboard bereitet übersichtlich alle Sicherheitsinformationen in Echtzeit auf.
Das neue Security Dashboard 2.0 der WerthAuditor-Plattform für SAP-Systeme ermöglicht wertvolle Analysen und Zugriff auf Sicherheitsdaten in Echtzeit
Der diesjährige 1. Mai war für viele IT-Experten nicht nur ein Feiertag, sondern vor allem ein Tag, der SAP-Kunden vor neue Herausforderungen stellt: Denn ab dem 1. Mai 2023 greift das IT-Sicherheitsgesetz 2.0 (kurz IT-SIG 2.0), das die deutsche KRITIS-Regulierung von 2015 deutlich erweitert. Das bedeutet: mehr Pflichten für Unternehmen und IT-Verantwortliche, höhere Cyber-Security-Anforderungen und erweiterte Befugnisse für Staat und Regulierungsbehörden. Eine anspruchsvolle Aufgabe für Unternehmen, die für ihre kritischen Infrastrukturen SAP einsetzen und somit im Fokus des IT-SIG 2.0 stehen, denn die meisten Lösungen erfüllen die steigenden Security-Anforderungen nicht im gewünschten Umfang.
Security Dashboard 2.0 – Angriffserkennung und Risiken auf einen Blick
Die neueste Innovation der Werth IT – ein übersichtliches Dashboard, das alle Sicherheitsrisiken sowie die dazu gehörenden Sicherheitsprozesse in den Systemen innerhalb einer Oberfläche in Echtzeit aufzeigt – kommt daher genau zur richtigen Zeit. Die Visualisierung sämtlicher Sicherheitsinformationen aller miteinander kommunizierenden Systeme der kompletten SAP-Landschaft zentral in nur einem Dashboard ist eine echte Innovation und ein Alleinstellungsmerkmal der Lösung. Zudem können Security-Fachkräfte aus dem Haupt-Dashboard heraus die für ihren Verantwortungsbereich relevanten detaillierteren Einzel-Dashboards ansteuern und tiefgreifende Informationen zu einzelnen Bereichen abrufen. Ebenfalls äußerst wertvoll: Das Dashboard zeigt in Echtzeit und en Detail, wie sicher die SAP-Landschaft aufgestellt ist, welche Rubriken zu verbessern sind und wo unmittelbares Handeln erforderlich ist.
Die wichtigsten Features des WerthAuditor in Überblick
Der WerthAuditor bietet SAP-Kunden eine umfassende Angriffserkennung: Er enttarnt Angriffe, deckt Sicherheitsrisiken auf und visualisiert die zugehörigen Sicherheitsinformationen – in allen miteinander kommunizierenden Systemen der IT-Landschaft. Jederzeit und in Echtzeit analysiert die Security-Lösung die Sicherheitskonfiguration, weist auf fehlende SAP-Security-Notes und Patches hin und überprüft den gesamten ABAP-Quellcode – und zwar nicht nur den für Kunden zugängigen Bereich, der lediglich einen kleinen Teil das ABAP-Codes ausmacht. Ferner prüft die Lösung das Betriebssystem, die Datenbanken, Schnittstellen sowie die Berechtigungen. Zusätzlich lässt sich an der Entwicklung des Security-Reifegerades sowie der Lebensdauer von Schwachstellen die Wirksamkeit der internen Security-Prozesse ablesen und analysieren.
Modernste, intelligente Security-Analyse mit mehr als 2.000 Prüfungen
Während herkömmliche Prüfsysteme die erhobenen Daten häufig in Tabellen darstellen, verwendet Werth IT die SIEM(Security Information and Event Management)-Technologie, mit deren Hilfe alle gesammelten Sicherheitsdaten vollständig über Schlagworte und beliebige Zeiträume filterbar sind und ganzheitliche, tiefgreifende Sicherheitsanalysen aller Systeme ermöglichen. Dies bedeutet zugleich maximale Effizienz für Threat Detection, Vulnerability Management und Patch Management.
Weitere wichtige Aspekte: Die Werth-IT-Lösung arbeitet mit Zero Footprint und erfordert keine Softwareinstallation beziehungsweise Agenten auf dem lokalen System. Ebenfalls wichtig: Die Lösung benötigt keine stehende Internetverbindung. Dadurch sind alle Sicherheitsdaten manipulationssicher, denn Angreifer der überwachten SAP-Systeme können nicht auf die Prüflogik, das Dashboard oder dessen Daten zugreifen.
Für die Sicherheits-Teams und die Verantwortlichen stehen mehrere vollständig anpassbare Dashboards zur Verfügung. „Das Management und die IT nutzen unser Security Dashboard für den Zugriff auf unverfälschte Echtzeitdaten, um auf dieser Basis kompetente und richtungsweisende Beschlüsse zu fassen. Mit über 2.000 Prüfungen und einem kontinuierlichen Monitoring liefert der WerthAuditor optimale Voraussetzungen, um alle Anforderungen des IT-SIG 2.0 zuverlässig zu erfüllen“, erklärt Thomas Werth, Geschäftsführer der Werth IT.
Das Security Dashboard 2.0 für SAP ist ab sofort verfügbar und als Webanwendung von jedem Device aus aufrufbar.
Das IT Sicherheitsgesetz Version 2.0 verpflichtet in §8 Unternehmen und Behörden, die zu den kritischen Infrastrukturen zählen, ein Angriffserkennungsystem für alle IT-Systeme zu etablieren, die Geschäftsprozesse der eigenen kritischen Dienstleistungen verarbeiten.
Aus meiner Sicht (keine Rechtsberatung!) könnte §8 wie folgt interpretiert werden:
Muss Vorgaben
Ein System zur Angriffserkennung für (kritische) IT-Systeme.
Kontinuierliche automatische Erfassung und Auswertung geeignerter Parameter und Merkmale (Logs, Konfigurationsparameter,..)
Sollte Umgesetzt werden
Fortwährende Identifizierung von Bedrohungen
Ausführen und Anzeigen von Maßnahmen zur Vermeidung und Beseitigung für (eingetretene) Störungen
Was ist zu tun?
Laut Gesetz sind die Anforderungen zum 01.05.2023 zu erfüllen. Entsprechend sollten betroffene Unternehmen prüfen, welche Systeme gemäß IT-SiG 2.0 betroffen sind. Dies in einer für einen Auditor nachvollziehbaren Form.
Es folgt die GAP Analyse bei der Angriffserkennung. Sind diese Systeme mit einer wirksamen Lösung abgedeckt?
Falls nicht besteht Handlungsbedarf und der Support des Management ist einzuholen, um eine wirksame Lösung (beispielsweise den werthAUDITOR für SAP-Systeme) zu beschaffen und in Betrieb zu nehmen.
Das SAP-System in der Cloud zu betreiben etabliert sich vermehrt als valide Option für den SAP-Betrieb. Es klingt alles so schön einfach und sicher soll es ja auch sein. Kann man das Blind glauben? Was macht eigentlich Sicherheit in der Cloud aus? Reicht es aus, wenn das System selbst sicher ist?
Mir drängt sich da noch eine weitere Frage auf, um überhaupt etwas zur Sicherheit sagen zu können:
Wie funktioniert eigentlich Cloud?
DevOps und Cloud gehen für mich Hand in Hand. Ohne DevOps wäre der Betrieb einer Cloud gar nicht möglich. Stark vereinfacht ist DevOps die Transformation der Serverlandschaft in „Software“. Man beschreibt seine Dienste und Server in Konfigurationsdateien und die DevOps Werkzeuge „generieren“ dann die dort beschriebenen Systeme. Schrauben ziehen in einem Rack, Betriebssystem installieren, passende Pakete suchen – all das gehört seit DevOps zur die „alten Zeit“.
Auf dieser Basis ist es möglich in der Cloud hunderte oder sogar zigtausende Systeme zu orchestrieren.
Wie genau funktioniert das denn jetzt wieder?
Nähern wir uns dem Thema mal in einer Vereinfachung ohne zu tiefe Details. Docker hat einen enormen Siegeszug hinter sich. Das nicht ohne Grund. Ist man mit Docker doch in der Lage quasi einen Dienst zu isolieren. Man braucht einen Webserver? Kein Problem „Nimm einen Docker Container“. Egal ob nginx oder Apache es gibt vorgefertigte aktuelle Container. Doch auch selbst einen passenden Docker zu erstellen ist nicht viel mehr als eine Konfigurationsdatei zu schreiben. Hier wählt man ein Basis-Image. Gibt Anweisungen zur Erstellung der Web-Server Konfiguration und verweist auf ein Verzeichnis in dem die Webseiten liegen (idealerweise als mount außerhalb des Dockers). Abgerundet wird die Konfiguration durch ein Init-Skript, das über ENVIROMENT Variablen die individuelle Konfiguration setzt (wie den Domain-Namen).
Kurzum mit Docker sind Dienste nicht mehr fest im System verankert, sondern isolierte „Container“-Baukästen, die individuell nach Bedarf zusammengesetzt werden können. Die Kombination aus einem Webserver Container und einem Datenbank Container ersetzt das klassische System auf dem alles direkt installiert wurde.
Dies ist ein wesentlicher Kern der Idee von Infrastruktur als Code. Es ist von der Idee her so „einfach“: Eine Beschreibung der Komponenten und wann diese „laufen“ sollen sowie den Namen der Maschine und welche Pakete zu installieren sind – fertig. Den Rest erledigen die Werkzeuge und erschaffen die Infrastruktur. Auf Basis der Beschreibung werden die Systeme in der definierten Anzahl erschaffen. Abweichungen (Systemausfälle, Zusätzliche Systeme oder wenige aufgrund der aktuellen Last,…) werden automatisch korrigiert. Firewall-Konfigurationen, Änderungen an IP-Adressen, mehr Speicherplatz – alles auf Knopfdruck. Das ist DevOps, die Magie hinter der Cloud.
Werkzeuge
Terraform ist eines der bekanntesten Werkzeuge für diese Aufgabe und wird von vielen Cloud-Providern wie AWS unterstützt. Es wird eingesetzt um letztlich die „Server“ in der Cloud zu erstellen und zu steuern. Dazu zählen ssh-keys, Firewall-Regeln, „Hardware-Ausstattung“, Anzahl der Systeme und mehr. Es kann auch die Docker-Container auf den Servern installieren. Doch möchte man tausende solcher Container verwalten, ist dieser spezielle Punkt bei Kubernetes besser gelöst als „nur“ Terraform zu nutzen.
Kubernetes ist Spezialist für Docker-Container. Egal ob die laufenden Container durch eine neue Version ersetzt werden sollen oder ein Load-Balancer die Zugriffe verteilen soll oder die Anzahl aufgrund hoher Last verdoppelt werden soll. Das alles macht Kubernetes mit „links“. Um dies zu ermöglichen, bündelt Kubernetes „Server“ in Kubernetes Cluster. Mehrere Container werden für den gemeinsamen Nutzungszweck in „Pods“ als eine Einheit zusammengefasst. Diese Pods leben virtuell auf einem „Node“. Früher war dies das „Blech“ auf dem Server letztlich lief. Mit einem „Deployment“ wird dann beschrieben wie viele Pods wann und wo laufen sollen und wie die Replikationsstrategie aussehen soll. Bei den Deployments ist das „Update“ ein herausragendes Feature. Man kann live seine Systeme updaten und Kubernetes sorgt dafür, dass während des Updates keine Downtime entsteht und am Ende alle Pods auf der neuen Version sind. Für Load-Balancing lassen sich verschiedene Pods mit demselben Dienst zu „Services“ zusammenfassen. Bisher spielt die Musik aber nur „in“ dem jeweiligen Kubernetes Cluster, für Zugriff von außen muss noch ein „NodePort“ erstellt werden, damit wird der Dienst dann nach außen geöffnet. Soweit doch schon ein wenig Komplex, trotz unserer sehr hohen Flughöhe. Die Zugriffsberechtigungen der Systeme untereinander werden über Rollen und Policies definiert. Dies variiert je nach Cloud-Anbieter und kommt als weitere Komplexitätsschicht oben drauf.
Dies alles ist der Kern hinter der Mammut-Aufgabe eine Cloud zu betreiben.
„Bereits ohne SAP-Systeme ist ein Cloud Betrieb komplex. Die Konfiguration aller Komponenten ist letztlich eine zusätzliche Ebene für die Systemsicherheit. Kann ein Angreifer Schwachstellen in der Konfiguration ausnutzen und Zugriffsrechte auf die Cloud erhalten und ausweiten, dann geraten auch die Systeme dort in Reichweite für den Angreifer. “
Sehen wir uns mal an wie Amazon das SAP Hosting umgesetzt hat. In einem Blog-Eintrag wird das SAP-Hosting vorgestellt. Terraform ist dabei ein wesentliches Element zur Erzeugung der Infrastruktur und auch Dev-Ops ist gern gesehen. Es stehen verschiedene Instanzen („virtuelle Hardware“ mit Maßgabe von Speicher und CPU) als Grundgerüst für ein SAP-System zur Auswahl. Individuelle Installations-Dateien sind über S3 Buckets (Key/Value Ablagesystem) verfügbar. Berechtigungen lassen sich über IAM Rollen für Systeme und Administratoren steuern.
Zusätzliche Werkzeuge wie Cloudwatch (Monitoring) oder auch Backup-Tools sind optional.
Der DevOps Ansatz „Infrastruktur als Code“ wird über eine AWS API unterstützt und damit lässt sich die SAP Infrastruktur in der Cloud automatisiert vom Kunden steuern. Für Terraform stellt Amazon sogar eigene Module bereit, die für die Verwendung mit SAP-Systemen (HANA, Netweaver) ausgelegt sind. Diese Module sind sogar in die Terraform Registry integriert und stehen allen Nutzern zur Verfügung.
Grundlegend entspricht dies dem allgemeinen Cloud-Ansatz, nur wird hier komplett auf den Einsatz von Docker und damit auch Kubernetes für den SAP-Anwendungsfall verzichtet. Das ist auch Nachvollziehbar, da ein SAP-System nicht in einen Docker-Container passt. Ebenso sind die Vorteile von Kubernetes nicht voll und ganz ausspielbar. Wer hat schon tausende SAP-Systeme oder fährt mal eben ein paar zusätzliche Systeme hoch, weil „zu viele“ User damit arbeiten?
Was bietet SAP zusätzlich?
SAP selbst bietet auch Hosting in der Cloud an und greift dabei auf die etablierten Anbieter wie Amazon, Microsoft und Google zurück. Als Mehrwert bietet SAP nach eigener Darstellung verschiedene Sicherheitsmaßnahmen.
(Quelle SAP)
Zugriffsschutz ist auf verschiedenen Ebenen vorhanden. Dennoch sieht man an dem Schaubild, dass SAP Mitarbeiter als Cloud Administratoren auf jede private Cloud zugreifen können. Das muss natürlich auch sein, da SAP letztlich die Systeme betreibt. Nennen wir es mal Wertungsneutral den SAP Master Zugriff.
Zudem betont SAP seinen Zero Trust Ansatz, in dem die unterschiedlichen Schichten keine Vertrauensstellung besitzen.
(Quelle SAP)
Alles sicher?
Dies ist ein sehr lobenswerter Ansatz, da gerade Vertrauensstellungen gerne mal ausgenutzt werden. Man denke nur an Social Engineering oder die RFC-Trust Destinations der SAP-Systeme. Der Boden auf dem alles steht ist der externe Cloud Anbieter. Von Amazon haben wir erfahren, dass Terraform alles für ein SAP-System aus dem Hut zaubern kann. Sogar beliebige Installationsdateien über S3 Buckets und die individuellen Berechtigungen über die IAM Rollen. Was passiert wohl, wenn jemand sich hier Zugriff verschaffen kann und beliebig Berechtigungen vergeben kann oder Skripte editiert? Was wenn er die AWS Policies anpasst und somit faktisch die Firewallregeln neu schreibt? Wie hoch bleibt der Schutz durch den Zero-Trust für die restlichen Komponenten? Das sieht jedenfalls nach dem ersten Ansatzpunkt für einen Angreifer aus.
SAP hat auch Verwendung für Docker und Kubernetes.
(Quelle SAP)
Da sind sicher einige Funktionen, die auch aus Security Sicht nützlich sind. Doch Docker und Kubernetes als Security Feature darzustellen ist sportlich. Natürlich nutzt man nicht den Default Namespace und auch keine privilegierten Container. Ein solcher Container kann im Handumdrehen als Root auf das „hostende“ System zugreifen. Doch auch nicht privilegierte Container sind nicht automatisch hoch sicher. Wesentlich wichtiger ist jedoch der Schutz von Kubernetes. Wird Kubernetes zum Angriffsziel, kann das gesamte Königreich fallen – mit allen SAP-Systemen darin. Auch wenn diese gar nicht von Kubernetes verwaltet werden. Sicherheitsfeatures kannte Kubernetes beim Relese gar nicht, nicht einmal Authentifizierung. Das wurde erst 2 Jahre nach dem ersten Release nachgereicht. Das macht ja Hoffnung… Die Frage ist nur wem?
Was passiert bei einem Cyberangriff auf die Cloud?
Begeben wir uns mal gedanklich in die Welt eines Angreifers, der unser Unternehmen attackieren möchte. Unser Unternehmen nutzt die Cloud umfänglich. Web-Server, File-Server, SAP-Systeme, Datenaustausch – für alles hat die Cloud eine Anwendung und die wird auch benutzt. Ist ja einfach.
Step 1: Ziel virtualisieren
Zunächst müssen wir unser Ziel „virtualisieren“ – also Angriffsziele im Cyberraum finden. Für einen schnellen Start nehmen wir die Domain und suchen Subdomains. Hier gibt es verschiedene Hilfsmittel SubList3r, Spiderfoot oder Fernmelder. Schnell haben wir mit diesen eine Liste mit DNS Namen zur Hand. Wir suchen jetzt Systeme, die in der Cloud laufen. Dies lässt sich am einfachsten mit der Webseite DNSCharts bewerkstelligen. Hier laden wir unsere Liste mit DNS Adressen und sortieren die Ausgabe nach den „Services“.
(Auszug Ergebnisse dnscharts)
Wir kennen somit ein paar Systeme, die in der Cloud betrieben werden. Dort sitzen auch die SAP-Systeme und zu denen möchten wir gelangen. Wie kommen wir jetzt also weiter?
Step 2: Die MetaAPI
AWS bietet eine MetaAPI auf der IP Adresse http://169.254.169.254/ . Die API bietet verschiedene Informationen an sowie die Möglichkeit temporäre Credentials auszustellen. Jedoch ist die API nur innerhalb der Cloud ansprechbar. Ein Sicherheitsfeature? Damit die API nicht von außen verwendet werden kann? Wir benötigen also einen „Helfer“, um mit der API sprechen zu können. Die gute alte SSRF Schwachstelle kommt hier wie gerufen. Diese Schwachstelle erlaubt es einen Server als „Proxy“ zu missbrauchen, um Anfragen an einen dritten Server im geschützten Netzwerk (Cloud) zu stellen.
Wir suchen also einen Server der Verwundbar gegen diese Schwachstelle ist. Dieser Server muss in der Cloud stehen, damit er uns zur MetaAPI leiten kann. Der ZAP Proxy kann solche Schwachstellen erkennen. Für den nächsten Schritt prüfen wir also erneut unsere Liste der Domains und nehmen die ins Visier, die laut dnscharts bei AWS gehostet sind. Mit ZAP wird ein aktiver Scan gefahren und nach SSRF Schwachstellen gesucht.
Bingo! Wir sind fündig geworden. Dies ist übrigens oftmals bittere Realität, wie man am Beispiel des Capital One Hacks nachlesen kann. Im Folgenden wird die gefundene SSRF Schwachstelle ausgenutzt, um gezielt eine URL der API aufzurufen. Ich spare mir hier zur Übersicht den konkreten SSRF Angriff, zumal dieser je nach Webseite hoch individuell ausfällt. Stattdessen zeige ich nur die eigentliche „Ziel-Url“ und deren Auswirkung.
Step 4: Zugriff auf die API
Mit Zugriff auf die API lassen sich nun verschiedene Abfragen tätigen:
http://169.254.169.254/latest/meta-data/iam/security-credentials/full-role.ec2 : Liefert ein Json Objekt, das zu dem Profil „full-role.ec2“ temporäre Zugangsdaten erzeugt: AWS access key ID, secret access key, und session token.
Mit diesen beiden Aufrufen erhalten wir sofort Zugangsdaten zur „privaten“ AWS Cloud unseres Unternehmens. Nur Aufgrund der SSRF Schwachstelle in dem Web-Server.
Damit hat man direkt Zugang zu dem AWS-Konto, in dem die ganzen Systeme laufen.
Damit wir die Zugangsdaten bequem nutzen können installieren wir die AWS CLI Tools:
$ apt install awscli
Und nutzen gleich die erhaltenen Zugangsdaten
$ aws configure
[Zugangsdaten]
Wir können nun die AWS Cloud API verwenden. Dem eigentlichen Ziel, das SAP System zu erreichen bringt uns das nur indirekt näher. Es fehlt uns noch die Adresse des Systems und ein User für das Login.
Step 6: Lateral Movement
Gehen wir noch mal einen Schritt zurück. Der Webserver mit der SSRF Schwachstelle bietet diverse Tarif-Rechner und ähnliches an. Je nach Standort und Kundenkreis werden andere Ergebnisse erzielt. Die Daten zur Berechnung wird nicht der Webserver in einem Docker Container halten. Er muss die Daten von einem weiteren System abfragen. Es ist gar nicht unwahrscheinlich, dass er diese Abfragen direkt an das SAP System stellt. Dazu muss er aber die Adresse kennen und Zugangsdaten besitzen. Docker Container kommen aber genau genommen „von der Stange“, solche individuellen Informationen können erst beim Start übergeben werden. Meist als ENVIROMENT Variablen zur Verwendung in Skripten. Wie kommen wir jetzt an die ENVIROMENT Variablen? Oder das Init-Skript beim Start, welches die Variablen setzt?
Die SSRF Schwachstelle! Bei DevOPs (AWS, Terraform) werden die individuelle Settings in den User-Daten der Systembeschreibung hinterlegt. Die lassen sich auch über die MetaAPI Abfragen:
Als Ergebnis erhalten wir die gesuchten Zugangsdaten und die Public IP Adresse. Dies wird im Rahmen der Installation gesetzt, damit der Web-Server Anfragen an das SAP-System stellen kann.
Jetzt ist noch fraglich wer darf auf das System zugreifen?
Zugriffsrechte werden in AWS mit Policies deklariert. Mit unserem AWS Zugang können wir uns die Instanzen in der „private“ cloud auflisten lassen
$ aws ec2 describe-instances
In dieser Auflistung sind auch die Firewallregeln für den Zugriff enthalten. Wir suchen in der Liste das SAP-System und prüfen die Security Groups, welche die Zugriffsregeln enthalten:
…
„SecurityGroups“: [
{
„GroupName“: „SAPSecurityGroup“,
„GroupId“: „sg-0598c7d356eba48d7“
}
],
…
Sehen wir doch mal nach wer Zugriff auf die Systeme hat:
Man sieht hier, dass je eine Zweigstelle aus New York und Berlin Zugriff haben. Scheinbar ist jedoch auch eine Regel aus einem GO-Live Test noch aktiv: Die IPRange 0.0.0.0/0 ist für alle Zeiten meine Lieblingsrange, insbesondere in Firewall Allow Regeln. Damit darf jeder –wirklich JEDER- mit dem System auf Port 3302 kommunizieren. Vorausgesetzt natürlich man kennt seine Adresse (3.227.102.13) und hat valide Zugangsdaten (web_rfc). Beides kennen wir bereits.
Wir sind also jetzt in der Lage uns über RFC in das SAP-System von überall auf der Welt einzuloggen.
Als Proof of Concept soll uns das an dieser Stelle reichen.
Fazit
Die Cloud ist eine nicht zu unterschätzende neuer Sicherheitsebene für SAP-Systeme. Der Aufbau ist komplex und wurde hier nur angerissen. Die Anbieter bieten diverse Schutzmaßnahmen und Monitoring Instrumente, die gute Arbeit leisten. Der Lesbarkeit geschuldet, habe ich hier auf „Evasion“ Maßnahmen verzichtet, doch es gibt sie!
Diese neue Sicherheitsebene ermöglicht aber auch gänzlich neue Angriffswege, wie dieses Beispiel gezeigt hat. Von der Aufspürung der Systeme, über eine SSRF-Schwachstelle im Web-Server mit Zugriff auf die MetAPI haben wir Zugriff auf die AWS erhalten. Dort konnten wir die Zugriffskonfiguration zu dem SAP System einsehen und über die MetaAPI sogar Zugangsdaten finden. Damit war ein Zugriff auf das SAP-System möglich, was uns niemals ohne die „Cloud“ gelungen wäre. Dies bedeutet jetzt nicht, dass die Cloud unsicher ist. Es zeigt nur, wie ernst die neue Ebene zu nehmen ist. Denn es sind ganz neue Pfade zu den SAP-Systemen entstanden. Das Beispiel war bewusst einfach gewählt, doch auch die Ausweitung der Rechte in der Cloud, die Re-Konfiguration von Policies und Rollen ist ein gangbarer Weg, der „nur“ nicht in ein einfaches Bespiel passt. Letztlich haben wir gelernt, dass das „sicherste“ SAP-System dennoch angreifbar ist, wenn die Cloud-Umgebung nicht sicher ist.
Erinnern wir uns doch kurz was wir bisher bei der Mittelstand & Co GmbH erlebt haben. Da war der Sicherheitscheck mit brisanten Ergebnissen: SAP_ALL User gewürzt mit einer unbemerkten Backdoor im System. Zumindest haben die Ergebnisse des Sicherheitschecks dem Thema SAP-Sicherheit die Unterstützung des Managements verschafft. Das Budget für die in den Budgetverhandlungen vorgelegte Roadmap wurde nachträglich genehmigt. Aufgrund der Hintertür im System ist ein weiteres Thema in den Fokus gerückt: „SAP-Forensik“.
„Damit eine forensische Auswertung eines SAP-Systems erfolgen kann, muss der Analytiker zwingend wissen an welcher Stelle im System welche Sicherheitsrelevanten Ereignisse protokolliert werden. Ebenso muss er die Einschränkungen und Eigenschaften der jeweiligen Log-Daten kennen, um den Inhalt (oder eben den fehlenden Inhalt) korrekt in seine Untersuchung einfließen lassen zu können.
Weiterhin ist zu beachten, dass die meisten Logging-Mechanismen zunächst deaktiviert sind und erst noch zu aktiviveren sind. Es gilt also zu prüfen, welche Logs stehen überhaupt zur Verfügung und wo sind diese zu finden.“
Was sind die ersten Schritte, wenn man etwas Verdächtiges bemerkt? Halten wir uns einfach an die Polizei, die sammelt doch ständig Beweise. Bei der Incident Response ist daher auch einer der ersten Schritte „Beweise sichern“. Im Fall von SAP bedeutet dies relevante Logs zu sichern. Jedoch sind diese Logs teilweise im Standard deaktiviert. Sie helfen also nur, wenn man sie VOR einem Vorfall manuell aktiviert hat.
Erstreaktion: Übersicht der Logs
Welche Logs sind denn im Fall der Falle konkret zu sichern und wo „wohnen“ diese?
Da man in kritischen Situationen ruhig und strukturiert vorgehen soll, sind wir an dieser Stelle ganz ordentlich und bringen die Logs in eine Tabellenform. Diese enthält Stichpunkte zu dem Namen, dem Speicherort und welche zusätzlichen Konfigurationsoptionen im Rahmen einer Auswertung zu beachten sind oder den Dateinamen/Speicherort spezifizieren.
Parallel zu dem Sichern der Logs empfiehlt es sich externe Hilfe anzufordern. Dies ist eine Ausnahmesituation in der auf solche Fälle spezialisierte Personen übernehmen sollten. Also auf „sicheren“ Weg den Dienstleister zur Unterstützung kontaktieren und weitere Schritte (System-Isolation?) abstimmen. Sichere Kommunikation bedeutet hier nicht SSL, sondern einen Kommunikationsweg der sicher nicht von dem Cyber-Angriff betroffen ist. E-Mail ist hier nicht die erste Wahl.
„Ich brauche mehr Informationen!“
Die Checkliste für die Logs ist ideal um schnell die richtigen Logs zu finden und zu sichern. Doch was steht in diesen Logs? Was muss ich zusätzlich beachten? Lernen wir die wichtigsten Logs doch mal kennen.
SECURITY AUDIT LOG
Dieses Werkzeug zeichnet detailliert die Ereignisse im SAP-System auf. Die zu protokollierenden Ereignisse sind durch einen Admin zu konfigurieren. Die Ereignisse sind so zu wählen, dass folgende Daten aufgezeichnet werden:
Sicherheitsbezogene Änderungen an der SAP-Systemumgebung (z. B. Änderungen an Benutzerstammsätzen)
Informationen, die mehr Transparenz bieten (z. B. erfolgreiche und erfolglose Anmeldeversuche)
Informationen, die der Nachvollziehbarkeit einer Reihe von Ereignissen dienen (z. B. erfolgreiche oder erfolglose Transaktionsstarts)
ACHTUNG:
Das Security Audit Log ist im Standard nicht aktiv und ist manuell zu aktivieren! Die Größe der Logdatei kann über den Profilparameter rsau/max_diskspace/local definiert werden. Der Vorschlagswert ist 1MB. Wird dieses Limit erreicht stoppt das Logging und erst mit dem nächsten Tag und einer neuen Logdatei wird wieder protokolliert!
Der Inhalt des Logs kann über die SAP-Transaktion SM20 eingesehen werden.
Jede Logmeldung verfügt über folgende Informationen:
• Servername
• Instanzname
• Workprozess-Typ
• SAP-Benutzer
• Terminalname
• Workprozessnummer
• Transaktionscode
• Programmname
• Mandant
• Meldungstext
• Meldungsgruppe
• Untergeordneter Name (wird zur Bestimmung der Meldungsgruppe verwendet)
• Audit-Klasse
• Sicherheitsstufe
• Dateinummer
• Adresse in Datei
• Parameter, die für den Meldungstext verwendet werden
Damit lässt sich der genaue Zeitpunkt, der verursachende User und Quellcomputer sowie die protokollierte Aktion bestimmen.
SYSTEMLOG
Das Systemlog dient eigentlich der Fehlerkontrolle und ist automatisch aktiv. Die maximale Größe wird durch den Profilparameter rslg/max_diskspace/local bestimmt und liegt im Standard bei 1MB.
Ein Eintrag beinhaltet immer Daten zu dem User, Clienten sowie der Aufgerufen Transaktion oder dem Programm und Details zu dem Fehler.
Dieses Log überwacht die Aktivitäten des SAP-Gateways (Schnittstelle zu andern SAP-Systemen und Programmen).
Das SAP-Gateway-Logging ist per Default nicht aktiviert. Die maximale Größe richtet sich nach der Option MAXSIZEKB .
Sobald die maximale Dateigröße erreicht ist, wird eine neue Datei angelegt und das Logging läuft weiter. Es sei denn die Option FILEWRAP wird auf „on“ gesetzt, dann wird die vorhanden Logdatei einfach wieder geöffnet und überschrieben.
Der Zugriff auf die Loginhalte erfolgt im SAP-System über die Transaktion SMGW.
Das Gateway-Log liefert Informationen zu dem Datum und der Uhrzeit, dem Quellserver und der ausgeführten Aktion (Verbindung zu Server, Start Server, Register Server, usw.) .
Aus forensischer Sicht wird in den Log-Einträgen nach der Ausführung von Monitor-Befehlen, Änderungen in der Sicherheitskonfiguration sowie der Registrierung potentiell schädlicher RFC-Server oder dem Start kritischer RFC-Server gesucht.
Das Security Log ist nur bei dem ICM standardmäßig aktiviert und liegt in dem Pfad
/usr/sap/<SID>/<INSTANCE>/work/dev_icm_sec .
Wie sich das Log verhalten soll, wenn das Limit erreicht ist, spezifiziert der Parameter FILEWRAP. Wird dieser Parameter auf on gesetzt, wird bei Erreichen der Maximalen Größe die Logdatei zurückgesetzt und neu geschrieben. Alle Logeinträge gehen verloren!
Dieses Log kann genutzt werden, um fehlgeschlagene Loginversuche an der Web Administration zu erfassen. Sowie HTTP Fuzzing Versuche aufzudecken.
Das Log bietet dabei die Informationen über Datum und Uhrzeit, der IP des Angreifers und Inhalt der Anfrage in Abhängigkeit des eingestellten Loglevels.
Neben dem Security Log existiert noch das HTTP Log. Dies ist nicht per Voreinstellung aktiv. Der Speicherort wird über den Parameter icm/HTTP/logging_XX angegeben.
Wie bei dem Security Log wird die maximale Dateigröße durch den Parameter MAXSIZEKB und das Verhalten bei Erreichen der Grenze durch den Parameter FILEWRAP gesteuert
Das HTTP Log vermerkt spezifische Zugriffsereignisse wie Zugriffe ohne Authentifizierung (HTTP Code 401) oder Fuzzing Zugriff (HTTP Code 400). Generell wird auch der Zugriff auf kritische Webseiten hier protokolliert.
Das Log bietet dabei die Informationen über Datum und Uhrzeit, der IP des Angreifers, den angegebenen Benutzer zur Autorisierung, die HTTP Anfrage mit Parametern und Headern, den HTTP Antwort Code sowie den Inhalt der Anfrage in Abhängigkeit des eingestellten LOGFORMATes.
SAP Java Instanzen haben Standardmäßig das Logging aktiv. Dabei wird es im „simple mode“ betrieben, es werden also nur schwerwiegende Fehler und Ereignisse protokolliert, die sicherheitsrelevante und administrativen Tätigkeiten des Systems umfassen oder die Geschäftslogik betreffen.
Die Java Server-Logs beinhalten die Logdatei für die Responses. In dieser sieht man wann das System wie auf HTTP-Anfragen reagiert hat.
Finden sich in diesem Log „HEAD“ Anfragen, so können diese Einträge als Hinweise auf Verb Tampering Angriffe gesehen werden. Hier gilt es dann besonders gründlich die Angefragte URL mitsamt Ihren Parametern zu prüfen.
Ebenso lassen sich XSS Angriffe durch die Suche nach Schlüsselwörtern wie „%3C/script%3E“ identifizieren. Auch die berühmten Diretory-Traversal-Angriffe können hier aufgespürt werden. Eine Suche nach „/../“ oder „!252f..!252f“ kann hier als Ausgangspunkt verwendet werden.
Über den Parameter ms/audit kann die Protokollierung für den Message Server eingeschaltet werden. Mit dem Wert 1 werden An- und Abmeldungen protokolliert und der Wert 2 loggt auch Aktivierungen und Suspends eines Clients.
Welche weiteren Logs existieren in SAP?
Nicht alle Logs liegen als Dateien auf dem Betriebssystem vor. Es gibt weitere Logs, die bei der Untersuchung eines Incidents weiterhelfen können. Man weiß niemals auf was man als nächstes trifft. Die Änderungsprotokollierung kann helfen gewisse Aktionen im System besser nachvollziehen zu können. Es gibt 3 wichtige Änderungsprotokolle:
Die Tabellenprotokollierung ist im Standard nicht aktiv. Zur Aktivierung der Protokollierung im System selbst ist der Profilparameter rec/client auf ALL oder eine Komma-getrennte Liste der zu überwachenden Mandanten zu setzen. Zur Überwachung des Transportwesens muss der Wert r3transoptions = recclient=“XXX“ in das Transportprofil aufgenommen werden.
Die Protokolldaten werden in der Tabelle DBTABLOG hinterlegt und es existiert keine Obergrenze für die Datengröße. Die Logdaten können über die SAP-Transaktion SCU3 eingesehen werden.
Ein Logeintrag liefert Informationen zu dem Zeitpunkt, zu dem Benutzer und dem Applikations-Server auf dem die Änderung vorgenommen wurde sowie zu der Tabelle und den Feldwerten (alt und neu).
Ein SAP-System protokolliert Änderungen an Benutzer- und Berechtigungsdaten automatisch.
Die Logdaten werden in den USHXX Tabellen (wie USH02, USH04,…) unbegrenzt abgelegt. Die historischen Daten sind über den ABAP-Report RSUSR100N einsehbar.
In den Logdaten ist ersichtlich wann und von wem eine Änderung vorgenommen wurde. Ebenso welcher Benutzer von der Änderung betroffen ist und über welchen Programm oder Transaktion die Änderung erfolgt ist. Direkte Änderungen von Benutzer auf Datenbankebene können von diesem Log nicht erfasst werden. Unter normalen Umständen sollte so etwas jedoch niemals vorkommen. Interessant ist hier unter anderem welche Benutzer SAP_ALL oder SAP_NEW Profile erhalten bzw. verloren haben.
SAP-Systeme protokollieren Änderungen an betriebswirtschaftliche Objekten in Änderungsbelegen. Dies ist besonders wichtig für Objekte die kritisch sind oder der Revisionen unterliegen. Oft ist es sinnvoll oder sogar notwendig, solche Änderungen später nachvollziehen zu können, z. B. zu Revisionszwecken.
Die Daten der Protokollierung werden in den Tabellen CDHDR und CDPOS abgelegt. Eine Limitierung für den Speicherplatz gibt es nicht. Der Zugriff auf die Daten erfolgt über den ABAP-Report RSSCD200.
In den Logs ist der Benutzername, das Datum der Änderung die genutzte Transaktion sowie die Art der Änderung und die Änderungsnummer des Belegs einsehbar.
Rückblick
Genehmigen wir uns einen kurzen Rückblick. Am Steuer der Mittelstand & Co GmbH haben wir wilde Gewässer überquert und letztlich den richtigen Kurs gesetzt. Zu Beginn musste zunächst geklärt werden was „SAP-Sicherheit“ eigentlich bedeutet und welches Budget man jeweils benötigt. Dieses Budget musste dann noch erkämpft und ein passender Anbieter gefunden werden. Die Ergebnisse des SAP-Sicherheitschecks haben für dezente Schreckmomente gesorgt, doch inzwischen ist bei allen die Farbe ins Gesicht zurückgekehrt. Inzwischen macht die Härtung der Systeme Fortschritte und der zusätzliche Aspekt „Incident Response“ wurde angegangen.
Die erste Etappe ist gemeistert und die Reise zum sicheren Betrieb der SAP-Systeme jetzt in Angriff genommen werden. Dieses Thema habe ich hier bereits vorgestellt. Somit warten in der nächsten Kolumne neue unbekannte Gewässer auf uns!