Enterprise Security: Building On All Your Assets



Similar documents
Kerberos on z/os. Active Directory On Windows Server William Mosley z/os NAS Development. December Interaction with.

NIST PKI 06: Integrating PKI and Kerberos (updated April 2007) Jeffrey Altman

Stealing credentials for impersonation

TOPIC HIERARCHY. Distributed Environment. Security. Kerberos

Integration with Active Directory. Jeremy Allison Samba Team

Cross-Realm Trust Interoperability, MIT Kerberos and AD

How to Secure Mainframe FTP

Integrated Approach to User Account Management

Step- by- Step guide to Configure Single sign- on for HTTP requests using SPNEGO web authentication

Security Provider Integration Kerberos Authentication

Contents. Supported Platforms. Event Viewer. User Identification Using the Domain Controller Security Log. SonicOS

Active Directory network protocols and traffic

Kerberos. Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, BC. From Italy (?).

Guide to SASL, GSSAPI & Kerberos v.6.0

CA Top Secret r15 for z/os

Enabling Active Directory Authentication with ESX Server 1

Introduction to Computer Security

IBM i Version 7.2. Security Single sign-on

HOBCOM and HOBLink J-Term

Red Hat Enterprise ipa

z/os Firewall Technology Overview

Single Sign On In A CORBA-Based

Troubleshooting Kerberos Errors

Windows Authentication on Microsoft SQL Server

Implementing Microsoft Azure Infrastructure Solutions

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Implementing a Kerberos Single Sign-on Infrastructure

Configuring Active Directory Single Sign-On (AD SSO)

Best Practices: Integrating Mac OS X with Active Directory. Technical White Paper April 2009

Integrating UNIX and Linux with Active Directory. John H Terpstra

Configuring Sponsor Authentication

Open Directory. Apple s standards-based directory and network authentication services architecture. Features

Enabling single sign-on for Cognos 8/10 with Active Directory

TIBCO ActiveMatrix BPM Single Sign-On

Module 5 Introduction to Processes and Controls

21 Things You Didn t Used to Know About RACF

TopEase Single Sign On Windows AD

Using OpenSSH in a Single Sign-On Corporate Environment with z/os, Windows and Linux

Integrating Linux systems with Active Directory

MySQL Security: Best Practices

Implementing Microsoft Azure Infrastructure Solutions 20533B; 5 Days, Instructor-led

Symantec Enterprise Security Manager Baseline Policy Manual for CIS Benchmark. For Windows Server 2008 (Domain Member Servers and Domain Controllers)

Course 20533B: Implementing Microsoft Azure Infrastructure Solutions

Device Log Export ENGLISH

So far in the first three chapters of this book we have studied an overview of SAP

Windows Active Directory. DNS, Kerberos and LDAP T h u r s d a y, J a n u a r y 2 7, 2011 INLS 576 Spring 2011

Configure the Application Server User Account on the Domain Server

High-available Authorization and Authentication

Recommended Practices for Deploying & Using Kerberos in Mixed Environments

Remote Authentication and Single Sign-on Support in Tk20

SKV PROPOSAL TO CLT FOR ACTIVE DIRECTORY AND DNS IMPLEMENTATION

CS 356 Lecture 28 Internet Authentication. Spring 2013

TIBCO ActiveMatrix BPM Single Sign-On

Attacking Kerberos Deployments

Appendix A: Configuring Firewalls for a VPN Server Running Windows Server 2003

Implementing Microsoft Azure Infrastructure Solutions

Windows Security and Directory Services for UNIX using Centrify DirectControl

Session Code*: 0310 Demystifying Authentication and SSO Options in Business Intelligence. Greg Wcislo

Taming the beast : Assess Kerberos-protected networks

Building the SAP Business One Cloud Landscape Part of the SAP Business One Cloud Landscape Workshop

Single Sign On. Configuration Checklist for Single Sign On CHAPTER

Enforcive /Cross-Platform Audit

Microsoft Auditing Events for Windows 2000/2003 Active Directory. By Ed Ziots Version 1.6 9/20/2005

FreeIPA Cross Forest Trusts

