SAP Security Notes Advisory Januar 2019

Einleitung

SAP Veröffentlicht jeden Monat das „SAP Security Notes Advisory“. Das ist ein Excel-Dokument mit allen Sicherheitskritischen SAP Notes. Ich persönlich mache allerdings nie gern dieses Excel Dokument auf um nachzusehen wie viele Sicherheitskritischen SAP Notes in einem Monat aufgegangen sind und welche Komponenten betroffen sein.

Aus diesem Grund möchte ich mir hier diese Informationen Zusammenfassen.

Common Vulnerabilities and Exposures

Betroffene Komponenten

  • BC-MID-SCC
  • BC-VCM-LVM
  • BW4-DM-MD
  • CA-WUI-UI
  • CA-WUI-UI-TAG
  • CEC-COM-CPS-WEB
  • EPM-EA-DEP
  • FI-CF-INF
  • IS-B-BCA-MD
  • LO-MD-BP-CM
  • MOB-APP-BI-AND
  • MOB-SDK-AGC
  • OPU-GW-COR
  • XX-PART-ADB-PRN

Link

Link zum SAP Security Notes Advisory auf der SAP Homepage: https://support.sap.com/en/offerings-programs/support-services/security-optimization-services-portfolio.html

SAP Security Notes Advisory Dezember 2018

Einleitung

SAP Veröffentlicht jeden Monat das „SAP Security Notes Advisory“. Das ist ein Excel-Dokument mit allen Sicherheitskritischen SAP Notes. Ich persönlich mache allerdings nie gern dieses Excel Dokument auf um nachzusehen wie viele Sicherheitskritischen SAP Notes in einem Monat aufgegangen sind und welche Komponenten betroffen sein.

Aus diesem Grund möchte ich mir hier diese Informationen Zusammenfassen.

Common Vulnerabilities and Exposures

Betroffene Komponenten

  • AP-MD-BP
  • BC-CTS-TMS
  • BC-CUS-TOL-CST
  • BC-FES-BUS-DSK
  • BC-JAS-SEC
  • BC-JAS-SEC-LGN
  • BC-JAS-WEB
  • BC-MID-ICF-LGN
  • BC-WD-CMP-ALV-ABA
  • BI-RA-WBI-BE-DP
  • CEC-COM-CPS-CKP
  • CEC-MKT-MEM
  • FIN-FSCM-DM
  • FS-AM
  • HAN-DB-SEC
  • IS-DFS-MM-STO
  • MOB-AFA-DEV
  • SBO-CRO-SEC

Link

Link zum SAP Security Notes Advisory auf der SAP Homepage: https://support.sap.com/en/offerings-programs/support-services/security-optimization-services-portfolio.html

Meine IP ohne Webung

Im IT-Umfeld gibt es 1000 Gründe, warum man kurz seine IP-Adresse braucht.

Wenn man diese Frage allerdings auf Google eingibt, kommt man immer auf irgendwelche Webseiten die einem zu den 13 Byte der IP-Adresse nochmals den Faktor 500 an Werbung und Trackern dazuliefern.

Teilweise wartet man mehrere Sekunden auf die eigene IP-Adresse oder muss diese dann unter viel Müll suchen.

Hier eine kleine Statistik zur Illustration (Die Seiten sind die Toptreffer von Google + Die Grössen und Zeitmessungen von Firefox)

Die Durchschnittliche „Meine-IP-Seite“ hat also eine Grösse von 2.2mb. Eine IP-Adresse hat die Grösse von 13 Byte.

Mit dem minimalen IP-Header kommt man auf 113 Byte. Das sind 1692307 Mal WENIGER als der Seitendurchschnitt!!!

Aus diesem Grund habe ich zum Selbstzweck folgende Seite geschaffen: ip.eberli.me

Die Seite besteht aus folgendem simplen PHP-Code:

Und sieht im Ergebnis so aus:

Und macht genau das, was man eigentlich möchte. Die eigene IP-Adresse anzeigen.

ZBV – Heute noch Einführen?

Einleitung

Vor einigen Tagen ist auf dem Forum der DSAG ein Beitrag gestartet worden, in dem jemand gefragt hat, ob man heute noch die ZBV einführen sollte?

Gemäss SAP ist die ZBV ein legacy Produkt, welches nicht mehr weiterentwickelt wird.

Wobei diese Aussage so nicht ganz stimmt. Die ZBV hat mit AS ABAP 7.4 und 7.5 neue Felder bekommen die verteilt werden könnten und alle Funktionen sind sehr solide implementiert.

Alternativen?

Welche Alternativen gibt es denn zur ZBV. SAP sieht GRC + IDM als die Ablösung der ZBV, leider ist diese Lösung sehr aufwendig zu implementieren.

Warum heute eine ZBV einführen?

Ich denke das eine ZBV immer noch eine Einführung in einer SAP-Landschaft lohnt. Einerseits lässt sich die ZBV beliebig Kombinieren (Jedes Feld im Benutzerstamm lässt sich per ZBV Zentral verteilen oder nicht) und auch die aktuellen S4/HANA Systeme haben die ZBV-Komponenten immer noch integriert.

Konfigurationsmöglichkeiten

Konfiguration des Verteilmodells in der Transaktion SCUM

Es kann wie gesagt für jedes Feld im Benutzerstamm eines dieser Optionen gewählt werden:

  • Global
  • Lokal
  • Vorschlag
  • Rückverteilung

Und es stehen folgende Felder zur Verfüng:

Dokumentation
Kurztext
Verantwortlicher

