Jan Schreiber, Pablo Stapff Loopback.ORG GmbH, Hamburg



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

Konfiguration des Novell GroupWise Connectors

Oracle SSL und Smartcard

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

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

Kerberos - Single Sign On ganz einfach

Frankfurt,

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

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

Jan Mönnich

Kerberos Geheimnisse in der Oracle Datenbank Welt

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

X.509v3 Zertifizierungsinstanz der Universität Würzburg

MGE Datenanbindung in GeoMedia

Perceptive Document Composition

LDAP Integration. Menüpunkt: System > Time To Do: Die Uhzeit/Zeitzone der SonicWALL mit dem AD-Server abgleichen

Projekt: Vertrauenswürdige Verbindung Angriffsvektor Connection-Pool

Oracle Enterprise User Security 11g mit Server Chaining

über mehrere Geräte hinweg...

Exchange ActiveSync wird von ExRCA getestet. Fehler beim Testen von Exchange ActiveSync.

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

Comtarsia SignOn Familie

Verbinden von IBM Informix mit Openoffice mittels JDBC

Anleitung zur Nutzung von OpenSSL in der DFN-PKI

SSH Authentifizierung über Public Key

Wie können Sie eine Client Lizenz wieder freigeben?

IIS 7.5 mit Exchange Server 2010 OWA FBA Intern und Extern ueber Forefront TMG

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Programmiertechnik II

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Lehrveranstaltung Grundlagen von Datenbanken

Oracle Secure External Password Store

INSTALLATION ABACUS ABAWEBCLIENT

a.sign Client Lotus Notes Konfiguration

Community Zertifizierungsstelle. Digitale Identität & Privatsphäre. SSL / S/MIME Zertifikate

Anleitung. Integration von Kentix Geräten in den OpManager

Einrichtung einer Testumgebung zur Demonstration zertifikatsbasierter Anwendungen

Verbinde die Welten. Von Oracle auf MySQL zugreifen

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen?

Die neue RA-Oberfläche der DFN-PKI. Jan Mönnich

Betriebshandbuch. MyInTouch Import Tool

Dynamisches VPN mit FW V3.64

Hardware- und Softwareanforderungen für die Installation von California.pro

OP-LOG

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

Für die c-entron Versionen gilt immer: aktuellste Version aus dem Download-Bereich verwenden!. 3. isuite Outlook GFI Max Connector...

Oracle 10g Einführung

Technote - Installation Webclient mit Anbindung an SQL

DOKUMENTATION ky2help V 3.6 Servertests

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Systemvoraussetzungen

Konfiguration Zentyal 3.3 Inhaltsverzeichnis

Windows Server 2008 R2 und Windows 7 Stand-Alone Arbeitsplatz per VPN mit L2TP/IPSec und Zertifikaten verbinden.

Installationsbeschreibung Flottenmanager 7.1

Betriebssystem Windows - SSH Secure Shell Client

MSSQL Server Fragen GridVis

Kryptographie. Ich doch hab nichts zu verbergen. IT-Security Bootcamp. Ziel. Was also tun? asymmetrisch. symmetrisch

MOUNT10 StoragePlatform Console

Andy s Hybrides Netzwerk

Zentrale Datenbank-Nutzerverwaltung

INSTALLATIONSANLEITUNG der Version 2.1 (Jänner 2014)

Fragen zur GridVis MSSQL-Server

etoken unter Linux 13. Dezember 2010 etoken unter Linux Dominik Russenberger

How to install freesshd

Zertifikate Exchange Server / WLAN. Referent: Marc Grote


Softwaren Engineering I

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Enterprise User Security mit Active Directory

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

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security

Oracle APEX Installer

Checkliste. Installation NCP Secure Enterprise Management

HOW TO. Celvin NAS Server So greifen Sie über das Internet auf Ihren Celvin NAS Server zu. DDNS und Portweiterleitung am Celvin NAS Server einrichten

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

Wireless & Management

Einfache Nutzung von D-Grid Zertifikaten

Perceptive Document Composition

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Performance Tools. für alle Editionen