IBM ECM System Monitor: Monitoring OnDemand on UNIX, Windows, Linux and z/os Configuration settings and requirements

Kerberos authentication made easy on OpenVMS

OVERVIEW OF TYPICAL WINDOWS SERVER ROLES

WATCHING THE WATCHDOG: PROTECTING KERBEROS AUTHENTICATION WITH NETWORK MONITORING

September 9 11, 2013 Anaheim, California 507 Demystifying Authentication and SSO Options in Business Intelligence

4.2: Kerberos Kerberos V4 Kerberos V5. Chapter 5: Security Concepts for Networks. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Communication ports used by Citrix Technologies. July 2011 Version 1.5

GL550 - Enterprise Linux Security Administration

Ensure that your environment meets the requirements. Provision the OpenAM server in Active Directory, then generate keytab files.

IBM Proventia Management SiteProtector. Configuring Firewalls for SiteProtector Traffic Version 2.0, Service Pack 8.1

Web Express Logon Reference

An Oracle White Paper May Oracle Audit Vault and Database Firewall 12.1 Sizing Best Practices

Internetworking Microsoft TCP/IP on Microsoft Windows NT 4.0

ENTERPRISE LINUX SECURITY ADMINISTRATION

Best Practices: Integrating Mac OS X with Active Directory. Technical White Paper September 2007

Pre Sales Communications

UPGRADING TO XI 3.1 SP6 AND SINGLE SIGN ON. Chad Watson Sr. Business Intelligence Developer

Scenario. Roadmap. ! The simplified architecture! The complete architecture Pre-authentication Delegation. Realms

PCI DSS, z/os and Keeping You from Becoming a News Headline

SAP SINGLE SIGN-ON AND SECURE CONNECTIONS VIA SNC ADAPTER. Author : Matthias Schlarb, REALTECH system consulting GmbH. matthias.schlarb@realtech.

Using SAP Logon Tickets for Single Sign on to Microsoft based web applications

Single Sign-on (SSO) technologies for the Domino Web Server

How To Use Kerberos

Single Sign On. Configuration Checklist for Single Sign On CHAPTER

Connecting Web and Kerberos Single Sign On

CA Harvest Software Change Manager

Authentication Applications

Embedded Web Server Security

ENTERPRISE LINUX SECURITY ADMINISTRATION

STEALTHbits Technologies, Inc. StealthAUDIT v5.1 System Requirements and Installation Notes

Single Sign-On for Kerberized Linux and UNIX Applications

IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide

Transcription:

Covariant Inc. Enterprise Security: Building On All Your Assets Neil Beesley Covariant Inc neil.beesley@covariant-systems.com Friday August 10 th 2012 Session: 11369

Part 1: Introduction

Security requirements Authentication of legitimate users, i.e. knowing who someone is despite: Different ID s and multiple passwords across platforms z/os, UNIX, LINUX, Windows [Active Directory] Prevent unauthorized access to applications and data Integration with platform access control mechanisms Accountability and providing reliable audit trail Satisfy regulatory requirements

Security Challenges Additional cost to deploy applications Inconvenience and lost time for users Cost of security administration Effort required for successful audit Multiple layers of security perimeter, IP security, servers and OS, and the applications Different approaches to authentication: Password, X509 certificate, LDAP, custom password managers and Kerberos Which facilities are available with vendor products?

Heterogeneous challenge No longer simple security requirement with single environment, TP monitor, language and DBMS Extensible platforms: Windows, UNIX, z/os,.net, Web services and SOA Integration connects separate application components executing on different platforms Typical user may have access to applications on: Windows - Active Directory Forest/Domain(s) Unix Server(s) Often Kerberos managed Mainframe server(s) e.g. z/os RACF/ACF2/TSS Different user ID password on each platform

Part 2: Kerberos

What is Kerberos A network authentication service MIT, Heimdal, Microsoft implementations Authentication between disparate security authorities in z/os, UNIX, Windows Kerberos issues tickets for authentication against a service and optionally a session key for data encryption Kerberos KDC has the following components Authentication Server (AS) Ticket Granting Server (TGS) Database (KDB)