Addresse
Anrede
Nachname
2.Nachname
Vorname
2.Vorname
Akad. Titel
1. Vorsatzwort
2.Akad. Titel
2.Vorsatzwort
Geburtsname
Spitzname
Namenszusatz
Initialen
Vollst.Name
Land f.Aufber.
Format Name
umgesetzt
Funktion
Abteilung
Raumnummer
Stockwerk
Gebäude
Hauspost
Kürzel
Sprache
Telefon
Fax
Internet-Mail
Pagerdienste
Drucker
R/Mail / SAPOffice
Secure Store & Forw.
Telex
Teletex
URI / URL /FTP
Kommunikationsart
X.400
Firma
Suchbegriff 1
Suchbegriff 2

Logondaten
Benutzergruppe
Gültigkeitszeitraum
Abrechnungsnr.
Kostenstelle
Benutzertyp
Alias
Initialkennwort
Sich.-Richtlinie

Festwerte
Startmenü
Anmeldesprache
Druckparameter
persönliche Zeitzone
CATT Prüfkennzeich.
Dezimaldarstellung
Datumsformat
Zeitformat (12/24h)

Parameter
Parameter

Profile
Berechtigungsprofile

Rollen
Rollenzuordnung
Referenzbenutzer

SNC
SNC-Daten

Sperren
global entsperren
global sperren
lokal entsperren
lokal sperren
entsperren Falschan.

Gruppen
Benutzergruppen

Personalisierung
Personalisierung

Lizenzdaten
Lizenzdaten

Das beste Inter-UNIX-Dateisystem

Einleitung

Ich habe regelmässig den Fall das ich mich grossen Virtuellen Maschienen (200GB) hantiere und diese zwischen unterschiedlichen UNIX-Systemen (Mac, FreeBSD, FreeNAS, Ubuntu Linux) hin und her bewegen muss. Dazu habe ich rund ein 1 TB an Archivdaten die ich gern „bei mir“ haben möchte falls ich eine ältere VM, ISO-Images, Programme oder alten Quelltext benötige. Weiterhin kommen noch Disk-Images (RAW oder Mac-Sparse) dazu welche als Backups oder zur Forensischen Analyse dienen.

Wärend meiner Lehre als ich noch zuhause war hatte ich einen OpenSolaris Server welcher das iSCSI Target für meinen ESXi-Server war und alle Daten verwaltet hat. In dieser Zeit hatte ich nie Probleme mit Datenkonsistenz.

Leider musste ich vor ca zwei Jahren feststellen das viele Backups, Images und Zip-Archive aus dieser Zeit korrupt waren und sich nicht mehr öffnen liessen. Der Ärger darüber liess mich OpenZFS für Mac installieren und dann ist mir das Problem schnell klar geworden. Meine 8TB WesternDigital Platte ist nicht in der Lage 4 TB zu schrieben oden mindestens einen Fehler zu machen. Heisst jede Bewegung von oder zu der WD-Platte führt zu mindestens einer korrupten Datei.

Die kleinen 2.5 Zoll 1,2 oder 4 TB Platte sind besser, dort treten Prüfsummenfehler nicht immer gleich beim Kopieren sondern oft erst nach 3-6 Monaten auf.

Ich will mich auf die Integrität meiner Daten verlassen können. Deshalb habe ich wiider angefangen ZFS als Format für all meine externen Festplatten einzusetzten.

Stolpersteine

Ein Stolperstein auf den ich schnell gekommen bin ist, dass wenn man eine externe Festplatte zum Speichern vor Daten mit ZFS verwendet wird man zwar auf Fehler hingewiesen, aber ein Datenset mit einem Fehler zu korrigieren erfordert ein ganzes Datenset mit korrekten Daten.

Hesst wenn mann in einem 1TB ZFS-Datenset eine korrupte Datei hat… dann muss man das ganze TB wieder von einer anderen Platte kopieren…. seeeeehr nerfig.

Deshalb mein erster Tipp:

zfs set copies=2 bradly

Hinweis: Ich benenn meine externen Festplatten nach Charakteren von „The Commonwealth Saga“ von Peter F. Hamilton. In diesem Fall ist bradly das Root-Datenset meiner externen Festplatte.

Mit dieser Einstellung werden alle Datei 2x auf der externen Festplatte gespeichert und, solarge die externe Festplatte nicht ganz den Geist aufgibt kann man disese einfach ganz normal verwenden und wenn irgendo ein Block korrupt ist nimmt ZFS einfach den anderen und korrigiert den ersten wieder.

