DOAG 2010 Kerberos für die Datenbank. Dr. Günter Unbescheid Database Consult GmbH Jachenau

Ähnliche Dokumente
Database Consult GmbH 1

Kerberos für die Datenbank

Kerberos - Single Sign On ganz einfach

Kerberos im Einsatz mit Oracle: Starke und existente Windows- Authentisierung nutzen

Kerberos - Single Sign On ganz einfach

Kerberos - Single Sign On ganz einfach

Kerberos Geheimnisse in der Oracle Datenbank Welt

<Insert Picture Here> Kerberos Geheimnisse in der Oracle Datenbank Welt

Kerberos und das Oracle Die Nutzung von Kerberos in einer Solaris-Oracle-Umgebung

Mike Wiesner Mike Wiesner 1

IT-Symposium. 2E04 Synchronisation Active Directory und AD/AM. Heino Ruddat

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Konfiguration von WNA in Oracle Access Manager 11g

Konfiguration des Novell GroupWise Connectors

Authentifizierung. Benutzerverwaltung mit Kerberos. Referent: Jochen Merhof

Das Kerberos-Protokoll

Safexpert Oracle Datenbank Konnektor. Stand: IBF-Automatisierungs-und Sicherheitstechnik GmbH A-6682 Vils Bahnhofstraße 8

Frankfurt,

Single-Sign-On für Web-Anwendungen. Dr. Günter Unbescheid Database Consult GmbH

Veröffentlichung und Absicherung von SharePoint Extranets

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

Zentrale Datenbank-Nutzerverwaltung

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Abschlussvortrag zur Diplomarbeit Aufbau und Analyse einer Shibboleth/GridShib-Infrastruktur

Einrichten der Windows Authentication im Active Directory auf Windows 2000 Server und MS SQL Server 2005 Express für opus i

HOBLink VPN. HOBLink VPN & Produktionsumgebung- / Steuerung

Technote - Installation Webclient mit Anbindung an SQL

Jan Schreiber, Pablo Stapff Loopback.ORG GmbH, Hamburg

Enterprise Security mit LDAP und PKI. Varianten der zentralen Benutzerverwaltung für Oracle Datenbanken

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R2: Administration I

Installation des edu- sharing Plug- Ins für Moodle

INSTALLATIONSANLEITUNG der Version 2.1 (Jänner 2014)

Howto. Konfiguration eines Adobe Document Services

Installationsbeschreibung Flottenmanager 7.1

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Oracle 10g Einführung

OP-LOG

Datenbank-Administration mit personalisierten Accounts

Verteilte Dateisysteme

Administrator-Anleitung

Oracle Enterprise User Security 11g mit Server Chaining

ONET: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung. ONET Server

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx


Windows Integration. von Tino Truppel

Free IPA (Identity Policy - Audit)

SSO mit Forms direkt gegen ein Active Directory. Wolf G. Beckmann TEAM GmbH Paderborn

Single-Sign-On mit Java und Kerberos. Michael Wiesner, SOFTCON IT-Service GmbH

1. Integration von Liferay & Alfresco 2. Single Sign On mit CAS

SSH-Authentifizierung über eine ADS mittels Kerberos 5. Roland Mohl 19. Juli 2007

HowTo: Einrichtung einer IPSec Verbindung mit einem IPSEC VPN Client zum DWC-1000 am Beispiel der Shrewsoft VPN Clientsoftware

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

eurovat Magento Extension Magento - Extension Extension V1.4.2 Dokumentation Version 1.0 SNM-Portal UG (haftungsbeschränkt) & Co. KG Vorherstraße 17

Kerberos. Markus Schade

Neues von Grid Control. Ralf Durben Oracle Deutschland B.V. & Co. KG Business Unit Datenbank DBTec

Cnlab / CSI 2013 Social Business endlich produktiv! Demo. Identity Federation in der Praxis

Einfache Koexistenz von lokaler Exchange Server-Umgebung mit Exchange Online. Christoph Bollig, Technologieberater Office 365

Jan Mönnich

Rechnernetze Praktikum Versuch 8: Zertifikate, Sicherheit in öffentlichen Netzen

Anleitung Installation Microsoft SQL-Server 2005 (Express Edition)

Nachnutzung des Windows Login in einer SAML-basierten. Föderation mittels Shibboleth Kerberos Login Handler

Wegweiser durch die TU Berlin Verzeichnisse (Update)

