Sie sind auf Seite 1von 20

ADM 960 Sicherheit im SAP Umfeld

#Tag 1

28.09.11-30.09.11

1. Sicherheitsbersicht
1.1. Grnde
Image, Datenschutz, Datensicherheit (vertrauensvolle Daten), Manipulation Interne Sicherheit, Front-End-Zugriffe Authentifizierung, Berechtigung, Integritt, Verfgbarkeit, Vertraulichkeit, Abstreitbarkeit/Belegbarkeit Penetration, Cross-Site-Skripting, Berechtigungsverletzung, Planting (Trojaner), abhren, Buffer-Overflow, Manipulaiton Denial of Service Social Engineering Netzwerk, ffentliche Netze Effizienz der Manahme, Abwgung von Kosten Monitoring - Reaktionsfhigkeit Programmierungssicherheit Training Dokumentation (Security-) Policies schtzenswerte Daten und System identifizieren praktische Umsetzung Hilfestellungen SAP-Hilfeseiten: service.sap.com/securityguide Sicherheit ist ein Systemzyklus

1.2. Ziele

1.3. Bedrohungen / Threats


1.4. Analyse

1.5. (Technische) Manahmen

2. Produktbersicht
2.1. Produkte 2.2. Architekturen
Reine System, Mischsysteme, Austausch ber Prozessebene ABAP+Java (dual Stack), Solution Manager, PI JAVA Enque-/Workprozesse sind ausgelagert Ab 7.03 neue Java-Architektur

Themen: o Kommunikationssicherheit: Dialog, GUI, RFC, Gateway o Systemsicherheit Nutzer, Passwort

3. Netzwerkgrundlagen
3.1. Basics
PCs tauschen sich ber Protokolle aus z.B. TCP/IP ISO/OSI Schichtenmodell IP Hasunummer Port Briefkastenschlitz, hier steckt der Service dahinter In der services-datei liegen Port angaben Einfache Firewalls arbeiten auf den unteren Schichten packetfilter darf oder darf nicht ber Portnummer XX kommunizieren Application level gateway (protocol firewall) ist mehr, prft zustzliche auf Protokolle auf Echtheit ist die Anfrage smtp DMZ = demilitarisierte Zone = Bereich zwischen zwei Netzwerkzonen ohne Applikationsprodukt (Rechner, Loadbalancer etc.) Firewallarchitektur IDS Intrusion Detection System = Netzwerkmonitor, Traffic berwachen, ungewhnliche Vorkommnisse werden gemeldet (hier SAP Audit Log) IPS Intrusion Prevention System = inkl. Gegenmanahmen Load Balancing bei mehr als einer Instanz zur Lastverteilung und optimalen Abarbeitung der Anfragen o Client basiertes load balancing schlecht redirect ber den client o Server basiertes load balancing besser Server verteilt die Last, Load Balancer muss Stati verarbeiten knnen, besonders wichtig bei Transaktionsbasierten Systemen SSL funktioniert nicht beim Load Balancing IP-Adressen basiertes Balancing wenn von IP XX, dann fhre zu, aber schlecht bei Proxy wo IP-Adressen gemeinsam genutzt werden

4. Netzwerksicherheit im SAP-Umfeld
4.1. SAP-Ports
Abhngig vom Anwendungsszenario $$ = Instanznummer 36$$ 80$$ ICM vollstndige Liste unter sdn.sap.com http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/4e515a43-