Vorteiler von ZFS für externe Festplatten

  • Portabilität Es gibt ZFS für FreeBSD, Linux und Mac. So ist der Dateitransfer sehr einfach und ist hatte noch nie Probleme.
  • Komprimierung ZFS hat eine integriere Datenkomprimierung welche den 2x Faktor der Datenspeicherung nicht so tragisch macht. Ich komme oft mit 1.5x dem normalen Platzbedarf aus.
  • Deduplizierung Wenn man viele identische VMs hat kann man die Deduplizierung verwenden um aus 90GB Ubuntu VMs noch 10GB zu machen. 2x eine SAP-Installation zahlt sich mit der Komprimierung schnell auf 120 GB statt 500 GB für zwei SAP-Installation aus.
  • Fehlerkorrektur Keine kaputten ZIP-Dateien mehr mit VMs die viele Stunden Arbeit gekostet haben! Yey! (Natürlich gilt das auch für Word-Dokument die oft noch mehr Arbeit gekostet haben.
  • Snapshots Ich habe auf meiner externen Festplatte nicht nur meine Daten, sondern auch Snapshots bis zu 2 Jahre in die Vergangenheit die ich sogar auf andere Festplatte weitergeben kann! Ich kann also Daten + Geschichte zusammen auf andere Festplatten kopieren und so die Snapshots immer weiter tragen.

Nachteile

  • Kein Windows Es gibt leider (noch) keinen Support für ZFS auf Windows. Es gibt Projekte die daran Arbeiten, aber es ist noch nicht so weit. Im moment ist diese Lösung nur für Leute die auf Mac und Linux arbeiten. (Wobei im Notfall auch eine Linux VM unter Windows gut geht)

Upgrade von FreeBSD 11.1 auf 11.2

Ich hatte in der Zeit von 2005 bis 2009 einen OpenSolaris Server welcher das iSCSI-Target für alle VMs und zwei PXEBoot Windows Systeme war. (Windows war noch nie so stabil wie die Jahre in denen es sich nicht um die Festplatte gekümmert hat)

Nach dem Niedergang von Solaris habe ich mich im Jahr 2016 entschieden FreeBSD zu testen da dort die ZFS implementation am besten war.

Wer aktuell eine FreeBSD 11.1 Installation hat bekommt aktuelle folgende Meldung beim Ausführen von „freebsd-update fetch“ :

# freebsd-update fetch
src component not installed, skipped
Looking up update.FreeBSD.org mirrors… 2 mirrors found.
Fetching metadata signature for 11.1-RELEASE from update4.freebsd.org… done.
Fetching metadata index… done.
Inspecting system… done.
Preparing to download files… done.
No updates needed to update system to 11.1-RELEASE-p15.
WARNING: FreeBSD 11.1-RELEASE-p15 HAS PASSED ITS END-OF-LIFE DATE.
Any security issues discovered after Mon Oct 1 02:00:00 CEST 2018
will not have been corrected.

Der Upgrade Prozess von FreeBSD ist etwas anders als der Prozess bei Linux oder Windows. Deshalb beschreibe ich hier kurz die Befehle für ein Upgrade von FreeBSD 11.1 auf 11.2:

freebsd-update fetch
freebsd-update install
freebsd-update upgrade -r 11.2-RELEASE
freebsd-update install

Das System muss jetzt mit dem neu installierten Kernel neu gestartet werden, bevor die Nicht-Kernel-Komponenten aktualisiert werden.

shutdown -r now

Nach dem Neustart muss freebsd-update erneut ausgeführt werden, um die neuen userland-Komponenten zu installieren:

freebsd-update install

Zu diesem Zeitpunkt werden Benutzer von Systemen, die von früheren FreeBSD-Versionen aktualisiert wurden, jetzt wird man von freebsd-update aufgefordert, alle Anwendungen von Drittanbietern (z. B. von der Ports-Struktur installierte Ports) aufgrund von Aktualisierungen in Systembibliotheken neu zu erstellen.

pkg update
pkg upgrade

oder

portsnap auto
portmaster -a

Nach dem Aktualisieren installierter Anwendungen von Drittanbietern (und nur dann, wenn freebsd-update (8) eine Meldung ausgab, die darauf hinweist, dass dies erforderlich war), führen Sie freebsd-update (8) erneut aus, damit das alte (nicht mehr verwendete) System gelöscht werden kann Bibliotheken:

# freebsd-update install
# shutdown -r now

HANA Trace aktivieren

Aktivierung von Trace auf einem SAP HANA System via HANA Studio:

Schritt 1: Rechtsklick auf das System in der „Systems“-Ansicht und Kilck auf „Open Administration“

Schritt 2: Klick auf den Reiter „Trace Configuration“ und Klick auf „New Configuration“ unter „User Specific Trace“

Schritt 3: Festlegen von Trace-Freitext-Namen und „Context Name“ und eingabe von Datenbankbenutzer unter „Database User“

Schritt 4: Häckchen bei „Show All Components“ klicken

Schritt 5: „auth“ in das Suchfeld eingeben

Schritt 6: Festlegen der Trace Kriterien

authorization Kann verwendet werden um Probleme mit dem Login selbst zufinden

xsauthcheck Kann verwendent werden um Berechtigungsfehler wärend der Laufzeit aufzuzeichnen.

Schritt 7: Unter „Diagnostic Files“ mit dem „Context Name“ den man im Trace festgelegt hat als Filder kann man dann die Trace-Dateien sehen und mit einem Doppelklick anzeigen

Troubleshooting von SAP HANA Zugriff und Berechtigungen

Im SAP HANA Umfeld sind, wie jeder der länger mit SAP arbeitet, die Fehlermeldungen die ein Benutzer bekommt oft nicht sehr aussagekräftig und die Fehlersuche besteht oft daraus, dass der SAP Spezialist wissen muss, was er prüfen kann.

Dieser Artikel soll eine Hilfestellung sein woran Berechtigungs- und Zugriffsproblem im HANA liegen können:

  • Benutzerstamm
    • SSO ist falsch konfiguriert (z.b Kerberos)
    • User-Gültigkeit ist abgelaufen
    • User hat die falsche oder zu wenige Berechtigung
SSO-Einstelungen
Gültigkeitsdatum
HANA Berechtigungen (Achtung Tabs oben am Bild beachten)
  • Rollen und Privileges
    • Nutzung der Content-Rollen z.B häufig zu starke Berechtigungen
    • Fehlende Manuelle Analytic Privileges (BW on HANA)
    • Fehlende generierte Analytic Privileges (BW on HANA)
    • Inaktive Rollen
  • HANA Views
    • Falsche Einstellung für die Berechtigungsprüfung in den Eigenschaften z.B Classic Analytic Privilege
HANA Calculation View Privileges
  • Sonstiges
    • Zugriffe via Frontend-Tools können nicht getraced werden

SAP ABAP Berechtigungen in Kürze

Einleitung

Im SAP werden Rechte vergeben, indem ein Benutzer Rollen erhält. Diese Rollen entsprechen einer im Geschäftsalltag vorkommen Tätigkeit und enthalten alle dazu benötigen Berechtigungen.

Eine Rolle selbst besteht aus einer Vielzahl von Berechtigungobjekten welche die einzelnen Rechte festlegen.

Berechtigungsobjekte

Ein Berechtigungsobjekt ist die kleinste Einheit in welcher Berechtigungen in SAP vergeben werden können.

Ein Beispiel hierfür wäre das Berechtigungsobjekt M_BEST_EKO – Einkaufsorganisation in Bestellung.

Dieses Objekt gibt an, für welche Einkaufsorganisationen ein Einkäufer etwas bestellen darf. So kann abgegrenzt werden, dass z.B jede Sparte eines Geschäfts einen eigenen Einkäufer hat den nur für seine Sparte bestellen kann.

Damit diese Unterscheidung aber nun gemacht werden kann, hat jedes Berechtigungsobjekt sogenannte Ausprägungen.

Im Fall des Berechtigungsobjekts M_BEST_EKO währen dies ACTVT – Aktivität und EKORG – Einkaufsorganisation.

Hier ein Beispiel aus der Realität:

M_BEST_EKO
   +
   |--->ACTVT | 01, 02, 03, 04, 09
   |
   +--->EKORG | 2100, 2200, 2300

Die Zahlen stehen für im Fall von ACTVT für Aktivitäten, diese sind von SAP vorgegeben.Die Zahlen bei EKORG stehen für die Einkaufsorganisationen welche die Firma, welche SAP einsetzt, festgelegt hat. Es ist in SAP üblich die „echte“ Organisation der Firma durch immer kleiner werdende Zahlenräume abzubilden. Dies könnte dann so aussehen:

  Firma
  +
  |---->Produktion 2000 - 3000
  |
  |---->Produktion Spielzeug 2000 - 2100
  |
  |----+Produktion Möbel 2100 - 2200
  |    |
  |    |---->Werkshalle Stühle 2100 - 2110
  |    |
  |    +---->Werkshalle Sofas 2110 - 2120
  |
  |---->Produktion Elektronik 2200 - 2300
  |
  |---->Personal 3000 - 4000
  |
  |---->Verkauf 4000 - 5000
  |
  +---->Marketing 5000 - 6000

Die Aufschlüsslung des Beispiels sieht also so aus:

M_BEST_EKO Einkaufsorganisation in Bestellung
  +
  |----+ACTVT Aktivität
  |    |
  |    |----->01   Hinzufügen oder Erzeugen
  |    |
  |    |----->02   Ändern
  |    |
  |    |----->03   Anzeigen
  |    |
  |    |----->04   Drucken, Nachrichten bearbeit.
  |    |
  |    +----->09   Preisanzeige
  |
  +----+EKORG Einkaufsorganisation
       |
       |----->2100 Produktion Spielzeug
       |
       |----->2200 Produktion Möbel
       |
       +----->2300 Produktion Elektronik

Wenn dieses Berechtigungsobjekt also einen Mitarbeiter zugeordnet ist, dann kann dieser also Bestellungen für Produktion Spielzeug, Produktion Möbel und Produktion Elektronik erzeugen, ändern, anzeigen, drucken und sich die Preise anzeigen lassen.

Im SAP selbst sieht dann ein solches ausgeprägtes Berechtigungsobjekt wie folgt aus:

Übersicht über die Sicherheit in SAP HANA

Einführung

Bisheriges Prinzip:

Neu mit SAP HANA:

HANA ist eine In-Memory-Datenbank welche gewisse Daten beim Start in den Memory laden kann. Ausserdem kann HANA die Daten komprimieren was die Datenmenge verringert. Daten in SAP HANA können folgende Stati haben:

  • Hot-Store
  • Warm-Store
  • Cold-Store

SAP HANA ist Tenant (Mandanten) fähig:

Benutzerverwaltung im HANA

Es gibt zwei unterschiedliche Typen von Benutzern im SAP HANA:

  • Restricted User (Kann sich NICHT per SQL an der Datenbank anmelden)
  • Unrestricted User (Kann sich nur via XD (Web) Server anmelden

Berechtigungen werden mit Privilegien vergeben welche in Rollen zusammengefasst werden. Rollen und Privilegien können Benutzern zugeordnet werden. Es empfielt sich jedoch zur Übersicht nur via Rollen zuzuordnen.

Rollen lassen sich in zwei unterschiedliche Typen von Rollen unterscheiden:

  • Catalog Rollen haben keine Versionen, sind nicht transportierbar und sind immer mit dem eigenen Benutzer verknüft
  • Repository Rollen sind versioniert, können transportiert werden und gehören einem System-Benutzer

SAP via HANA Sudio (Eclipse)

Jeder Unrestricted User hat im HANA ein eigenes Schema in welchem eigene Daten und Tabellen ablegen kann.

Für die Sicherheit ist folgender Menu-Punkt in der System-Ansicht wichtig:

Unter dem Punkt Users kann man Unrestricted User:

Und Restricted User über einen Dialog anlegen:

Unter dem Tab Security sind folgende Optionen zu finden:

SAP HANA Database Administration

Man kann auch aus dem HANA Sudio in die HANA Web Oberfläche abspringen:

Dort findet man die Kachel:

Hier kann man wie im Backend Catalog Rollen anlegen und Benutzer verwalten:

Von hier aus kann man auch mit dem Editor Repository Rollen erstellen:

Wichtige Privilegien für Security Admins

  • USER_ADMIN
  • CATALOG_READ
  • TRACE_ADMIN
  • AUDIT_ADMIN

Rollenbau in Web Editor

Einleitung

In einer Rolle können fünf Arten von Berechtigungen verbaut werden:

  • Granted Roles Kollen können Verschachtelt werden
  • System Privileges Sind Berechtigungen für von SAP definierten Paketen an Berechtigungen (z.B: AUDIT_ADMIN, CATALOG_READ)
  • Object Privileges Sind der Zugriff auf einzelne Objekte in SAP HANA (Funktionen, EPM Modele, EPM Query Quellen, Prozeduren, Schemas, Sequenzen, Tabellen, Tabellen-Typen, Ansichten, Agenten und Entfernte Quellen
  • Analytic Privileges
  • Package Privileges
  • Application Privileges

SQL Trace

SQL Trace

Wenn Berechtigungsfehler auftreten und der Benutzer keine Fehermeldung erhält, so kann über einen Doppelklick auf das System in der HANA Workbench im Reiter Trace Configuraton ein SQL Trace der Berechtigungsfehler eines Benutzers aktiviert werden:

Audit Log

Mit dem Audit-Log können nach folgenden Kriterien Aufzeichnungen gemacht werden wer/was/wann auf dem System macht:

  • Aktion auf dem System
  • Benutzer welche die Aktion ausführen
  • Betroffenes Objekt

Aktivierung des Audit-Logs:

Mögliche Aktionen die Auditiert werden können:

Anzeige der Einträge aus dem Audit-Log:
SELECT * FROM "PUBLIC"."AUDIT_LOG"

Berechtigungsvergabe im SAP CRM

Einleitung

Dieses Dokument ist eine Zusammenfassung für die Begriffe und Konzepte in der Berechtigungsvergabe in SAP CRM Systemen

Technologie

  • Business Rollen
  • Navigationsleistenprofil
  • Benutzer-Zuordnungen
  • PFCG-Berechtigungen
  • Role-Konfigurations-Keys <-- Einschränkung von Feldern im UI ausblenden oder mit anderen restriktionen versehen

CRM WEB UI – Navigationsleistenprofil

  • Transaktion: CRMC_UI_PROFILE <-- Erstellung der CRM-UI-Profilen
  • Transaktion: CRMC_IC_NAVBAR_PERM
  • Programm: CRMD_UI_ROLE_PREPARE <-- Greif auf eine Business-Rolle zu und erstellt ein Text-File das man in eine PFCG-Rolle uploaden kann (Im PFCG im Menu: "Import aus Datei")

Business Rollen und Komponenten

Eine Business-Rolle hat folgende Eigenschaften:

  • Profilart
  • Beschreibung
  • Role-Konfigurations-Key
  • Navigationsleistenprofil
  • Layoutprofil
  • Technisches Profilart
  • PFCG-Rollen-ID (Rollenname)

Und es können folgende Eigenschaften definiert werden:

  • Funktionsprofil
  • Bereichsstartseiten
  • Bereichsstartseiten-Gruppen-Links
  • Gruppen direkter Links
  • Tastaturbefehle
  • Objekte der zentralen Suche

Eine Business-Rolle kann kann über folgende Methoden einem Benutzer zugeordnet sein:

  • Via Benutzerparameter (Parameter CRM_UI_PROFILE in SU01)
  • Via Organisationsmodel
  • Via PFCG Rollen

PFCG Rollen


Beim Erstellen einer PFCG-Rolle macht es Sinn, sich mit dem Report CRMD_UI_ROLE_PREPARE die benötigten Element für das Menu exportieren zu lassen.

Dieser Export kann in der PFCG unter „Menu“/“Übernahme von Menus“/“Import aus Datei“ in das Menu übernommen werden:

Beim Abmischen ist das korrekte Vorgehen alle ungepflegten Objekte zu deaktivieren und allfällige Berechtigungsfehler im Trace zu ermitteln und dann einzupflegen. Wenn ein Berechtigungsobjekt im Trace auftaucht welches NICHT beim Abmischen eingefügt wird sollte dieses in der SU24 gepflegt statt Manuell eingefügt werden.

Berechtigungskonzept

Abhängigkeiten bei der Wahl des Berechtigungskonzepts:

  • Anzahl der Business-Rollen
  • Anzahl der Configurations Keys
  • Anzahl der Navigationsleisten
  • Anzahl der PFCG Rollen
  • Prozesse der Zuordnug zum Benutzer

Mögliche Konzepte:

  • 1:1 Jede Gruppe an Benutzern hat eine eigene PFCG-Rolle welche die PFCG-Berechtigungen und die Verknüfung zur CRM Business-Rolle enthält
  • 1:n Vielle Benutzergruppen teilen sich eine PFCG-Rolle mit der Verknüfung zur CRM Business-Rolle. Jede Gruppe hat aber eine eigene, separate PFCG-Rolle mit den PFCG-Berechtigungen

Statistik der aktuell geprüften SSH-Benutzernamen

Ich habe aus diversen Gründen einen SSH-Server der hinter einen Heim-Anschluss läuft. Natürlicherweise finden regelmässig Login-Versüche mit falschen Benutzernamen statt. (Brute Force Hacking Angriffe)

Zwischen dem 1. April und dem 1. Mai gab es auf diesem Anschluss 1735 Login-Versuche mit 408 verschiedenen Benutzernamen.

Ich habe aus Interesse eine Statistik erstellt welche Benutzernamen wie oft verwendet werden und möchte diese Statistik gern teilen:


admin 360
root 340
user 81
ftpuser 67
operator 45
guest 42
support 42
ubnt 40
anonymous 39
test 39
cisco 37
monitor 36
pi 36
1234 35
ftp 35
uucp 34
Management 33
PlcmSpIp 33
sshd 33
MGR 23
administrator 11
manager 9
FIELD 8
oracle 6
MAIL 5
admin1 4
db2as 4
db2fenc1 4
db2inst1 4
HELLO 4
maint 4
nessus_0GTYHlzU 4
service 4
super 4
blankendes 3
craft 3
mobile 3
netscreen 3
public 3
12 2
13 2
666666 2
888888 2
!!! 2
ADVMAIL 2
bank 2
browse 2
chronos 2
cliuser 2
cmc 2
dbadmin 2
debug 2
emcupdate 2
enablediag 2
from 2
gamez 2
glftpd 2
HPSupport 2
inads 2
informix 2
manage 2
mg3500 2
mother 2
mpi 2
mysql 2
n3ssus 2
nexthink 2
nsroot 2
op 2
padmin 2
patrol 2
rewt 2
ro 2
rw 2
rwa 2
setup 2
shelladmin 2
splunkadmin 2
superuser 2
supervisor 2
swift 2
sysadmin 2
system 2
tech 2
trans 2
ucspe 2
wank 2
Wproot 2
www 2
a 1
aaa 1
admin2 1
administrators 1
adminstat 1
adminstrator 1
adminttd 1
adminuser 1
adminview 1
ADMN 1
ADSL 1
asmin 1
bciim 1
bcim 1
bcms 1
bcnas 1
blue 1
cablemodem 1
ccrusr 1
cellit 1
CISCO15 1
cmaker 1
CSG 1
cust 1
dadmin 1
davox 1
debian 1
Del 1
deskalt 1
deskman 1
desknorm 1
deskres 1
diag 1
disttech 1
dxjQ6UdH 1
emailswitch 1
eng 1
engmode 1
enquiry 1
Factory 1
Far 1
GEN1 1
GEN2 1
help 1
helpdesk 1
hsa 1
hscroot 1
HTTP 1
images 1
info 1
init 1
install 1
intermec 1
IntraStack 1
IntraSwitch 1
l2 1
l3 1
linux 1
locate 1
login 1
LoUvTryn 1
lp 1
m1122 1
manuf 1
mediator 1
MICRO 1
mlusr 1
NAU 1
netman 1
netrangr 1
NETWORK 1
NICONEX 1
nms 1
odroid 1
PBX 1
PCUSER 1
PFCUser 1
poll 1
Port 1
postgres 1
PRODDTA 1
product 1
radware 1
rcust 1
readonly 1
readwrite 1
replicator 1
RMUser1 1
RSBCMON 1
sales 1
scan 1
scanner 1
scmadmin 1
scout 1
security 1
SPOOLMAN 1
SSA 1
sshuser 1
storwatch 1
stratacom 1
su 1
super.super 1
superadmin 1
superman 1
svn 1
Sweex 1
sync 1
SYSADM 1
temp 1
VadSWVXu 1
vagrant 1
vyos 1
web 1
www-admin 1

Berechtigungen für Remote Absprung via Trusted Verbindung

Im SAP Umfeld (Vorallem in der zunehmend komplexen Landschaft aus Produkten) sind RFC-Aufrufe von einem System immer häufiger. In diesem Zusammenhang möchte ich für mich selbst einige Informationen dokumentieren.

Hier eine kurze Feld-Beschreibung gemäss SAP zu S_RFCACL:
RFC_SYSID : Kennung des rufenden Systems bzw. Domäne des Satellitensystems
RFC_CLIENT: Mandant des rufenden Systems
RFC_USER : Kennung des rufenden Benutzers
RFC_EQUSER: Kennzeichen, ob der Benutzer durch einen Benutzer mit gleicher Kennung gerufen werden darf (Y = Ja, N = Nein).
RFC_TCODE : Rufender Transaktionscode
RFC_INFO : Zusatzinformationen vom rufenden System (derzeit inaktiv)
ACTVT : Aktivität Dieses Feld kann momentan den Wert 16 ( Ausführen) annehmen.

Quelle: help.sap.com

Folgende Berechtigungen sind für einen Absprung von einem Trusted-System auf ein anderes im Zielsystem erforderlich:

S_RFCACL
RFC_SYSID
RFC_CLIENT
RFC_EQUSER Y
RFC_INFO *
ACTVT 16

S_RFC
RFC_TYPE FUGR
RFC_NAME SYST
ACTVT 16

Well Engineered

Ich bin im Moment an einem Projekt, dessen Ziel die Erstellung einer Webseite ist.

Dabei ist mir wichtig das die Webseite „Well Engineered“ ist. Das heisst für mich in ganz kurzer Form, dass die Webseite nicht nur funktioniert, sondern das der ganze Code elegant ist.

Der Grund dafür ist, dass das ein gut lesbarer, eleganter Code besser lesbar ist und Fehler einfacher zu erkennen sind.

Ein Beispiel dafür, was ich mit „Well Engineered“ meine ist das Innenleben eines MacBook 15“ 2012:

Es gibt auf den ersten Blick klare Strukturen, welche für Klarheit und Übersicht im Design sorgen.

Im Bezug auf Code ist es mir wichtig, dass jedes Programm in Abschnitte unterteilt ist, welche, die Arten der darin enthalten Funktionen beschreiben und das jede Funktion möglichst übersichtlich ist und deren Funktion schnell erkennbar ist. Hier ein Stück Javacode zur Illustration, was ich meine:

Capture the Flag (CFT)

Einleitung

Im Bereich des Hacking ist Capture the Flag ein beliebtes Spiel, das in diesem Bereich vor allem durch die Hackerkonferenz DEF CON bekannt geworden ist.

Hier hat jedes Team einen Computer oder ein kleines Netzwerk, das es gegen die anderen Teams zu verteidigen gilt. Ziel des Spiels ist es hier, nach einer vorher festgelegten Zeit möglichst viele Punkte zu erreichen. Üblicherweise stellt die Veranstaltung ein System das es zu Hacken gibt. Die Teilnehmer versuchen das System zu hacken um an die „Flag“ zu kommen. Oft ist die Flag dabei ein Passwort das in einer versteckten Datei oder im Programm selbst versteckt ist und normal nicht erreichbar ist. Mit der „Flag“ beweist der Teilnehmer dann den Hack durchgeführt zu haben.

Ich bin der Meinung das solche CTFs ein Spass und eine Herausforderung sind und eine tolle Möglichkeit bieten etwas über IT-Sicherheit, Hacken und die Computersysteme die wir jeden Tag verwenden zu erfahren.

Wie Anfangen

Oft sind CTFs nur an einem speziellen Ort, mit Anmeldung und zu einer bestimmten Zeit möglich. Was also tun wenn man einfach Anfange möchte?

Webseiten wie root-me.org bieten nach Schwierigkeit und Kategorie sortierte Challenges welche jederzeit gemacht werden können:

Jede Kategorie enthält eine Liste an Challenges die angenommen werden können:

Jede Übung enthält ein paar Anweisungen wo z.b der Server liegt der angegriffen werden soll und eine Feld in dem man die „Flag“ abgeben kann:

SAP-Berechtigungsvergabe Best-Practice

Einleitung

Ich bin jetzt seit 2006 mit einem Studienunterbruch im Bereich SAP Berechtigungen tätig. Ich würde gern aus diesen sieben Jahren Berufserfahrung gern ein generelles, für mich bewährtes Vorgehen zur Analyse von Berechtigungsproblemen ableiten.
„SAP-Berechtigungsvergabe Best-Practice“ weiterlesen

Abgelaufenes SAP Benutzer Kennwort bei SSO Anmeldung

Wenn Benutzer beim Anmelden via SAP Logon folgende Fehlermeldung erhält:

Sie wurden mittels SNC (Secure Network Communication) authentisiert.
Sie besitzen zusätzlich ein Kennwort. Dieses Kennwort müssen sie ändern.
(Grund: Kennwort ist initial)

Alternativ zur Kennwortänderung können Sie entscheiden,
daß das Kennwort deaktiviert werden soll.
Sie können sich dann aber zukünftig an diesem System
nicht mehr mittels Kennwort anmelden.

Dann ist der Paramter login/password_change_for_SSO wie folgt eingestellt:

login/password_change_for_SSO = 1

Um die Kennwortänderung per SSO nicht zu erzwingen muss der Paramter auf

login/password_change_for_SSO = 0

gestellt werden.

Wenn die Aufforderung zur Kennwortänderung beim SSO Login erscheint obwohl der Paramter auf 0 gestellt ist, dann sollte man sich die SAP-Note 2112577 ansehen.

Die Note heisst „2112577 – HTTP-Anmeldung: Unerwünschte automatische Löschung der Kennwörter beim Ändern von Kennwörtern“

Wenn der Kernel-Teil dieser Note eingespielt wird OHNE den ABAP-Teil dann wird der Paramter login/password_change_for_SSO IMMER als 1 interpretiert.
Die Details zur Behebung stehen in der SAP-Note.

SAP HANA: Kein Ablauf des Passworts

U.u möchte man für gewissen Benutzer entgegen der Systemweiten Passwort-Richtlinie nicht, dass deren Passwort abläuft.

Das betrifft oft Systembenutzer, Testbenutzer oder Notfallbenutzer.

Mit diesem SQL-Befehl kann man via HANA Studio einen Benuzter so einstellen, dass dieser sein Passwort nicht mehr ändern muss:
ALTER USER DISABLE PASSWORD LIFETIME;

Erklärung eines Computersystems für Journalisten und Nachrichten

Einleitung

Seit einigen Tagen und Wochen ist das Thema der Meltdown und Spectre Sicherheitslücken ein Thema das auch in der Tagespresse behandelt wird.

Bei dieser Berichterstattung habe ich einige sehr krude oder falsche Beschreibungen gesehen welche das Problem im Bezug auf die Komponenten aus denen ein PC, Smartphone etc. besteht beschreiben oder diskutieren wollen.

Oft werden dabei Begriffe wie CPU, Arbeitsspeicher und Cache verwendet welche etablierte Begriffe aus der IT-Industrie sind, aber für einen Laien (Dazu zählen auch einige Journalisten die über das Thema berichten) oft kein greifbares Konzept darstellen.

In diesem Artikel möchte ich ein Wissenschaftliches Papier vorstellen, welches zu einer Zeit vor dem ersten Computer über den möglichen Aufbau von Computersystemen gesprochen hat und wie ich finde sehr viele gute und brauchbare Konzepte enthält wenn man jemandem ohne Vorkenntnisse einen Computer erklären möchte.

Link: Preliminary Discussion of the Logical Design of an Electronic Computing Instrument von J. Arthur W. Burks / Herman H. Goldstine / John von Neumann

Die Organe eines Computers

In diesem Papier werden die Komponenten eines Computers als Organe bezeichnet:

  • Das arithmetische Organ
  • Das errinnerungs Organ

Bei neuen Geräten könnte man dieses Konzept beliebig erweitern. So könnte man die GSM, Bluetooth und W-LAN Komponenten als funk Organe, die GPS-Empfänger als orientierungs Organ und die Kamera als seh Organ bezeichnen.

Apendix

Meltdown (CVE-2017-5754)
Spectre (CVE-2017-5753 & CVE-2017-5715)

Lokale Benutzer in Benutzerübernahme

Ich hatte vor kurzem den Fall, dass ich auf der ZBV (AS ABAP 7.5) einen neuen Reiter unter der Benutzerübername (Transaktion SCUG auf ZBV -> Klick auf das Tochtersystem -> Benutzer) gesehen habe:

Der Dialog zeigt den Benutzer TMSADM ohne die Option den Benutzer in die ZBV zu übernehmen.

Aufgefallen ist das, weil der Benutzer TMSADM mit einer roten IDOC-Rückmeldung in der SCUL angegeben wurde:

Die Fehlermeldung in der SCUL lautet „Lokaler Benutzer TMSADM darf nicht per IDoc geändert werden.“

Eine Suche im Internet hat mich am Ende zu einem Artikel der SAP geführt in dem folgendes geschrieben steht:

Link zum SAP Artikel hier.

Meine Vermuting zu diesem Phänomen ist, dass dieser Benutzer neu seit Version 7.5 mit einem speziellen Flag erstellt wird welchen diesen Benutzer als „Lokalen Benutzer“ kennzeichnet.

Wenn man den Benutzer in einem gewissen Zeitraum zwischen 7.4 und 7.5 angelegt wurde hat die ZBV diesen erst als normalen Benutzer erfasst aber das Tochtersystem behandelt den Benutzer aber als einen lokalen Benutzer.

Die Lösung in unserer Landschaft war das Löschen des „System“-Eintrags“ bei denen Benutzer/System-Kombination welche in der SCUL mit der Fehlermeldung „Lokaler Benutzer TMSADM darf nicht per IDoc geändert werden.“ gelistet werden.

Kommunikationsart Pager/SMS kann nicht aus Benutzer gelöscht werden

Ich hatte vor kurzem einen Fall, bei dem ein Benutzerstamm im ABAP (SU01) unter „Weitere Kommunikation“/“PAG Pager/SMS“ eine Telefonnummer für einen Pager hat welche sich mit einem Klick auf „Zeile Entfernen“ entfernen lässt. Nach dem Speichern ist der Eintrag aber wieder da.

Im Hintergrund wird auf der Tabelle ADR13 der Eintrag nicht gelöscht sondern der Eintrag „Consnummer“ um +1 erhöht. (Verbindung zwischen Benutzername und Persnummer via USR21)

Die Lösung für das Löschen des Eintrags ist das leeren von allen Feldern unter Kommunikation und das setzten der Kommunikationsart auf leer.

Nach dem Speichern des Benutzerstamms sollte auch der SMS/Pager eintrag entfernt sein.

GSuite – Ein Erfahrungsberich

GSuite – Ein Erfahrungsbericht

Einleitung

Dieser Artikel beschreibt warum ich troz wachsender Bedenken im Bereich der Privatsphäre im moment zahlender Kunde von Google bin.

Ausgangslage

Ende 2016 hatte ich für eine Zeit von ca. 3 Wochen keine E-Mails weil der E-Mail-Server den ich bei mir zuhause betrieben habe in Folge Hardware-Ausfalls nicht zur verfügung stand. Ich hatte bereits davor einige Ausfälle die wegen Netzwerkproblemen, fehlgeschlagenen Updates, Konfigurationsänderungen und Änderungen an SMTP-Passwörtern aufgetreten sind. Zu dem Zeitpunkt des Ausfalls hatte ich jedoch mehrere Wochen nur wenig Zeit und konnte mich nicht um das Problem kümmern. Dieser Ausfall mit den ständigen Aufwänden zur Pflege meines Servers haben mich dazu bewogen meine E-Mails wieder in Hände zu geben, in welchen sich jemand anderes um technische Probleme kümmen muss. Ausserdem ist der Berieb eines eigenen SMTP-Server aufgrund der damit verbunden E-Mail-Server-Reputations-System immer aufwendiger geworden und ich hatte immer wieder das Problem das Mail-Server von Firmen, Behörden oder grossen Anbietern meine Mails abgelehnt haben. (Nicht weil mein Server SPAM-Versendet sonder einfach weil mein Server kein Team hat das sich um dessen „Ruf“ kümmert.

Anforderungen

Die Anforderungen für meinen neuen-E-Mail-Anbieter waren wie folgt:
– Nativer Push-Support für iOS + Mindestens eine App für Android
– Web-Interface
– Datenschutzerklärung muss erklären das die Daten nicht weiter verkauft oder ausgewertet werden
– Support für eigene Domain und mindestens 10 Aliase pro Account
– IMAP-Zugriff via TLS
– Optional: PGP-Support im Web und in App
– Optional: Synchronisation für Kalender und Kontakte

Warum GMail am Ende

Nach langer Suche und dem durchlesen von vielen AGBs, Spezifikationen und vielen Trial-Accounts waren am Ende noch zwei Anbieter übrig:

  1. Mailbox.org
  2. Google

Der entscheidende Punkt am Ende war das Google eine grosse Firma ist (Geringe Gefahr von Insolvenz und hohes Kapitel sich um den „Ruf“ seiner E-Mail-Server zu kümmern), das gute Web-Interface, die gute Integration in viele Apps und Betriebssysteme (iOS, Win10, MacOS), den integrierten Kalender, die Android App und folgendes Zitat in den Geschäftsbedingungen von Google:

Im Gegensatz zu den Verbraucherangeboten von Google, in denen Anzeigen präsentiert werden können, werden Ihre G Suite-Daten nicht für Werbezwecke erfasst, durchsucht oder verwendet. Außerdem erscheinen in den Hauptdiensten von G Suite, G Suite for Education oder Government keine Anzeigen. Wir nutzen Ihre Daten ausschließlich, um die G Suite-Dienste und damit verbundene Systemfunktionen bereitzustellen, darunter Spamfilterung, Virenerkennung, Rechtschreibprüfung, Kapazitätsplanung, Traffic-Routing und die Suche nach E-Mails und Dateien in einem einzelnen Konto.

Apendix

Meine E-Mail-Geschichte

  1. 1995 – E-Mail-Konto auf der Domain meines Vaters
  2. 2005 – Eigenes E-Mail-Konto bei GMail
  3. 2007 – Eigener Microsoft-Exchange Server zuhause im Keller mit eigener Domain (eberli.me), MX-Record auf DynDNS zuhause
  4. 2014 – Auszug von Zuhause, Umzug von Exchange auf den Mail-Server in meinem Synology NAS, MX-Record auf DynDNS zuhause
  5. 2015 – Suche nach Exchange-Alternative mit Mail, Kontakte und Kalender Synchonisation, Diverse Produkte aus Open-Source-Späre
  6. 2017 – Anmeldung bei GSuite mit eigener Domain (eberli.me)

WanaCry Bitcoin Konten werden geleert

Am 3. August 2017 wurden die drei Bitcoin-Konten, in welche die Opfer von WanaCry (Seit Mai 2017) Ihr Lösegeld zahlen mussten, geleehrt.

Die drei Konten sind:
https://blockchain.info/address/13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

https://blockchain.info/address/115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn

https://blockchain.info/address/12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw

Der Wert der Bitcoins beläuft sich auf 138’979 CHF. Die nächsten Tage werde zeigen ob man durch die Spur der Bitcoins auf die Autoren von WanaCry kommt und diese verhafen kann.