User-Provisioning in EMCC 12c. Dr. Günter Unbescheid Database Consult GmbH, Jachenau

Praktische Anleitung zu Konfiguration von PPTP Verbindungen

Oracle 9i Einführung Performance Tuning

Sysadmin Day Windows & Linux. Ralf Wigand. MVP Directory Services KIT (Universität Karlsruhe)

Desktopvirtualisierung. mit Vmware View 4

Verbinden von IBM Informix mit Openoffice mittels JDBC

WebLogic goes Security!

Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.

Dynamisches VPN mit FW V3.64

Weblogic Server: Administration für Umsteiger

Graphen in Apex von Thomas Hernando.

Konfiguration von Fabasoft Mindbreeze Enterprise für IBM Lotus

Zentrale Benutzerverwaltung für Linux im Active Directory

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

Anleitung Installation Microsoft SQL-Server 2008 (Express Edition)

Die DeskCenter Management Suite veröffentlicht neue Version 8.1

Windows Server Dieses Dokument beschreibt einige Details zum Aufsetzen eines Windows Server 2003 (Andres Bohren /

Ora Education GmbH. Lehrgang: Oracle WebLogic Server 11g: Advanced Administration

MGE Datenanbindung in GeoMedia

ISA Server Exchange RPC over HTTPS mit NTLM-Authentifizierung

Wireless & Management

Comtarsia SignOn Familie

Installationsanweisung editit

Virtual Unified Environments Infrastructure Service Installation und Lifecycle im Oracle Produktumfeld

Bürgerkonto Niedersachsen Eine Anmeldung für Bürgerservices

LDAP-Anbindung der REDDOXX-Appliance

Hier folgt eine kurze Aufstellung über die verwendete Architekur. Die Angaben sind ohne Gewähr für Vollständigkeit oder vollständige Richtigkeit.

Parallels Mac Management 3.5

TeamViewer App für Outlook Dokumentation

Oracle Authentifizierung über Active Directory

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Oracle Database 18c Release 1 Neue Funktionalitäten zur Datenbank-Sicherheit

Wireless LAN Installation Windows XP

BitDefender Client Security Kurzanleitung

Support Besuchen Sie mysupport.mcafee.com. Hier finden Sie die Dokumentation, Ankündigungen und Support zu dem Produkt.

Transkript:

DOAG 2010 Kerberos für die Datenbank Dr. Günter Unbescheid Database Consult GmbH Jachenau

Database Consult GmbH Gegründet 1996 Kompetenzen im Umfeld von ORACLE-basierten Systemen Tätigkeitsbereiche Tuning, Installation, Konfiguration Security, Identity Management Expertisen/Gutachten Support, Troubleshooting, DBA-Aufgaben Datenmodellierung und design Datenbankdesign, Systemanalysen Programmierung: SQL,PL/SQL,Java, JSP, ADF, BC4J Workshops www.database-consult.de Folie 2 von 36

Agenda Einführung Kerberos Konfiguration Kerberos Datenbank Kerberos - Datenbank LDAP-Dienst Ausblick: Erweiterte Möglichkeiten der LDAP Einbindung Folie 3 von 36

Einführung Kerberos Folie 4 von 36 4

Kerberos -- Anmeldung als guenter@dbc.de sqlplus /@targetdb SQL> show user USER is "GUENTER@DBC.DE" -- Alternativ: Anmeldung als guenter@dbc.de sqlplus /@targetdb SQL> show user USER is "SHAREUSER" SELECT global_name, user, sys_context('userenv','external_name') external_user FROM global_name; GLOBAL_NAME USER EXTERNAL_USER -------------------- ---------- -------------------------------- TARGETDB.DBC.DE SHAREUSER cn=guenter,cn=users,dc=dbc,dc=de Folie 5 von 36

Kerberos Verteilter Autentifizierungsdienst SSO Prinzip Basis symmetrische Kryptografie Kerberos 5 Netzwerkdienst als trusted third party Von Microsoft genutzt als Standardprotokoll für die Authentifizierung Ideale Benutzerbasis in Windowsnetzwerken Tools zur Nutzung unter Unix & CO. Anmeldung als /@zieldb Verbunden mit gleichnamigem "externen" DB-User Folie 6 von 36

Kerberos Ablauf Resource Benutzer > Authentication Request > Anforderung Service Ticket (Ressource,TGT,Authent.) < Ticket mit Auth. an Service > Service bestätigt Weitere Kommunikation KDC Ticket Granting Server (TGS) Authentication Server (AS) > *AS < Response mit TGT, Sitzungsschlüssel > *TGS < Ticket, Sitzungsschlüssel verschlüsselt oder nicht Tickets sind immer nur vom Target lesbar Folie 7 von 36

Kerberos okinit testuser sqlplus /@zieldb Oracle-User: testuser@dbc.de (entsprechend Principal Name) Folie 8 von 36

Kerberos (Unix Umfeld) okinit testuser Kerberos Utilities for Solaris: Version 10.2.0.1.0 Production on 03-MAY-2010 16:57:49 Copyright (c) 1996, 2004 Oracle. All rights reserved. Password for testuser@dbc.de: oklist Kerberos Utilities for Solaris: Version 10.2.0.1.0 Production on 03-MAY-2010 16:59:46 Copyright (c) 1996, 2004 Oracle. All rights reserved. Ticket cache: /opt/oracle/1020client/network/krb5/krbcache Default principal: testuser@dbc.de Valid Starting Expires Principal 03-May-2010 16:58:04 04-May-2010 00:57:49 krbtgt/dbc.de@dbc.de sqlplus /@zieldb Folie 9 von 36

Kerberos Konfiguration Folie 10 von 36 10

Kerberos-Konfiguration (kurz) Lizenz: Advanced Security Option Anlegen Principal User, anhängen Service Principal Name (AD) Konfigurationsdateien sqlnet.ora und krb5.conf (Client/Server) unter Windows: krb5.ini Keyfile auf den/die DB-Server kopieren enthält Credentials Datenbank-User mit entsprechendem Principal Name ktpass -princ oracle/testserver01@dbc.de -mapuser testserver01 -pass password123 DesOnly -crypto des-cbc-crc -ptype KRB5_NT_PRINCIPAL kvno 1 out C:\Users\keytab.testserver01 -------------------- CREATE USER "TESTUSER@DBC.DE" IDENTIFIED EXTERNALLY; Folie 11 von 36

Konfiguration Lizenz: Advanced Security Option Extra der Enterprise Edition Client Type Administrotor/Custom JDBC [thick, thin (>= 11gR1)] Unix: Kommando adapters Network Manager (netmgr) unter Profil der Bereich Oracle Advanced Security opatch lsinventory detail oh <oracle home>... Oracle Advanced Security 11.2.0.1.0... ########### a d a p t e r s ######### Installed Oracle Net transport protocols are:... Installed Oracle Net naming methods are: Installed Oracle Advanced Security options are: Folie 12 von 36

Konfiguration Kerberos Principal <Name> für die Zuordnung des symmetrischen Schlüssels Format: <servicename>/<hostname>@<realm> <hostname> als "user account", use DES encryption aktivieren Service Principal Name ## AD Konsole [General tab] First name: testserver01 Display name: testserver01 Password: <beliebiges Kennwort> [Account tab:] User logon name: testserver01@dbc.de User logon name (pre-windows 2000): DBC\testserver01 ########################################## ktpass -princ oracle/testserver01@dbc.de -mapuser testserver01 -pass password123 -DesOnly -crypto des-cbc-crc -ptype KRB5_NT_PRINCIPAL kvno 1 out C:\Users\keytab.testserver01 Folie 13 von 36

Konfiguration -- Kontrolle setspn -L testserver01 Registered ServicePrincipalNames for CN=testserver01,CN=Users,DC=dbc,DC=de: oracle/testserver01 ### Kopieren auf den betreffenden DB-Server ### Kontrolle oklist -k t /<pfad>/<keyfile> Kerberos Utilities for Solaris: Version 10.2.0.1.0 - Production on 30-APR-2010 11:42:37 Copyright (c) 1996, 2004 Oracle. All rights reserved. Service Key Table: /u01/app/oracle/product/1020/network/krb5/keytab.testserver01 Ver Timestamp Principal 1 01-Jan-1970 01:00:00 oracle/testserver01@dbc.de Folie 14 von 36

Konfiguration CLIENTSEITE sqlnet.ora (Windows System) NAMES.DIRECTORY_PATH= (TNSNAMES) SQLNET.AUTHENTICATION_SERVICES = (kerberos5) # Erreichbarkeit KDC SQLNET.KERBEROS5_CONF = c:\windows\krb5.ini # Credential Cache (TPT usw.) SQLNET.KERBEROS5_CC_NAME = OSMSFT:// # SQLNET.KERBEROS5_CC_NAME = /opt/oracle/1020client/network/krb5/krbcache SQLNET.KERBEROS5_CONF_MIT = true SQLNET.AUTHENTICATION_KERBEROS5_SERVICE = oracle SERVERSEITE sqlnet.ora NAMES.DIRECTORY_PATH= (TNSNAMES) SQLNET.AUTHENTICATION_SERVICES = (kerberos5) SQLNET.KERBEROS5_CONF = /u01/oracle/1020client/network/krb5/krb5.conf SQLNET.KERBEROS5_CC_NAME = /opt/oracle/1020client/network/krb5/krbcache SQLNET.KERBEROS5_CONF_MIT = true SQLNET.AUTHENTICATION_KERBEROS5_SERVICE = oracle SQLNET.KERBEROS5_KEYTAB = /u01/oracle/product/krb5/keytab.testserver01 Folie 15 von 36

Konfiguration Serviceticket-Anforderung über Host-Klausel des tnsnames-eintrages hostname auf Zielserver ergänzt durch Eigeneintrag von /etc/hosts ergänzt durch Kerberos5 Servicename SERVERSEITE sqlnet.ora (krb5.ini/krb5.conf) mit Zeitversatz [libdefaults] default_realm = DBC.DE clockskew = 3000 [realms] DBC.DE = { kdc = adnet.dbc.de } [domain_realm].dbc.de = DBC.DE dbc.de = DBC.DE ##### /etc/hosts <dbserver IP> testserver01.dbc.de testserver01 Folie 16 von 36

Konfiguration ########## AD Enduser ####################### Username/DN CN=testuser,CN=Users,DC=dbc,DC=de Logon Name testuser@dbc.de msds-principalname DBC\testuser userprincipalname testuser@dbc.de ########## DB ######################## CREATE USER "TESTUSER@DBC.DE" IDENTIFIED EXTERNALLY; GRANT connect, resource TO "TESTUSER@DBC.DE"; ########## Client-Seite ############### okinit testuser Kerberos Utilities for Solaris: Version 10.2.0.1.0 - Production on 03-MAY-2010 16:57:49 Copyright (c) 1996, 2004 Oracle. All rights reserved. Password for testuser@dbc.de: Folie 17 von 36

Konfiguration # Server: Tracing Logging nur im Bedarfsfall TRACE_LEVEL_SERVER = SUPPORT TRACE_FILE_SERVER = NETserver.ora TRACE_DIRECTORY_SERVER = /u01/app/oracle/product/1020/network/network/trace TRACE_TIMESTAMP_SERVER = TRUE # Client: Tracing Logging nur im Bedarfsfall TRACE_LEVEL_CLIENT=16 TRACE_DIRECTORY_CLIENT=/u01/oracle/1020client/network/network/trace TRACE_UNIQUE_CLIENT=on TRACE_FILE_CLIENT=kerb_client # Okinit: Tracing TRACE_LEVEL_OKINIT=16 TRACE_DIRECTORY_OKINIT=/u01/oracle/1020client/network/network/trace TRACE_FILE_OKINIT=kerb_okinit Folie 18 von 36

Kerberos Kerberos authentifiziert. Authorisierung erfolgt separat. Weitere Konfigurationsmöglichkeiten: Kombination mit Enterprise Usern: Kerberos User mapped auf shared schema Umleitung auf proxy user Tool/API Unterstützung, u.a. SQL Developer (über OCI/thick driver) JDBC thin und thick Folie 19 von 36

Kerberos - Datenbank LDAP-Dienst Folie 20 von 36 20

Authentifizierungsvarianten Folie 21 von 36

Komponenten Produkte/Lizenzen DB: Enterprise Edition DB: ASO für Authenfitizierungen ausser Password OID/OVD Bestandteil von Identity Management von OFM (11g) Verzeichnisdienst Oracle Internet Directory (OID) + Repository Active Directory (AD) alternativ/zusätzlich ggf. Oracle Virtual Directory als Frontend zur Integration Weblogic Server Admin Oberflächen OID/OVD Folie 22 von 36

Enterprise User/Roles LDAP-Verzeichnisdienst Benutzer (enterprise user), Rollen (enterprise roles) registrierte Datenbanken, Mappings Authentifizierung über PW, Zertifikat, Kerberos Datenbank(en) Globale Benutzer, Globale Rollen Verbindung zum Verzeichnisdienst (ldap.ora) Motivation Zentralisierung der Benutzerverwaltung Reduktion der lokalen DB-Administration Folie 23 von 36

Enterprise Benutzer Folie 24 von 36

EUS Modell 1 OID für Benutzer und Metadaten Authentifizierung per Kerberos Ticket über die Datenbank Mapping auf Principal Name eines Enterprise Users Zuordnung auf shared schema + Global Role der Ziel-Datenbank Folie 25 von 36

Procedere RDBMS-Software lt. Zertifizierungsmatrix installieren Repository Datenbank anlegen UTF8 Zeichens. Weblogic Software installieren (java jar) OFM IDM Software installieren (OUI) Patch Sets für WLS + IDM Konfiguration von WLS/IDM WLS Domäne mit Admin Server + Managed Server ldap.ora, Registrierung DBs, Shared Schemas, Roles Enterprise User + Roles einrichten Global Users und Roles in den Zielsystemen Folie 26 von 36

Procedere Verbindung Datenbank OID/LDAP über ldap.ora Erstellen manuell oder per Net Configuration Assistant Auswahl von DIRECTORY USAGE CONFIGURATION Admin Kontext verweist auf Metadaten -- ldap.ora DIRECTORY_SERVERS= (oidserver:6051:6055) DEFAULT_ADMIN_CONTEXT = "dc=dbc,dc=de" DIRECTORY_SERVER_TYPE = OID Folie 27 von 36

Procedere Registrierung der Datenbank über Database Configuration Assistant (dbca) silent Mode mit Response Datei ist möglich Dadurch: Eintrag im OID unter Admin Kontext, Wallet-Aufbau Einrichten/prüfen init.ora -- Response-Datei (Ausschnitt) -- Aufruf: dbca -silent -responsefile dbcaldap.rsp PERATION_TYPE = "configuredatabase" [CONFIGUREDATABASE] SOURCEDB = "orcl" REGISTERWITHDIRSERVICE= TRUE DIRSERVICEUSERNAME= "name" DIRSERVICEPASSWORD= "password" WALLETPASSWORD= "password" DIRECTORY_SERVERS= (oidserver:6051:6055) DEFAULT_ADMIN_CONTEXT = "dc=dbc,dc=de" DIRECTORY_SERVER_TYPE = OID Folie 28 von 36

Procedere -- Prüfung des Wallet in $ORACLE_HOME/admin/<SID>/wallet mkstore -wrl. -viewentry ORACLE.SECURITY.DN mkstore -wrl. -viewentry ORACLE.SECURITY.PASSWORD -- init.ora ldap_directory_access = PASSWORD rdbms_server_dn = 'cn=t1,cn=oraclecontext,dc=dbc,dc=de -- Verbindungskontrolle zum Verzeichnisdienst mit PW aus dem Wallet ldapbind -h <ldaphost> -p <non-ssl-port> \ -D "cn=t1,cn=oraclecontext,dc=fra,dc=bb,dc=de" -w "DB pwd" ldapbind -h <ldaphost> -p <non-ssl-port> \ -W "file:/opt/oracle/1020/admin/t1/wallet" -P "wallet pwd" -- Datenbank CREATE USER jedermann PROFILE "DEFAULT" IDENTIFIED GLOBALLY AS ''; GRANT CREATE SESSION TO jedermann; CREATE ROLE r_global1 IDENTIFIED GLOBALLY; GRANT <provilege> TO r_global1; -- kein grant an User möglich Folie 29 von 36

Enterprise User Werkzeuge: EM Database Control und Grid Control eusm Command line Tool (ab 11g [ID 1085065.1] ) Enterprise Security Manager (esm) (grafisch 10g) Folie 30 von 36

Enterprise Roles Folie 31 von 36

Erweiterte Möglichkeiten Folie 32 von 36 32

Architekturvarianten Problematik User-Daten Redundanz vermeiden Userstamm in AD ggf. weitere Sourcen: Verzeichnisse, Tabellen etc. Lösungsvarianten OID Directory Integration Plattform (kopieren) OID Server Chaining (verlinken) OVD integriert/verlinkt diverse Verzeichnisse/DBs Trennung von Metadaten und Userdaten Schemaerweiterung für EUS notwendig Password-Problematik ggf. Passwordfilter (für AD) Folie 33 von 36

OVD Nutzung Folie 34 von 36

(Hoch)Verfügbarkeit Folie 35 von 36

Danke für s Zuhören www.database-consult.de Folie 36 von 36