USB-Tokens. Technik und Einsatzgebiete

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

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Merkblatt: HSM. Version Systemvoraussetzungen, Setup und Trouble Shooting.

Windows Integration. von Tino Truppel

Einrichtung von VPN für Mac Clients bei Nortel VPN Router

Mobile-Szenario in der Integrationskomponente einrichten

Dokumentation owncloud PH Wien

Typo 3 installieren. Schritt 1: Download von Typo3

Administrator-Anleitung

PostgreSQL in großen Installationen

Apache Webserver with SSL on Windows

OFFLINE SYNCHRONISATION - ENIQ ACCESSMANAGEMENT PROGRAMMIER-CLIENT (ENIQ DEVICEMANAGEMENT) EINRICHTEN INSTALLATION DER SQL SERVER INSTANZ

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

Installationsanleitung SSL Zertifikat

SWISSVAULT StorageCenter Console Version 5 Kurzanleitung für SWISSVAULT Combo Partner

Transkript:

we go the extra mile database intelligence opera1ons excellence bi solu1ons Jan Schreiber, Pablo Stapff Loopback.ORG GmbH, Hamburg 1

loopback.org GmbH Oracle Architektur Data Warehouse und Business Intelligence Database Security 2

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

Problemstellung Die meisten Menschen können sich keine starken Passwörter merken Leichte Passwörter sind einfach zu brechen Aufgeschriebene Passwörter können in falsche Hände fallen Mehrfachbenutzung von Passwörtern erhöht das Risiko Audit-Risiken, tatsächliche Privilegienverteilung oft unklar "Wer verbirgt sich hinter diesem User? 4

Was tun? 5

Lösungsansatz #1: Zentrales Verzeichnis Ist in der Regel im Unternehmen bereits vorhanden, zusätzlicher Administrationsaufwand entfällt Eindeutige Benutzeridentifikation Berechtigungsvergabe nur an einer Stelle Keine Schattenkonten, sofortige Sperre möglich 1 st Level-Support kann Passwörter verwalten Compliance Reporting wird möglich 6

Active Directory Verzeichnisintegration Database Client SqlPlus, Java, etc DB FARM (AUTH) Map Users, Schema,Roles Oracle OID SYNC (DIP) oidpwdcn.dll Synchronisation Keine AD-Schemaänderungen nötig AD Agent muss auf AD- Kontrollern laufen und Klartext-Passwörter mitlesen Database Client SqlPlus, Java, etc Database Client SqlPlus, Java, etc DB FARM DB FARM (AUTH) Map Users, Schema,Roles (AUTH) Map Users, Schema,Roles OUD OVD Hashes Groups orclcommonattribute Hashes Groups oidpwdcn.dll OID Proxy: AD-Schemaänderungen nötig Password Filter muss auf AD-Controllern laufen AD Update Recht muss vorhanden sein Virtualisierung: Nur AD-Schemaänderung: Orclcommonattribute Rollentrennung DBA/AD 7

Oracle Internet Directory, Oracle Unified Directory als zentrales Verzeichnis DB FARM Anwender Anwendung XYZ Windows (pgina) (AUTH) OID Web-Anwendung UNIX PAM 8

EUS & OID im Deutschen Klimarechenzentrum Verwaltung von Klimaforschungsdaten Bereits 2004 eingerichtet 7 Datenbanken, 6500 internationale Anwender Identifikation per OID, X.509 DFN-Zertifikate optional 9

OID-Anbindung: Funktionsweise Database client authentification Leonard.Nimoy (1) Connect Leonard. Nimoy/ BIGDB (6) Logged in as SPOCK with ROLE SCIENCE_OFFICER Überprüft Passwort Hash, ordnet User Rollen und Schema zu EUS-enabled Oracle DB BIGDB (2) Request Leonard.Nimoy (3) Returned Leonard.Nimoy (4) Request Schema & Enterprise Roles (5) Returned Schema (SPOCK) & Enterprise Roles Ablage für User, Rollen & EUS Konfiguration Oracle Internet Directory (OID) 10

Datenpflege mit ODSM 11