Kerberos Terminology Ticket: opaque envelope enabling user identity, dynamic session key, time stamp, ticket lifetime and the service name to be derived Realm: Kerberos domain which includes all entities known to the KDC Principal: an identity which is defined to a realm, such as a user Service Principal: principal under which a service executes Trust: Two or more realms can be configured to trust the authentication of each other s Principals, e.g. a Windows AD user can be accepted in a Unix or z/os KDC realm

Why is Kerberos interesting.. Method to establish authentication without sending user ID password (user already authenticated to local security authority) Leverages one time ticket, valid only for a finite period Ticket gives access to just one particular service Authentication between separate Kerberos realms Incremental deployment plan across databases or other services Kerberos suitable for heterogeneous environments Therefore a user with different ID s on each platform can be mapped and the need for storing or supplying password across platforms is avoided

Overview of Kerberos (1) User ID password [AS_REQ] Client Application service ticket (2) ticket granting ticket (TGT) [AS_REP] (3) service principal name [TGS_REQ] (4) service ticket [TGS_REP] Authentication Server Ticket Granting Server Server Application (5) ticket verification request [AP_REQ] (6) optional server authentication and session encryption key [AP_REP] KDC Information flow for client server in same Kerberos realm

Overview of Kerberos Client Application service ticket (1) User ID password (2) Ticket Granting Ticket (TGT) (3) service principal name (4) service ticket, optional session key AS TGS KDC-1 Server Application AS TGS (5) ticket verification request KDC-2 Information flow for client server in different Kerberos realms Realm-1 -- has trust relationship with -- Realm2

Kerberos on z/os IBM Network Authentication Service Integration with RACF/ACF2/Top Secret enables authorization and audit functionality RACF/ACF2/Top Secret contain user ID mappings between different platforms RACF/ACF2/Top Secret contain the trust relationships between different Kerberos realms DB2, WAP, FTP, Telnet, LDAP, Rshd etc

Kerberos on z/os Client Application Service ticket (1) User ID password (2) Ticket Granting Ticket (TGT) (3) service principal name (4) service ticket, optional session key Microsoft Windows Domain Controller Trust relationship Server Application (5) ticket verification request IBM Network Authentication Service RACF ACF2,TSS Information flow for client server from Windows to z/os

Kerberos benefits Authentication across Windows, UNIX, z/os Authorization and audit can be applied, for example using RACF/ACF2/Top Secret Ability to generate session keys (encryption) Applicable to any heterogeneous application So, why isn t Kerberos supported by all applications?

Kerberos requirements Peer [components] must exchange ticket data Kerberos does not provide means for transporting ticket to remote peer application components Configuration not straight-forward Trust configuration is tricky Mapping to local user profile is platform specific Errors can be cryptic Not all vendor products do this yet, but this has not prevented customers implenting Kerberos with them...

Part 3: User Scenarios DB2 implementation with DB2 Connect from LINUX, UNIX and Windows clients SAP Sybase access from mainframe client Software AG webmethods EntireX implementation

DB2 z/os from DB2 Connect Standard IBM product functionality for LUW client authentication against DB2 z/os for 3GL/Perl/Java Finesse is GSS-API DB2 Connect (Kerberos) client side plug-in module for UNIX/LINUX -- 3GL/non JAVA Implementation requires revised security definitions on z/os and distributed systems plus software configuration changes SPN definitions client side JAVA applications require additional properties for JDBC type 4 call Non JAVA applications unchanged DB2 Connect catalog definitions needed Standard SAF security access rules used PTF to cater for multi-lpar DB2 servers (different service principal names with different LPARs here)

DB2 z/os from DB2 Connect: JAVA JAVA code fragment for JDBC type 4 Kerberos properties (common code -- can be encapsulated) java.util.properties properties = new java.util.properties(); // Set security mechanism to Kerberos properties.put("securitymechanism", new String("" + com.ibm.db2.jcc.db2basedatasource.kerberos_security + "")); // Set Kerberos Service Principal Name properties.put("kerberosserverprincipal", new String("" + db2mstr/lpar1.krbzos.covnt.com@krbzos.covnt.com" +"")); url = "jdbc:db2://" + server + ":" + portnumber + "/" + dbname + ":tracedirectory=/var/tmp" + ";tracefile=db2_javat4_trace" + ";tracefileappend=false" + ";tracelevel=" + com.ibm.db2.jcc.db2basedatasource.trace_all +";"; Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); con = DriverManager.getConnection( url, properties );

