Enterprise User Security Von der Business Rolle bis in die Datenbank Marcel Pils ACT Unternehmensgruppe Leiter Data Management Andre Lünsmann Barmenia Versicherungen Teamleiter IT-DB/Change
ACT Unternehmensgruppe Marcel Pils Leiter Data Management Senior Database Consultant 14 Jahren Oracle DB Erfahrung marcel.pils@actgruppe.de ACT Unternehmensgruppe Seit 1982 tätig in DACH Region 175 qualifizierten Mitarbeitern 17 Millionen jährlicher Umsatz Sitz in Niederkassel bei Bonn www.actgruppe.de/service/
Barmenia Versicherungsgruppe Die Barmenia zählt zu den großen unabhängigen Versicherungsgruppen in Deutschland. Versicherungsvereine auf Gegenseitigkeit Aktiengesellschaft Barmenia Kranken Barmenia Leben Barmenia Allgemeine 100% Tochter der BK Verbundene Unternehmen nach 18 Abs. 2 AktG 100% Tochter der BK Barmenia Beteiligungsgesellschaft mbh 100% Tochter der BA ADCURI GmbH Anteil: 11 % (193,4 Mio. Euro) Anteil: 5 % (90,0 Mio. Euro) Anteil: 84 % (1.485,2 Mio. Euro) Kranken Leben Allgemeine
Berechtigungspflege und das reale Leben Arbeitsvertrag am 24.03.2014 zum 01.07.2014 erster Arbeitstag Januar Februar März April Mai Juni Juli August September Oktober November Dezember
IDM Lifecycle Mai Juni Juli
Identity & Access Management Reifegrad 1 Initial Level Reifegrad 2 Repeatable Level Vorher Reifegrad 3 Defined Level Reifegrad 4 Managed Level Nachher Reifegrad 5 Optimizing Level diverse Quelle für Identitäten mit (teil)automatisierten Synchronisationsmechanismen mit Duplikaten/Inkonsistenzen Unsystematische und schwer planbare Bereitstellung von Usern und Rechten Identitäten werden in wenigen Systemen konsistent gepflegt Die wichtigsten IDM-Prozesse sind eingeführt Die Erbringung der Dienstleistung ist planbar/wiederholbar Identitäten werden zentral verwaltet IDM-Service Prozesse sind dokumentiert, standardisiert und weitgehend automatisiert Ein User Self Service ist vorhanden Die Sicherstellung konsistenter Pflege der Identitäten, Rechte und Rollen ist gegeben Es erfolgt keine Rechtevergabe mehr außerhalb der zentralen Verwaltungsstelle Die Einhaltung der Compliance Anforderungen ist nachweisbar Identitäten, Rechte und Rollen können bitemporal verwaltet werden Die Prozesse sind vollständig automatisiert Alle Rechte können auf die Geschäftsregeln gemappt werden Inkonsistenzen werden erkannt und behoben bzw. verhindert 6
Projektanforderungen Zentralisierte Verwaltung der Authentifizierung und Authorisierung Active Directory als zentrale Identitätsquelle Passwortbasierte Authentifizierung kleinster gemeinsamer Nenner für alle Tools Reporting der Berechtigungen Compliance, Rezertifizierung Unterstützung bei der Konsolidierung Bereinigung der Zugriffsrechte Bildung von Business Rollen Nachträgliche Erweiterung Provisionierung, Reconcilation weitere Identitätsquellen Single Sign On
Oracle Lösungsportfolio EUS n Enterprise Edition Feature n Global DB User n Global DB Roles n AD Anbindung n Definition der Fachrollen n Mapping auf AD Gruppen CUA4DB n Oracle Identity Manager n DB, AD,.. Connectoren n ID Syncronisierung n Regelwerke definieren n Provisioning n Workflows n Self Service n Reports OIA n Import der ID Quelldaten n Abbildung der Unternehmenshierarchie n Erstellung von Reports n Ergebnisauswertungen n Zertifizierungen n Audits
Produktauswahl für POC EUS OIM Prio Zentralisierte User und Rollen Verwaltung Ja Ja 1 Microsoft Active Directory als Quelle für User und Rechte Ja Ja 1 Authentifizierung per User/Password Ja Ja 1 Authentifizierung per Kerberos, PKI Ja Ja 2 Erweiterbar auf Non Oracle Datenbanken Nein Ja 2 Audit & Compliance Ready (Reporting) - aktiv per OIM oder reaktiv per OIA OIA Ja 1 Password Self Service UHD Ja 3 Workflow und Policy basiertes Benutzer Mngt. UHD Ja 3 Schnittstelle zum Provisioning & Reconcilation - bei EUS mittels Active Directory Anbindung an OIM OIM Ja 2 Schnittstelle zum Oracle Identity Analytics Ja Ja 1 Keep It Simple and Smart (KISS) - EUS = DB Anbindung über globale User/Rollen und Proxy User in der DB - OIM = großer Funktionsumfang, zusätzliche Connectoren, Synchronisierung, Regelwerke Geringer Implementierungsaufwand (Zeit + Kosten) - EUS = DB Anbindung ca. 1/2h, - OIM = DB Anbindung > 1 Tag, zusätzliche Personalressourcen Ja Nein 2 gering hoch 2 UHD = User Help Desk, EUS = Enterprise User Security, OIM = Oracle Identity Manager, OIA = Oracle Identity Analytics
Enterprise User Security Varianten Password Authentification CTX DIP (Sync) / Chaining EUS enabled Database Authorisation DB Oracle Internet Directory (OID) Active Directory PWD Filter EUS enabled Database Password Authentification Authorisation Oracle Virtual Directory (OVD) Read Write Active Directory CTX PWD Filter Other Directories / SAP HR
Bedenken der AD Administration Kollision mit anderen Schemaerweiterung? Oracle Schema nicht zertifiziert Zertifizierung seitens Oracle nicht geplant + Enthält ANSI Root Object Identifier ( Oracle Corporation Directory Object OID 2.16.840.1.113894) http://www.oid-info.com/get/2.16.840.1.113894 Microsoft Support Probleme? Password Filter DLL nicht zertifiziert Zertifizierung seitens Oracle nicht geplant + Einsatz entsprechend Microsoft API Beschreibung http://msdn.microsoft.com/en-us/library/windows/desktop/ms721766%28v=vs.85%29.aspx + Oracle validierte Active Directory Versionen (OUD 11.1.2.1 à MS AD 2008 R2; OUD 11.1.2.2 à MS AD 2012)
Bedenken der AD Administration Konsistente Installation ohne Installer? + Nur 1 DLL + 1 Registry Key Wert Integration in Windows-Dateischutz? Windows File Protection nur für OS-DLLs + Regelmäßiges Monitoring des Password Filters + Restore nur einer DLL Datei Einbindung in WinSxS DLL-Versionskontrolle? + Microsoft Interface unverändert seit Windows NT + Januar 2010 letzte DLL-Änderung (64 Bit Version) + Unterschiedlicher DLL Versionen nicht erforderlich + Laden neuer DLL Version à Server Restart + Abhängigkeiten nur zu Windows Server DLLs
Enterprise User Security Varianten Password Authentification Authorisation Read Only CTX PWD Filter EUS enabled Database Oracle Virtual Directory (OVD) Active Directory CTX DB Other Directories / SAP HR Oracle Internet Directory (OID) Password Authentification CTX Read Only EUS enabled Database Authorisation Oracle Unified Directory (OUD) (ab Version 11.1.2.1) Active Directory PWD Filter
Konfiguration am Active Directory Schemaerweiterung für Password Attribut # Source: $OUD_HOME/config/EUS/ActiveDirectory/extendAD java cp. extendad h <Schema-Master-ADControler>.lan.local p 389 \ D <Schema-Admin>@lan.local w <Admin-Passwort> \ AD dc=lan,dc=local commonattr PWD Filter DDL auf AD Controler kopieren # Source: $OUD_HOME/config/EUS/ActiveDirectory/win64/oidpwdcn.dll copy oidpwdcn.dll \WINDOWS\system32\ Registry-Key auf AD Controler erweitern Open Registry Tree Edit RegKey Add value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\ Notification Packages oidpwdcn Benutzer muss initial sein Passwort ändern
Big Picture 1. Installation 3. Configuration Enterprise Manager Cloud Control Apache Directory Studio TNS Services EUS Databases Enterprise Roles User / Password Login Authentication / Authorisation 11.1.2.1 Global Schema User Global Roles EUS Context Local Datastore 11.2.0.4 Oracle DB Load Balancer Multimaster Replication Wallet Ldap.ora SPfile Sqlnet.ora EUS Context Local Datastore LDAP_DIRECTORY_ACCESS = PASSWORD LDAP_DIRECTORY_SYSAUTH = YES 11.1.2.1 TNS Services EUS Databases Enterprise Roles OUD 1 OUD 2 2. Integration User Gruppen Password Filter DLL User Gruppen Password Filter DLL User Gruppen Password Filter DLL AD Controler 1 AD Controler 2 AD Controler 3
Intuitive Abbildung von Geschäftsregeln Business Role Resource Role Nutzung App1 Nutzung App2 Wartung App2 Team DBA DB Prod read Schema A DB Prod read Schema B DB Prod write Schema B DB Prod DBA OUD Enterprise Roles Role RO_A Role RO_B Role RW_B Role DBA Services + Organisationseinheiten (Business Role) Verzweigungen + Vererbungen Berücksichtigung von Mehrfachbelegungen Active Directory als Single Point of Declaration
EUS Einschränkungen für Active Directory Keine Verschachtelung von AD Gruppen möglich Direkte Zuordnung der AD User erforderlich Mehr AD-Gruppen pro User Wo erfolgt das Mapping? (Business Role à Resource Role) User Self Service?, OUD?, Datenbank? User Self Service Business Role Active Directory Gruppe OUD Enterprise Role Datenbank Global/Local Role Enhancement nicht geplant Programmierung eigener OUD Workflows?
Administration Weblogic Server Administration Console 4 GB+ RAM 3 GB+ Disk Oracle Directory Server Manager (ODSM) Enterprise Manager Fusion Middleware Control 2 GB RAM 2 GB Disk Server Console Client OUD / EUS Apache Directory Studio 500 MB RAM 200 MB Disk Skripte Perl, Shell OUD Binaries Enterprise Manager Cloud Control Dsconfig Dsreplication Backup Ldapsearch EUSM CLI
EUSM Security Leak Enterprise User Security Manager (EUSM) Command Line Interface zur EUS Administration Oracle Database ab 11gR1 Umfangreich und intuitiv Bisher nur im MOS dokumentiert (ID 1085065.1) eusm addglobalrole realm_dn="dc=idm,dc=lan,dc=local ldap_host=oud.unix.lan ldap_port=1389 \ domain_name=oracledefaultdomain enterprise_role="e-myapp" global_role="g-myapp" \ database_name="mydb" dbuser="sys" dbuser_password="syspwd" dbconnect_string="mydb \ ldap_user_dn="cn=directory Manager" ldap_user_password="dmpwd ps ef grep "eusm.jar grep -v grep oracle 9050 9049 0 18:31 pts/2 00:00:00 /app/oracle/product/11.2.0/db112032/jdk/jre// bin/java -classpath /app/oracle/product/11.2.0/db112032/jdk/jre//lib/rt.jar:/app/oracle/ product/11.2.0/db112032/jdbc/lib/ojdbc5.jar:/app/oracle/product/11.2.0/db112032/rdbms/jlib/ eusm.jar oracle.security.eus.util.esmdriver addglobalrole realm_dn="dc=idm,dc=lan,dc=local ldap_host=oud.unix.lan ldap_port=1389 domain_name=oracledefaultdomain enterprise_role="emyapp" global_role="g-myapp" database_name="mydb" dbuser="sys" dbuser_password="syspwd" dbconnect_string="mydb" ldap_user_dn="cn=directory Manager" ldap_user_password="dmpwd" Passwortübergabe per Parameter Enhancement Requests 14704668 + 19704624
Enterprise User Auditing Enterprise User = Shared Schema User in der DB # Enterprise User Connect SQL> conn "240531" Enter password: Connected. # Session Environment SQL> show user USER is "GLOBAL_TEST_USER SQL> select 1 sys_context('userenv','external_name') 2 from dual; SYS_CONTEXT('USERENV','EXTERNAL_NAME') ---------------------------------------- cn=240531,ou=user,dc=idm,dc=lan,dc=local # Activate DML Auditing SQL> conn / as sysdba SQL> audit insert table, delete table, 1 update table by "GLOBAL_TEST_USER" by access; Audit succeeded. # Execute DML SQL> conn "240531" SQL> insert into table1 values (1,'eins'); SQL> delete from table1 where id=1; SQL> disconnect; # Check Audit Entries SQL> select a.sessionid,a.entryid,aa.action, 1 aa.name, a.userid,a.comment$text 2 from sys.audit_actions aa, sys.aud$ a 3 where a.action# = aa.action 4 and a.userid='global_test_user' 5 order by sessionid desc,entryid desc;
Enterprise User Session Informationen Enterprise User = Shared Schema User in der DB Anlegen eines Logon-Triggers CREATE OR REPLACE TRIGGER EUS_LOGON_TRIGGER AFTER LOGON ON DATABASE declare l_client_info varchar2(4000); l_ad_user varchar2(4000); BEGIN dbms_application_info.read_client_info(l_client_info); if length(l_client_info) > 0 then l_client_info := ', ' l_client_info; end if; l_ad_user := sys_context('userenv','external_name'); l_ad_user := regexp_substr(l_ad_user,'[^.*(cn=)][^(,)]*'); dbms_application_info.read_client_info(l_ad_user l_client_info); End; Sichtbar in V$SESSION select sid, username, schemaname, client_info from v$session where username in ('GLOBAL_TEST_USER', 'LOCAL_TEST_USER') order by 1
Enterprise Manager Plug-in for OUD Lizenzierung Mgmt. Pack Plus for Identity Management Dokumentation Version 12.1.0.1.0 http://docs.oracle.com/cd/e24628_01/nav/plugins.htm Deployment im EM12c Proxy Server Directory Server Replication Gateway
Enterprise Manager Plug-in for OUD Discovery als Proxy Server 572 Metriken in 33 Gruppen Performance, Resource Usage, Remote Server Kein local LDAP Store (OracleContext) Remote LDAP Store
Enterprise Manager Plug-in for OUD Discovery als Directory Server Unterstützt local LDAP Stores (OracleContext) Metrik Evaluation Error à Keine Werte Für Proxy Instanz nicht einsetzbar
Monitoring des Oracle Unified Directory Enterprise Manager Plug-in for OUD Erfordert Lizenz Mngt. Pack Plus for Identity Management Nicht ausreichend für OUD Proxy mit local LDAP Store Enhancement Request RFE BUG 18717725 Geplant für nächstes Release Release Date unbekannt Skript basiert für CheckMK / Foglight Perl Skripte LDAP search à cn=replication,cn=monitor LDAP search à OracleContext Tree http[s] socket / ldap connect check Shell Skripte ps, ldapsearch, dsreplication, dsconfig
Entwicklung der IDM Produkte Enterprise User Security Oracle Identity Manager Product Suites + Lizenzmetriken Oracle Unified Directory Oracle Identity Analytics Convergence? Oracle Identity Governance Roadmap??????
Nächste Schritte / Ideen Rechte Mining und Reporting Bereinigung der ID Quellsysteme Konsolidierung / Provisionierung von ID Quellsystemen Neugestaltung der Prozesse / Automationen / Standards Rechte und Rollen mit den Geschäftsregeln mappen
Oracle Identity Analytics
Oracle Identity Analytics
Oracle Identity Analytics
Oracle Identity Analytics
Verweise Oracle Unified Directory Dokumentation http://www.oracle.com/technetwork/middleware/id-mgmt/documentation/index.html MOS 1418884.2 Information Center : Overview Oracle Unified Directory (OUD) MOS 1675625.1 OUD-EUS configuration steps Oracle Unified Directory EM12c Plugin Dokumentation http://docs.oracle.com/cd/e24628_01/nav/plugins.htm EUS Dokumentation http://docs.oracle.com/cd/e11882_01/network.112/e10744/toc.htm MOS 1376365.1: Master Note For Enterprise User Security EUSM Dokumentation MOS 1085065.1 EUSM, CLI Tool For EUS Administration and Some EUS Good to Knows Directory Services Integration with Database Enterprise User Security http://www.oracle.com/technetwork/database/security/dirsrv-eus-integration-133371.pdf Enhancement Requests RFE BUG 18717725: EM12C OUD PLUGIN - NEEDS TO MONITOR THE LOCAL LDAP DATA STORE RFE BUG 14704668: EUS COMMAND LINE TOOL EUSM SHOULD HAVE AN OPTION NOT TO USE PLAINTEXT PASSWORDS RFE BUG 19704624: EUSM SHOULD NOT USE USERNAME AND PASSWORD AS COMMAND LINE ARGUMENTS
Jetzt sind Sie dran...