TNS-Konfiguration für OID cat $TNS_ADMIN/ldap.ora # ldap.ora Network Configuration File: \ /u01/app/11.2.0/grid/network/admin/ldap.ora # Generated by Oracle configuration tools. DIRECTORY_SERVERS= (linux4:3060:3131) DEFAULT_ADMIN_CONTEXT = "dc=loopback,dc=org" DIRECTORY_SERVER_TYPE = OID WALLET_LOCATION= (SOURCE= (METHOD=file) (METHOD_DATA= (DIRECTORY=/u01/app/oracle/admin/loopds/wallet))) 12

Registrieren der Datenbank 13

Einrichtung der EUS-Mappings eusm createmapping realm_dn="dc=loopback,dc=org" ldap_port=3060 ldap_host=oraldap1 ldap_user_dn="cn=orcladmin" ldap_user_password=xxx database_name="pkilab" map_type="entry" map_dn="cn=test,cn=users,dc=loopback,dc=org" schema=global_connect 14

Anmeldung mit EUS SYS@loopds1> create user global_ident identified globally; User created. SYS@loopds1> grant connect to global_ident; Grant succeeded. oracle@zion ~]$ sqlplus test/geheim SQL*Plus: Release 11.2.0.4.0 Production on Sun Oct 14 11:53:38 2012 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0-64bit Production GLOBAL_IDENT@loopds1> show user USER is "GLOBAL_IDENT" 15

Lösungsansatz #2: PKI-Authentifizierung Private Key Benutzer / Applikation SSL Handshake Datenbank Private Key User.csr User/CA Certs DB/CA Certs DB.csr Zertifizierungsstelle (CA) 16

PKI: Zertifikate und Wallets Datenbank-Server 1. Leeres Wallet erstellen 2. Key und Zertifikat-Request stellen 3. Request durch CA signieren lassen (Z.B. CN=db12c) 4. CA Zertifikat importieren (CN=myCA) 5. Signiertes Zertifikat importieren Client 1. Leeres Wallet erstellen 2. Key und Zertifikat-Request stellen 3. Request durch CA signieren lassen (Z.B. CN=jans) 4. CA Zertifikat importieren (CN=myCA) 5. Signierte Zertifikat importieren 17

PKI: Server-Wallet $ mkdir $ORACLE_BASE/admin/loopds/pki $ orapki wallet create -wallet \ $ORACLE_BASE/admin/loopds/pki -auto_login -pwd XXX $ orapki wallet add -wallet $ORACLE_BASE/admin/loopds/pki \ -dn 'CN=db12c' -keysize 2048 -pwd XXX $ orapki wallet export -wallet $ORACLE_BASE/admin/loopds/pki \ -dn 'CN=db12c' \ -request ~/db12c.csr $ orapki wallet add -wallet $ORACLE_BASE/admin/loopds/pki \ -cert myca.pem trusted_cert pwd XXX $ orapki wallet add -wallet $ORACLE_BASE/admin/loopds/pki \ -cert db12c.pem user_cert pwd XXX 18

PKI: Client-Wallet $ orapki wallet create -wallet \ $ORACLE_HOME/owm/wallets/client -auto_login -pwd XXX $ orapki wallet add -wallet $ORACLE_HOME/owm/wallets/client \ jans.csr \ -dn 'CN=jans' -keysize 2048 -pwd XXX $ orapki wallet export -wallet $ORACLE_HOME/owm/wallets/client \ -dn 'CN=jans' \ -request ~/jans.csr $ orapki wallet add -wallet $ORACLE_HOME/owm/wallets/client \ -cert myca.pem trusted_cert pwd XXX $ orapki wallet add -wallet $ORACLE_HOME/owm/wallets/client \ -cert jans.pem user_cert pwd XXX 19

Display Wallet [oracle@linux11 ~]$ orapki wallet display -wallet /u01/app/oracle/product/11.2.0/ dbhome_1/network/pki Oracle PKI Tool : Version 11.2.0.3.0 - Production Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Subject: CN=LOOPDS Trusted Certificates: Subject: OU=Class 1 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US Subject: CN=LBO Root Certificate II,OU=LoopCA,O= Loopback.ORG GmbH,O=Loopback.ORG,L=Hamburg,ST=No-State,C=DE Subject: OU=Secure Server Certification Authority,O=RSA Data Security\, Inc.,C=US Subject: CN=GTE CyberTrust Global Root,OU=GTE CyberTrust Solutions\, Inc.,O=GTE Corporation,C=US Subject: OU=Class 3 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US Subject: OU=Class 2 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US 20