0e01-0010-2da1-9bcc452c280b&overridelayout=true TCP/IP Ports Used by SAP Applications ohne Netzwerkfilter sind alle Ports frei, also Firewall und alles zu bis auf... End-User-Ports, diese Ports bentigt der Endanwender (minimal) o 32$$ ABAP Dispatcher o 36$$ Messageserver o 33$$ Gateway z.B. bei RFC Anfragen o 443$$ HTTPS o 5$$01 Java Dispatcher Port SAP Netzwerkempfehlung o Firewall 1 (Enduser-SAP) o Firewall 2 (eigenes Admin Netzwerk um z.B. SSH etc. zu ermglichen) o Firewall 3 (Fremdsysteme um spezielle Anfragen zu routen) hat die Funktion eines Proxies, kontrolliert Ein- und Ausgnge, hinter der Firewall, lauscht auf bestimmten Port, verteilt die Anfragen (wenn autorisiert) weiter, o Zusatzprodukt zu einer Firewall, erlaubt die Aufgabenverteilung im Unternehmen (Entlastung der Netzwerkabteilung), fr den SAP-Remote-Support, fr alle Anfragen auf dem SAP-Protokoll o Tabelle mit Deny- und Permiteintrgen o Installation Ordner im System anlegen > saprouter.exe kopieren Tabelle saprouttab Cmd > saprouter.exe ausfhren -r = start -S <Nummer> = fr die Portvergabe -n = bei neuen Eintrgen in die Routertabelle dem Frontend (saplogon) den Router bekannt machen saprout.ini Datei (als Hilfestellung Routerstring z.B: /H/twdf.de/S/32xx/W/secret/H /H (Host) /S (Service) + Port /W (Passwort) route permission denied ist eine SAP-Router Antwort also die Tabelle ffnen S * * * secret D IP * * <Parameter> <von> <nach> <Port> <Passwort> S = SAP-Protokolle D = Deny, Ergebniss = root permission denied Routertabelle wird sequentiell abgearbeitet. Wildcards auf hherer Ebene werden zuerst eingelesen Sperreintrge an den Anfang stellen

4.2. SAP-Router

connection reset by peer weil jede Kommunikaiton ber den Router luft, Verfgbarkeit sicherstellen als Service (nur unter Windows) der Router ist SNC-fhig

4.3. Web Dispatcher (Load Balancing )


(Clientbasiert) Fr http://-Request Der ICM verarbeitet http Requests Clientbasiertes Load-Balancing mit dem Messageserver wird nicht empfohlen URL / Ports / etc. knnen sich ndern (Wartung) (Serverbasiert) gewichtetes round-robbin o gewichtet richtet sich nach der Anzahl der Dialog (Abap) oder Serverprozesse (Java) o SM50 > LB=XX = Anzahl der Prozesse (Gewichtungskriterien) o Dient zur Lastverteilung reverse-proxy = kann abhngig vom Pfad verteilen Release Informationen der untersttzen Systeme beachten bei den neuen WD ist es mglich einen Web Dispatcher fr mehrere Systeme einzusetzen SAProuter und Web Dispatcher ergnzen sich Stateful und stateless request URL Filter groer Bruder vom ICM Cachen mglich, entlastet Anfragen am SAP-System, Server Offloading Untersttzt SSL Wird nicht auf dem SAP-System installiert sondern in der DMZ Web Dispatcher immer patchen Eigene Fehlerseite sind konfigurierbar URL-Filter Web Admin Interface, sollte nicht ans Front End installiert werden Installation: o OS: alle Microsoftkonsolen schlieen o Ordner > hier:CE720 ... sapinst.exe 0815 o Inst. App > Standalone Engines > typical > o System ID: hier W05 o Masterpasswort o Message Server Host Angabe fr welches System der Web Dispatcher zustndig sein soll full-qualified o HTTP Port hier 8100 o Cryptographic Library kann als Vorbereitung fr SSL mitinstalliert werden SNC>Cryptolib o Diagnostic Agent System ID ist fr den Solution Manager wichtig, wird bei/fr jede Installation abgefragt, dafr wird eine JCE Datei bentigt (Javawerkzeug)

hier keine SLD destination Abschlussprotokolldetail Instanznummer und HTTP-Port neu vergeben (markieren) Lastauswahl > small (abhngig von der Anzahl der Requests) Parallele Installation auf einer Maschine geht unter anderen Ports Sapinst p SAPINST_CWD=G:\sapinst SAPINST_DIALOG_PORT=21250 GUISERVER_DIALOG_PORT=21230 o Passwort / User sapadm ndern, bzw. neu setzen (geht auch whrend der Installation) o reparierenSAP Management Console > Web Dispatcher luft (?) o Prozesse > Developertrace > SAPCAR.exe not found o Beliebige SAPCAR in das Verzeichnis kopieren > WD neu starten o Test Load Balancing o ABAP Stack im Browser http://twdf1376.wdf.sap.corp:8015/sap/public/info o JAVA Stack im Browser http://twdf1376.wdf.sap.corp:8015/webdynpro/dispatcher/local /WhoAmI/Show Test 00, cookies lschen o1?, mehrmals probieren o Admin Fkt. http://twdf1376.wdf.sap.corp:8015/sap/admin Anmeldung mit dem webadm mit Masterpasswort Services kontrollieren Backendports Servergroups (Logongruppen) In der W05/SYS/global/security/data icmauth.txt steht der User Funktionen o URLs sperren in der permissionfile.txt o ber den Profilparamter im Profilverzeichnis des Web Dispatchers mssen bekannt gegeben werden o W00/work > die permissionfile ablegen o W00/profileparameter pflegen (Befehl kopieren) o In die G:\usr\sap\W05\SYS\profile\W05_W15_twdf1376 o In der sapmmc die Instanz neu starten o Test http://twdf1376.wdf.sap.corp:8015/sap/public/info o Vorsicht Browsercache leeren o Sollte Resource not found zeigen o o o o o o o

5. SAP Sicherheit

5.1. Frontendsicherheit
SAP GUI > Sicherheit > Sicherheitseinstellungen Status o Status = deaktiviert, keine Abfrage o Status = customized, ask o Test: Aus dem SAP GUI URLs aus dem Browser aufrufen

o Fragefenster kommt o always allows in this context > Regel wird angelegt o taucht in der den SAP-GUI Einstellungen als Regel von User o Standardregeln sind vorhanden z.B. nderung von Registry Keys o Idee: lokale XML Datei definieren und an die Front Ends ausliefern o Tipp: Customized + Ask, SAP und Adminregeln bleiben bestehen Pflege muss ausgeschaltet werden: Um den Usern die Einstellungen zu sperren, muss der Registry Key gepflegt werden um die nderungen auszugrauen Themen: Standardpasswrter ndern, Benutzertypen, Berechtigungsvergabe, Benutzerpflege o ABAP SU01 Gruppen sind wichtig zur delegierten Berechtigungspflege Die Gruppen im Reiter Gruppen dienen zur Sortierung o JAVA J2EE enigne, Benutzerverwaltung durch die UME Benutzerdaten werden standardmig in der eigenen DB gespeichert Aber auch z.B. im LDAP Verzeichnis liegen (werden ausgelagert) Im ABAP ist dies eine Synchronisation, im JAVA ist es ausgelagert <serveradresse>:5000\ Userdaten werden ber die Data Source angegeben Gruppen dienen zur Einsortierung ber die Gruppen knnen Hierarchien aufgebaut werden um vereinfacht Berechtigungen zu vergeben (Gruppenebene) Zentrale Benutzerverwaltung o nur fr ABAP, keine JAVA-System direkt anbindbar, ggf. ber Verzeichnisdienst SAP Netweaver Identity Management o Bedient auch 3rd Party Systeme o Zentrale Pflege fr alle Systeme o Vergabe von Businessrollen hinter der technische Rollen stecken o Benutzer werden Workflow gesteuert angelegt o Identity Management ohne 3rd Party Produkt kostenlos o Access Control GRC

5.2. Benutzersicherheit

#Tag 2

5.3. Standardbenutzer
DDIC, SAP*, SAPCPIC, sollten kein Master oder Standardpasswort haben, ggf. Rechte anpassen, User sperren Standarduser berprfen mit dem Report SA38 > rsur003 >Titel (frei vergeben)

Passwort not trivial heit nur, dass es nicht das Standardpasswort ist 066er Mandant inkl. Nutzer Earlywatch war gedacht fr den Support im leeren Mandaten existiert ein User (SAP*) und dem Passwort pass, ist aber kein Sicherheitsrisiko, da dieser User ber Profilparameter gesperrt ist, Anmeldung mglich ber Parameternderungen und Systemneustart, 0 = Anmeldung mglich, 1 = Anmeldung nicht mglich, ist der User SAP* angelegt greift der Kernelmechanismus nicht, also: User anlegen und Passwort ndern jeder Mandant sollte einen selbst gepflegten SAP* User haben JAVA: Administrator gefhrlich, Guest ungefhrlich, SAP<SID>DB = Benutzer des Datenbankschemauser des Systems, SAPJSF hat im Standard das Masterpasswort der Installation > ndern, hat im Standard nur die SAP_BC_JSF_COMMUNICATION_RO RO steht nur fr read only, um Benutzer anzulegen bentigt er die Rolle ohne RO, die Rolle J2E_ADMIN berechtig im JAVA einen User dazu Admin zu sein ist aber nicht an mit ABAP Berechtigungen verknpft SAP* dient auch im Notfall dazu mit der Kernelfunktion sich selber eine Anmeldung am System zu ermglichen Admin hat sich selbst gesperrt JAVA: auf OS Ebene im JAVA-Teil das Config Tool starte, global pflegen, nderungen an der UME nur im gestoppten System, com.sap.security.core.ume.service > ume.superadmin.activated false > true, Passwort ume.superadmin.password vergeben > anmelden Benutzertypen im ABAP o Dialog: GUI Anmeldung, unterliegt Passwortnderungspflicht, muss Initialpasswortndern, o Service: z.B. kann Status verndern von Service zu Dialog, z.B. bei Bestellungen o Communication: hat auch Passwortnderungspflicht (s.o.) wenn Parameter gepflegt o System: keine GUI-Anmeldung mglich, nur ber RFC o Referenzbenutzer: wird dazu benutzt ber Rollen als Referenzbenutzerangegeben zu werden. Der neue User erbt die Rollen des Referenzbenutzers, Berechtigungskonzept wird umgangen Benutzertypen im JAVA: o Standard: vgl. ABAP Dialoguser o Technical User: vgl. ABAP Systemuser o Internal service users: kann sich nicht anmelden, nur fr interne Ablufe z.B. wenn ein Programm Berechtigungen bentigt, keine Passwortvergabe mglich, o Unknown: reine ABAPUser die dem System nicht bekannt sind o Eigene: knnen im JAVA definiert werden ABAP, bekannt nicht nher erlutert JAVA,

5.4. Rollenkonzept

o Rollenkonzept des J2EE wurde von SAP aus dem eindimensionalen Prfung aus einer Dimension auf zwei Dimensionen (vgl. ABAP) erweitert o UME Permission = JAVA Coding + zweite Ebene (Berechtigungsobjekt) auf die geprft wirde o UME actions = Zusammenfassung von Permissions, eine Rolle enthlt mehrere Actions, werden vom Entwickler programmiert o UME ACL API = API muss vom Entwickler/Programmierer gepflegt werden o Drei Tools, keine zentrale Pflege o Securityrollen liegen im Visual Administrator auf OS-Ebene gepflegt, Services > Security Provider > service.<name>, die wichtigsten Securityrollen erden mit ausgeliefert o

5.5. Passwortregeln
Max-Lnger erweitert auf 40 Zeichen (ABAP) Vordefiniert keine ?!, ersten drei Buchstaben drfen nicht gleich sein, kein PASS oder SAP*, Passwrter sind case sensitive Parameter fr Passwrter o Passwortmindestlnge definiert o Wie lange soll ein Initalpasswort ungenutzt bleiben drfen max_idle_inital o max_idle_productive User wird gesperrt, wenn XX Tage nicht genutzt o (...)compliance_to_current_policy, falls User angemeldet ist wird berprft, ob die aktuellen Regeln gilt, falls die neuen Regeln strker sind, muss der User seine Einstellungen anpassen o min_password_diff > wieviele Zeichen soll das Alt- vom Neupasswort unterscheiden, ratsam 1-2 Zeichen maximal o password_expiration_time > wann luft das Passwort aus o fails_to_session_end > Nach wie viel Versuchen soll der User das GUI schlieen o fails_to_user_lock > nach wie viel Versuchen soll der User gesperrt werden o failed_to_user_auto_unlock > automatische Entsperrung, Standard auf 0, User wird um Mitternacht entsperrt o disable_multiple_gui_login > Mehrfachanmeldung mglich o multi_log_in_users > o Einstellungen lassen sich ber die dem Report SA38 > rsur003 auslesen Passwrter werden in der Datenbank im Einwegverfahren mit Hashwert abgelegt (vgl. Verschlsselung ist zweiseitig) Tabellen USR02, USH02, USRPWDHISTORY sollten daher geschtzt werden (ber Berechtigungsgruppen), !es werden immer mehr Berechtigungen/Berechtigungsgruppen auf Tabellen gelegt SE16 > USR02 > Felder: BNAME (Username), Neusten hashing Mechanismus pflegen > ber Kernelupdate o Abwrtskompatibilitt beachten!

o Hinweis 1458262 lesen Kennwort HASH Algorhythmen Profilparameter im ABAP pflegen o Langer Weg RZ10 > DEFAULT-Profil > Extended maintenance >Werte ndern > copy > copy RSPFPAR zeigt die Parameter o Anlegen > F4 > Parameter whlen > copy > copy o Profil speichern o System muss neu gestartet werden o Kuzer Weg > Betriebssystemebene o DEFAULT.PFL im Profilverzeichnis o Filesystem ndert ohne Protokoll, RZ10 mit, nur einen Weg whlen o Doppelte Eintrge vermeiden, Sicherungsdateien erstellen! WEBMMC 5+Instanznummer+13 http://System:5+Instanznummer + 13 im JAVA ffnet die Managementkonsole (analog zur MS-Konsole), z.B. beim Restart, Tipp: als JAVA Applet installieren JAVA Passwortparameter o Min_length > minimale Passwortlnge o Max_length > maximale Passwortlnge o Mix_case_required > Sonderzeichen o Auto.unlock.time > nicht ber Nacht, sondern nach XX Minuten o bei Dualstack abgleichen! o UME > Configuration > Security Policies > DEFAULT/ Technical User > Parameter anpassen o bei neueren JAVA-Systemen sind die Parameter dynamisch (kein Neustart ntig) ABAP o F4 > zeigt Speicherorte der Daten (Passwrter) z.B. RFC, ICF, mandantenbergreifend, o Global key changend > Systemschlssel, neuer Schlssel wird vom service marketplace ausgestellt, Request Migration Key o System data changed > z.B. bei Migration JAVA o OS > Config Tool > secure store o Passwrter mssen hier nachgetragen werden o Im OS SYS/global/securestore/SecStore.properties o Fr den SDM wichtig und fr die Verbindung zur Datenbank o Ab 7.1 kein Softwaredeploymentmangagent mehr ntig o Auch Zugriff ber Visual Administrator > Secure Store o Z.B. SLD_Service_HTTP_Data hier ist das Passwort fr die Verbindung gesichert

5.6. SECSTORE (bei Systemkopie, Migration)

6. Schnittstellen
6.1. RFC Verbindungen
SM59 > RFC Verbindungen einrichten RFC = Typ 3 Logon & Security

technische User + Passwort bei Geschftsprozessen Berechtigungen beachten! Aber, RFC-Verbindung ist leicht aufrufbar Zustzlicher Schutz/Schritt durch (Restriktion) durch Authoration for Destination > Name vergeben > Berechtigungsfelder ICF_FIELD + ICF_VALUE mssen gepflegt werden (ausgehende Verbindungen) o Drei Kategorien! Ohne gespeicherte Benutzer und Passwort, Passworteingabe am Fremdsystem Hinterlegtes Passwort Vertrauenswrdige Verbindung o Test in Produktivsystem > Anmeldung, o Produktiv in Testsystem > PW hinterlegen Vorgehen o In hhere Systeme keine Passwrter hinterlegen / trusted connection o User nicht mit SAP_ALL, eigene Rolle o Report RSRFCCHK ausfhren Trusted RFC-Verbindung einrichten o o o o

Startsystem (aufrufendes System):

Zielssystem: (aufgerufenes System) 1. RFC-Destination anlegen: SM59 > Verbindung anlegen, Host, Hostadresseangeben, System ID vergeben. Diese Verbindung hat spter keine technische Relevanz, dient nur fr Schritt 2. 2. Trusted System anlegen: welchem System das Zielsystem vertrauen soll SM59 > Exras > Trusted Systems (SMT1) > neu > Destination <Name der aus 1. Vergebenen RFC-Verbindung> > Anmeldung >

3. Trusted RFC Destination zum Ziel anlegen: SM59 > RFC Destination anlegen > Technical Settings Hostname > connection Test > Logon & Security > Trusted System yes > User eintragen z.B. wenn der User im Zielsystem ein andere ist, ggf. Mandant eingeben > sichern > Test > Authoration Test > funktioniert nicht trotz SAP_ALL

4. Berechtigung S_RFCACL im Benutzer pflegen (ist im SAP_ALL)

5. SM59 neu starten > Test der RFC- Verbindung RFC-Verbindung ist eingerichtet

nicht erhalten > PFCG > Berechtiungsausprgungen pflegen > Benutzer zuordnen >

Bei Systemkopien gibt es hier Vor-/Nacharbeiten! Registrierte RFC-Serverprogramme verbindet sich automatisch, registriert sich am Gateway (keine Authentifzierung ntig), Programm wird aufgerufen, Sicherheitstechnisch prfen, wer darf sich registrieren, Zugnge ber die RegInfo (darf das Programm XY sich registrieren) Datei gelst, ohne Datei darf sich jeder registrieren TP (Transportsystem) Welche Programm sollen vom SAP aus (nicht) gestartet werden steht ab 7.0 in der SecInfo (was darf passieren wenn ich raus aus SAP machen) Datei Einrichtung der Gatewaymonitors SMGW o bersicht der aktuellen Verbindungen und Programme o Vgl. SM59 Typ T registrierte Serverprogramme o GOTO > Expert Functions > External Security > Display SecInfo / RegInfo o TP in der SEcInfo heit transactional programm o OS SYS > DEFAULT.PFL > Pflegen o SecInfo / RegInfo Datei inm SYS>Global > erstellen o SAP-System neu starten o Alternative aus der TA erstellen o SMGW > GOTO > Expert Functions > External Security > Create (*Info) Vorschlagswerte bernehmen o GOTO > Expert Functions > External Security > Reread, liet die neuen Werte aus o Automatische Installation der RegInfo ist umfangreicher, weil mehr Serverprogramme vorhanden sind o GOTO > Expert Functions > External Security >Logging zur berprfung der Zugriffe (werden protokolliert), hilft bei der Erstellung der RegInfo / SecInfo Es gibt auch die Mglichkeit einen dedizierten Gatewayrechner zu installieren, hoher Aufwand/Kosten

6.2. ICM und ICF


Request an den ICM SMICM, jede Instanz hat einen eigenen Monitor, SICF, alle Services die der ICM anbieten kann, Services aktivieren/deaktivieren, Ports konfigurieren ICM (Sicherheitsaspekte): Wie ist der ICM skaliert, Loadbalancing sinnvoll?, virtuelle Host ntige/einzurichten (Namensrume trennen), Anmeldeverfahren pro Service sind mglich, Angriffsflche reduzieren > nur die Services aktivieren die notwendig sind ICF Service (Auslastung) kann analysiert werden Alle Services berprfen die ohne Anmeldung funktionieren SMICM einrichten (Empfehlung) o Sap/bc/soap/rfc o Sap/bc o Siehe Unterlagen Ab Basis 6.40 eine ms/acl_info Datei pflegen, IP-Adressen der Messageserver stehen SMMS > GoTo > Parameter > (...) vgl. SMGW Einrichtung

6.3. Message Server


7. Entwicklung und Sicherheitspatches


7.1. Systemlandschaft
3-Systemlandschaft soll produktive Systeme durch Tests schtzen Transportverzeichnis (File Share) Das ABAP-Transportwesen kann jetzt alles transportieren (wurde erweitert) Java, KM-Dokumente, etc., was wird wirklich transportiert? ABAP-Transportwesen (CTS) stellt eine Zentralisierung sicher, inkl. Log- Files, noch besser: Solution Manager mit Workflows nderungsoptionen, Mandantennderbarkeit, produktive System sollten nicht nderbar sein! Einstellungen auf Mandantenebene o Produktiver Mandant: keine nderung erlaubt, nur laufende nderungen o Testsysteme: keine nderung erlaubt, nur laufende nderungen o Customizingmandant: alles erlaubt, nderungen sollten aufgezeichnet werden Keine Entwicklerberechtigungen im Produktivsystem Debugging with replace > sollten selbst im Entwicklungsmandanten nicht vergeben werden, hohes Manipulationspotential nderbarkeit von Customizingtabellen im produktiven System unbedingt vermeiden

TMSADM User Passwort ndern, Problem: Konsistenz bei der nderung sicherstellen, Hilfe durch den Hinweis 1414256, Report TMS_UPDATE_FWD_OF_TMSADM Transportwesen Qualittssicherungsverfahren aktivieren, STMS > Systemlandschaft, Quality Assurance, Delivery after confirmation Modifikationen berschauen im Modification Browser SE95 Kernelpatching besondere Aufmerksamkeit Security Patch Day Newsletter abbonieren 2x monatlich service.sap.com/securitypatchday - Terminbersicht Report RSECNOTE hilft bei der berprfung des Status SOS im EarlyWatchReport

7.2. Patch Management

8. Monitoring der SAP-Systeme


8.1. Werkzeuge
Early Watch, Security Optimization Service, Computing Center Management System, Solution Manager Diagnostics Sicherheitskonfigurationen mssen gepflegt/eingerichtet werden Security Audit Log: Protokolliert sicherheitsrelevante Zugriffe o SM21 > System Log o Audit Log ist ausgeschaltet, muss eingerichtet werden SM19 Profil anlegen Filter definieren 2 mglich (Selektionskriterien fr alle zu protokollierenden Aktivitten) Betriebsrat informieren, Benutzerberwachung, Datenschutz Events > Details zeigt was critical, non-critical, Important ist, knnen nher definiert werden Filterstrke sinnvoll whlen SM20 / SM20N zur Auswertung nutzen Profil aktivieren Im JAVA im :5000/nwa > Monitoring > Logs and Traces > Expert View > Open Filter > Log Browser > Namensraum *security* filtern > Vorlage ist abspeicherbar Auch ber den Visual Administrator, SAP Management Console oder den Stand Alone Viewer verfgbar User Informationen ber SUIM auswerten, siehe auch ST01

9. Kryptographie
9.1. Verschlsselung
o Eavesdropping lauschen o Symmetrisch: A + B haben einen (secret key) Beide bentigen den Schlssel

Schnelles Verfahren, dennoch Perfomanceinbuen Beide Kommunikationspartner bentigen den gleichen Schlssel o Asymmetrisch Private key und Public Key liegen beim Sender Public Key kann jeder haben Private Key + Public Key passen zusammen Von Public verschlsselt kann nur mit Privat Key entschlsselt werden Neue Algorhythmen Lngere Schlssellngen Nicht fr jeden Request praktikabel, Perfomanceinbuen o Hybride Verschlsselung Symmetrische + asymmetrische Verschlsselung Secret Key wird mit dem Empfnger public Key verschlsselt Empfnger entschlsselt den secret Key mit seinem private Key Danach nur noch symmetrische Kommunikation SSL-Verfahren nutzt diese Technologie Probleme - Masquerading o Jemand gibt sich als Empfnger aus, public key wurde vorher besorgt o Also: Authentication z.B. mit Zertifikate o Erste Identifikation erfolgt ber die IP = Analogie zum Ausweis > Bild o Gltigkeit von / bis o Unterschrift, Stempel, Aussteller = CA Certification Authority, ausstellende Behrde, in BRD gibt es gesetzliche Auflagen fr eine CA, theoretisch kann jeder eine CA werden o Seriennummer o Name des Rechner = CN common name Teil des Distinguished Name Distinguished Name besteht aus o CN common name o OU organizational unit o O organization o C country Zertifikatsaustausch o Public key an CA schicken > wird unterschrieben und zurckversandt Typen o Serverzertifikate o Clientzertifikate o CA Zertifikate Revocationlist ist das Zertifikate noch gltig/vertrauensvoll, zurckgezogen?

9.2. X.509 Zertifikate = digitales Zertifikat digitaler Ausweis

Serverauthentication o Real time Aunahme o Real life mutual authentication, o Trusted services SAP bietet Zertifikate an: service.sap.com/tcs o Zum Aufbau des Public Key wird hufig eine CA ntig sein Problem Tampering Manipulation o Dateninhalte werden verndert Ist eine weitere Mglichkeit Andere Qualitt als Zertifikate In manchen Lndern verboten Public-private-key-Verfahren o Public key ist ffentlich o Signatur wird mit dem private key erstellt o Empfnger verifiziert das mit dem public key o Hash-Wert (Fingerabdruck) wird erstellt, Einwegkommunikation o Gesamtes Dokument wird mit Hashalgorhythmus verschlsselt o Vernderungen im Dokument fhren zu einem neuen Hash-Wert o Hashwert des Senders wird mit dessen Schlssel verschlsselt o Dokument + Hashwert wird vom Empfnger public key entschlsselt o Sind die freigegeben Hashwerte gleich, ist das klar, dass das Dokument nicht manipuliert ist o Zertifikate werden auch digital signiert Im SAP-System Technologien o SSL > Serverzertifikat, SSO-Anmeldungen, Browser, Server, Web Server (HTTP, LDAP) o SNC Secure Network Communication > DIAG und RFC Protokoll, SAP-GUI zum Sever, Server Server, Datenaustausch mit Fremdfirmen, Schnittstelle heit GSS-API (weiter Standard), Implementierung ber 3. Anbietersoftware mglich z.B. ber MS Kerberos (DIAG, RFC) o SSF eigene Libary, wird ber die Applikation gecustomized, vgl. SAPSECULIBARY o PSE Personal Security Enviroment > fr jedes Szenario gibt es ein eigenes Szenario, liegt in der Datenbank und auf dem Filesystem (SNC PSE, System PSE), Secure store and Forward, digitale Signaturen o es gibt Nutzer- und Systemsignaturen Hersteller, Quelle o Passwort Hashes, Secure Store o Saubere Netzwerktopologien knnen effizienter aus Verschlsselung sein o SAPSECULIB wird mit ausgelierfert o Verschlsselungssoftware unterliegt dem Ein- und Ausfuhrrecht, darf die Software eingerichtet werden, lnderspezifische Bestimmung, Gesetzesverletzung vermeiden

9.3. Verschlsselung

9.4. SNC Einrichtung


o Externes Securityprodukt SAPCRYPTOLIB o SNC PSE enthlt die Credential, liegen im Filesystem und in der Datenbank 1. Installation der SAP Cryptogrpahic Library und des Lizenztickets a. Download aus dem Service Marketplace b. (3) Dateien in die richtigen Verzeichnisse kopieren = Kernelverzeichnisse in jedes EXE Verzeichnis der Instanzen Windows sapcrypto.dll, in der lst Datei steht drin, welche Dateien kopiert werden sollen, ticket enthlt Informationen welche Komponenten verwenden werden, sapgen.pse drfen (Lizenzinfos) wird in den sec Order kopiert c. SECUDIR berprfen, SM49 > SAP / ENV, set muss unter dem User erfolgen unter dem das SAP-System luft Stichwort Umgebungsvariable 2. Trust Manager Profil Parameter pflegen 1/2 a. Entweder ber die RZ10 oder auf Betriebssystemebene in das Defaultprofil, usr/SAP/dev/profile/default.pfl diese Datei editieren 1. Verzeichnis fr die Cryptolib angeben, und das Zertifikat zu erstelllen snc/identity/as = p:CN=SID, OU=XX, O=sap, b. Restart 3. Erstellen / Importieren des SNC PSEs a. STRUST: bietet die Mglichkeit PSE Dateien zu erneuern, zuerst ist immer die System PSE ausgewhlt, Doppelklick auf die zu bearbeitende PSE, 3-teiliges User Interface i. SNC PSE erzeugen: SNC SAP Cryptolib, rechtslkick create, Werte werden aus dem Profilparameter bernommen, Schlssellnge definieren, 2048 empfohlen, ii. Zertifikat auswhlen, selbst signiert, Seriennummer, Gltigkeit sind gepflegt, iii. Passwort vergeben > Passwortbutton > schtzt vor Bearbeitung iv. Sichern, Kontrolle sind die Zertifikate grn? 4. Profilparameter 2/2 a. Step 2 inf sys/profile/default.pfl hier wird der Schnittstelle mitgegeben welche Bibliothek ausgewhlt werden soll, weitere Parameter bestimmen den Grad der Sicherheit, b. Restart 5. Zertifikate tauschen a. Zertifikat exportieren Z auswhlen > Zertifikat > Exportieren > OS > DEV00.cer

b. Zielsystem Zertifikate importieren > STRUST > importieren > Pfad angeben > Zertifikat wird im Arbeitsbereich angezeigt > Button Add to Certificate List c. Selbiges auf der Gegenseite d. ACL pflegen (SNC0), weil es nicht reicht, dass das Zertifikat bekannt ist, ACL = Access Control List i. System ID angeben ii. SCN Namen = Owner aus dem Zertifikat (Kopie STRUST) + vor das Zertifikat p: iii. Kommunikationsart whlen (alle auswhlen) iv. Grner Haken soll kommen, Tabelleneintrag berprfen v. Tabelleneintrag lsst sich nicht korrigieren, bei Fehlern muss das Zertifikat gelscht/neu angelegt werden vi. Tabelle die gepflegt wird heit SNCSYSACL 6. Test bei RFC Verbindung von Server zu Server a. RFC Destination pflegen b. Logon and Security > SNC Extension whlen > Partner = p: Owner aus dem Zertifikat (Kopie STRUST) > Quality of protection whlen (sinnvoll 3/8) > SNC aktivieren > sichern c. funktioniert RFC noch > SNC funktioniert d. SMMS > GoTo> Logon Data > jetzt neue XX with SNC mglich 7. Dual Stack > daher kann der JAVA Teil auch SNC a. Aber anderer Parameter sind mglich, im wesentlichen gleich b. Visual Administrator > JCO RFC Provider, Library angeben, Partner mit p: angeben / auch bei Destinations > Werte pflegen

9.5. SSL ABAP


HTTPS wird empfohlen bei o Browserzugriff o Serverkommunikation o Sollte bei der Installation von Netzwerkkomponenten eingerichtet werden o Nutzt auch die Cryptographic Libary (fr ltere zustzlich das Cryptographic Toolkit) o Cryptographic libary Installation vgl. SNC Installation SSL Installation auf dem ICM 1. ICM / SSL Profil Parameter setzen a. [...] DEFAULT.PFL i. Port > vergeben, muss frei sein, was ist schon konfiguriert, vgl. ICM Monitor, VCLIENT=1 > soll Clientanmeldung mglich sein; wo soll die Einrichtung erfolgen

ii. Ort der Cryptpgraphic Libary angeben ssl/ssl_lib = <Speicherort OS> iii. Java Port angeben (bei Dual Stack), icm/j2ee_port_1 = PREFIX= /, Host iv. Messageserverhttpsport vergeben ms/server_port1 b. Restart des ICM, nicht gesamtes System c. Wenn der ICM startet, werden die Profildateien automatisch eingelesen 2. ICM Zertifikat zur Verfgung stellen (SSL-Server-PSE Datei erstellen) a. STRUST > SSL server Standard i. Vorgabe = eigenes Rechnerumfeld, Eingaben sind von der CA abhngig, sonst keine Zertifizierung ii. Name = (hier: Vorgabe) CN / OU / O / C iii. Vorsicht, kann je nach Szenario Client, Server sein iv. Standardvariante ist * = shared Variante v. Auch bei unterschiedlichen Hostnamen knnte das gleiche Zertifikat verwendet werden vi. Beim SSL beachten was der User sieht / Browser zeigt b. Zertifikatssignierungsrequest erzeugen Unterschrift i. An die CA senden, hier service marketplace ii. STRUST > Edit > Create Certification Request > abspeichern > versenden iii. Service marketplace ffnen > PKCS#7 iv. Antwort einspielen STRUST > EDIT > Import Response > Aussteller ndert sich, sollte nicht mehr self signed sein, muss nicht in die Zertifikatsliste aufgenommen werden, da es das eigene ist 1. SSL -Client-PSE o STRUST > SSL client SSL Client (Standard) > erstellen o SM59 > In der RFC Verbindung > Logon & Security > Status of Secure Protokol > SSL Client Certifikate > jetzt hier das vorher angelegte Zertfikat auswhlen

9.6. SSL fr JAVA


Erstellen eines Zertifikats (Libary ist bereits installiert) o Visual Administrator > Key Storage > ssl-credentials o Subject properties pflegen o Schlssellnge pflegen o Haken bei store certificate setzen o Generate Certificate signinig request > speichern o Antwort einfordern (hier service marketplace) o Import CSR Response > Datei einlesen, o SSL Provider > Server Identity > Add > Zertifikate auswhlen o Prinzipien sind die gleich nur anderers CI

9.7. WebDispatcher + SSL


SSL End to End Mode, alles SSL, wichtig Browser > Web Dispatcher > Server, das heit Anfragen werden direkt durchgereicht, Loadbalancing funktioniert auf IP Basis, o Ein Parameter notwendig: https Port angeben und weiterleiten, Web Dispatcher spricht kein SSL Terminiertes SSL mit Wiederverschlsselung, dann braucht der Web Dispatcher PSEs und eine eigene Cryptographic Libary o Parameter ntig o PSE erstellen Trick > STRUST im System > File > PSE erstellen mit den Daten des Web Dispatchers (anstatt sapgenpse) > in das sec Verzeichnis des Webdispatcher abspeichern > STRUST File, importieren > jetzt sind alle Aufgaben mglich Anfragen erstellen, Antworten einspielen, knnen zentral in der Datei gesichert werden Messageserver / Central Service / Managementkonsole etc... knnen analog mit SSL versorgt werden Wenn auf dem Server SSL aktiviert ist auch in der SAP Managementkonsole zu aktivieren

10. Single Sign On


10.1.

Allgemeines

Im sdn Security and Identity Management > o Neue Version fertiggestellt NW SSO 7.1 o Nachfolger des SECUDE Produkts, gekauft, heute Single Sing On Warum? Viele Passwrter und User soll bei der Verwaltung entlastet werden AS ABAP untersttzt folgende Anmeldemglichkeiten:User ID, SNC, SAP Logon Tickets, X.509, SAML, kein JAAS AS JAVA unterstzt: User ID, SAP Logon Tickets, X.509, SAML, JAAS (Java Standard), fr Java lassen sich eigene Anmeldeverfahren in JAAS programmieren SAML = ein Account mit mehreren Identitten SAP GUI: X.509, Kerberos SNC, Logon Ticker Browser: X.509, Keberos AS Java, Logon Ticket Single Sign On ber SNC o SNC Kerberos Authentifizierung ber gsskrb5.dll o Windows NTLM ber gssntlm.dll X.509 fr die Useranmeldung o Web Browser o Logon Ticket, ist gleichzeitig ein Session Ticket im o Was passiert: User meldet sich am Portal an > o Ein Logon Ticket des System ist signiert in der System PSE, d.h. STRUST > System PSE > anderes System aufnehmen > STRUST 2 > ACL Liste pflegen > o Inhalt eines Logon Tickets

User ID Mapped User ID Time of Issue Valid Period Ausstellendes System Digitaler Signatur o SSO mit Logon Tickets ist nicht weit verbreitet, da sehr aufwendig (z.B. bei Drittsystemen), Standard X.509 o SSO2 kann Logon Tickets berprfen o Im Visual Administrator > Security Provider > ticket >

10.2.

AS ABAP fr X.509 einrichten

Profilparameter icm/HTTPS/verify_client SSL ist Voraussetzung SSL Server PSE Zertifikat einspielen STRUST > Import > SAPTRUST User SAP Passport CA > Gltigkeit berprfen Falls abgelaufen > Download Certifikate > Passport CA Zertifikate > STRUST > GoTo > Zertifikat importieren (ggf. Checksum mit smp berprfen) > Add to certificate list > speichern ICM neustarten Usermapping > SM30> VUSREXT > DN (Distinguished Name of Certificate) > neuer Eintrag externe User ID Im Browser Zertifikat exportieren > in SAP Importieren > SAP User eingeben > activated aktivieren ICM neu starten Anmeldung ber den Browser