DB2 z/os from DB2 Connect: Non JAVA DB2 Connect catalog definitions -- database alias and client side plug-in: db2 CATALOG DATABASE TESTDB2 AS TESTDB2K AT NODE TESTNOD1 AUTHENTICATION KERBEROS TARGET PRINCIPAL db2mstr/lpar1.krbzos.covnt.com@krbzos.covnt.com db2 UPDATE DBM CFG USING CLNT_KRB_PLUGIN covnt_krb5_plugin

DB2 z/os from DB2 Connect DB2 Connect on Windows DB2 client Side Plug-in DB2 Connect on LINUX/UNIX DB2 client Side Plug-in DB2 Connect on Java [type-4] Kerberos ticket TGT Kerberos ticket TGT Kerberos ticket TGT z/os and DB2 nnndbm1 nnndist [Kerb ID] nnnmstr nnnirlm KERBLINK maps Win/UNIX ID to SAF UNIX KDC trust relationship IBM Kerberos Racf/Acf2/Tss

Sybase access from z/os Client Client application z/os batch/cics Sybase servers in UNIX No vendor functionality available: implemented with user exits Obtain client side Kerberos ticket in application user exit and transport out-ofband to UNIX server where client side ticket is validated via GSS-API in PAM module (pluggable authentication) Implementation requires revised security definitions on z/os and distributed systems plus additional software components and configuration changes TSS fixes required for obtaining client side Kerberos service tickets (R_Gensec call)

Sybase access from z/os Client Sybase Server SQL Connect: user ID + unique number in pwd Open Client Connect (no password) z/os NATURAL CICS NATURAL Batch PAM security exit Get Kerberos ticket call for same unique number Kerberos ticket Identify call Ticket Daemon TGT TGT TGT UNIX KDC Trust relationship IBM Kerberos Racf/Acf2/Tss

Implementation for Software AG EntireX LUW clients using z/os message service on z/os but can be other way round. Similar to IBM MQ Implemented using 3-rd party solution Out-of-band Kerberos ticket acquisition/verification across platforms using standard IBM and GSS-API interfaces. IBM C/LE written code. Implementation requires revised security definitions on z/os and distributed systems, plus additional software components and configuration changes Standard SAF security access rules used Newer Kerberos encryption protocols for WS-2008

Implementation for Software AG EntireX Windows workstation Window App message stub Plug-in The message Kerb ticket TGT z/os LPAR Batch job message stub Plug-in Message Broker User exit CICS region message stub Plug-in Windows 200X Server AD/Domain Controller Trust relationship IBM Kerberos RACF ACF2 TSS

Part 4: Configuration tips KDC configuration More than one KDC for resilience Client members Application Service members RACF user definitions RACF Kerberos Realm Definitions Kerberos service principal names Kerberos name space considerations TCP/IP and network requirements Gotchas and diagnostics