PKI: Listener-Konfiguration SSL_CLIENT_AUTHENTICATION = FALSE WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_BASE/admin/loopds/pki) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db12c.loopback.org)(port = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = db12c.loopback.org)(port = 2484)) ) ) 21

PKI: TNS-Konfiguration SQLNET.AUTHENTICATION_SERVICES= (BEQ, TCPS) NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME) SSL_CLIENT_AUTHENTICATION = TRUE WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_BASE/admin/loopds/pki) ) ) 22

Anmeldung mit User/Passwort und SSL $ sqlplus user/pwd@db12c Connected. SQL> select sys_context('userenv', 'NETWORK_PROTOCOL') from dual; SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') ------------------------------------------------------------------------ tcps SQL> select sys_context('userenv', 'AUTHENTICATION_METHOD') from dual; SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') ------------------------------------------------------------------------ PASSWORD 23

PKI: Anmeldung mit Zertifikat SQL> create user JANS identified externally as 'CN=jans'; SQL> grant create session to JANS; $ sqlplus /@DB12C Connected. SQL> select sys_context('userenv', 'NETWORK_PROTOCOL') from dual; SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') --------------------------------------------------- tcps SQL> select sys_context('userenv', 'AUTHENTICATION_METHOD') from dual; SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') ----------------------------------------------------- SSL 24

PKI: JDBC Auch per JDBC kann SSL verwendet werden Integration auch über keytool String url = "jdbc:oracle:thin:@(description=(address=(protocol=tcps) (HOST=servernam e)(port=2484))(connect_data=(service_name=servicename)))"); Properties props = new Properties(); props.setproperty("user", "scott"); props.setproperty("password", "tiger"); props.setproperty("javax.net.ssl.truststore", "/truststore/ewallet.p12"); props.setproperty("javax.net.ssl.truststoretype","pkcs12"); props.setproperty("javax.net.ssl.truststorepassword","welcome123"); Connection conn = DriverManager.getConnection(url, props); How to configure Oracle SQLDeveloper to use a SSL connection that was configured as per Note 401251.1 http://www.oracle.com/technetwork/topics/wp-oracle-jdbc-thin-ssl-130128.pdf 25

Be a Certificate Authority (CA) Externer Dienstleister? Es gibt verschiedene kommerzielle Produkte Auch Open Source: EBJCA OpenXPKI Alle Schritte sind in OpenSSL implementiert Nicht mit selbstsignierten Zertifikaten zu verwechseln openssl genrsa -out rootca.key 2048 openssl req -x509 -new -nodes -key rootca.key -days 1024 -out rootca.pem openssl ca -policy policy_anything -config loopca-url.cnf -out Certs/$1.pem\ -infiles Reqs/$1.req 26

PKI mit Smartcards Authentifizierung an Besitz der Karte gekoppelt Zertifikat kann nicht kopiert werden Vorraussetzung: Kartenleser, Middleware, PKI und Smartcards müssen miteinander kompatibel sein Ansonsten wie bei SSL-Wallets 27

Smartcard-PKI: Client-Konfiguration Middleware im Wallet verankern Middleware muss PKCS#11 implementieren Oracle liefert keine Liste kompatibler Hardware SmartCard-Einführung hat Projektcharakter orapki wallet p11_add -wallet <Wallet PFAD> \ -p11_lib <DLL PFAD> 28

Smartcard und Oracle Wallet orapki wallet p11_verify -wallet. pkcs11_wallet -pwd XXX Oracle PKI Tool : Version 11.2.0.4.0 Production Number of certificates found on token = 1 Cert with subject name: CN=Stapff Pablo has a matching private key on token. Cert with subject name: CN=Stapff Pablo installed as user cert in wallet. 29

Public Key Cryptography Standards (PKCS) 30

Vielen Dank für Ihr Interesse. 31