KDC Configuration on z/os [realms] KRBZOS.COVNT.COM = { kdc = nasdc1.krbzos.covnt.com:88 kpasswd_server = nasdc1.krbzos.covnt.com:464 admin_server = nasdc1.krbzos.covnt.com:749 auth_to_local = { RULE:[2:$1](joe)s/^.*$/guest/ RULE:[2:$1;$2](^.*;admin$)s/;admin$// DEFAULT } UNIX only: z/os uses KERBLINK } KRBWIN.COVNT.COM = { kdc = addc1.krbwin.covnt.com:88 kpasswd_server = addc1.krbwin.covnt.com:464 } [domain_realm].krbzos.covnt.com = KRBZOS.COVNT.COM.krbwin.covnt.com = KRBWIN.COVNT.COM /etc/skrb/krb5.conf

RACF Definitions: Users Local RACF User ADDUSER SAFUSR1 KERB(KERBNAME(kerbusr1)) Then logon and change password (if not NDBM) Foreign users such as defined on Windows RDEFINE KERBLINK /../KRBWIN.COVNT.COM/winusr2 APPLDATA( SAFUSR2 ) maps between winusr2 and SAFUSR2 RDEFINE KERBLINK /../KRBWIN.COVNT.COM/ APPLDATA( SAFUSR3 ) maps all AD Domain users to SAFUSR3

RACF Definitions: Realms Local Realm (RACF) RDEFINE REALM KERBDFLT KERB(KERBNAME(KRBZOS.COVNT.COM) PASSWORD(pwd) MINTKTLFE(15) DEFTKTLFE(36000) MAXTKTLFE(86400)) Foreign Realm (Windows domain controller) RDEFINE REALM /.../KRBZOS.COVNT.COM/krbtgt/KRBWIN.COVNT.COM KERB(PASSWORD(trustpwd)) RDEFINE REALM/.../KRBWIN.COVNT.COM/krbtgt/KRBZOS.COVNT.COM KERB(PASSWORD(trustpwd))

Service Principal Name (SPN) Server application must run under user ID valid for context acceptance KERB segment specifies Kerberos principal name for service, e.g. db2mstr If service exists on multiple LPAR use APAR OA32352 e.g. relevant to DVIPA and DB2 database groups IBMKLINK statements Client application supplies SPN: db2mstr/lpar1.krbzos.covnt.com@krbzos.covnt.com

TCP/IP Configuration Incorrect z/os and OMVS hosts definitions Inconsistencies with Kerberos principals for KDC/password server/admin server Required ports to allow AD and KDC (IBM) to communicate blocked by firewall kdc port: 88 kpasswd: 464 kadmin: 749 (normally not required)

Network Design Bad choices for Kerberos Realm / AD domain name Avoid using default names from sample configurations Design your name space Avoid name clashes with registered Internet domain names (e.g. krb390.ibm.com) or different user ID s in separate domains, e.g. msmith@ibm.krbzos.com!= msmith@ibm.krbwin.com Windows AD Forest / Domain structure Kerberos realm name fits AD Forest name hierarchy

Windows AD configuration Registry setting to make AD use TCP vs UDP for Kerberos traffic (Windows 2003) RFC 4120 now obsoletes RFC 1510. RFC 4120 specifies that a KDC must accept TCP requests and this is what Windows 2008 Server and Windows 7 and onwards do Registry settings for debugging Kerberos on Windows http://support.microsoft.com/kb/262177 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa \Kerberos\Parameters LogLevel=1

RACF Configuration tips Missing or invalid RACF definitions Kerberos Realm Kadmin Kerberos segments of participating user/server If KERB segment of RACF user profile is changed, password must be changed Password change triggers Key generation RRSF (Remote RACF) must be configured and running

Clock Skew tips Kerberos tolerates up to 5 minutes clock skew If more, cryptic errors occur and authentication will fail NTP time synchronization of all AD DC and all KDC is highly recommended (actually all servers should be time synchronized) z9 and z10 and up support STP for time synchronization Licensed feature #1021 required z10+ supports STP syncronization using external NTP time source

Case Sensitivity tips Some places are case senstitive Using mixed case Kerberos trust password when RACF is configured to support only upper case Realm/Domain names MUST be upper case in Trust configuration Compare SAF to NDBM Kerberos repository

Summary Kerberos provides cross platform enterprise security mechanism. Large investment already on LUW side Do a POC especially with existing product already having Kerberos functionality Involve cross platform groups and security staff from beginning Ensure vendor fixes are researched: talk to vendors up front When vendor product does not support Kerberos on z/os then customer written or 3 rd party add-ons can

References Session: 11369 http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.d b2.udb.apdv.java.doc/doc/cjvjcskb.htm http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm. db2.luw.admin.sec.doc/doc/c0012013.html http://dfusion.com.au/wiki/tikiindex.php?page=kerberos+tutorial#the_authentication_and_tick et_acquisition_process http://en.wikipedia.org/wiki/kerberos_%28protocol%29 http://web.mit.edu/kerberos/krb5- current/doc/krb_admins/troubleshoot.html http://support.microsoft.com/kb/907272 http://covariant-systems.com