Top Banner
Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented and Communicated <[email protected]> <http://panic.fluff.org> +44 (0) 7976 938841
135

Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Mar 28, 2015

Download

Documents

Matthew Parsons
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Integration and LDAP

Consistent Sign-on and Directory Enabled Networking

An LDAP Master Class

Edmund J. SutcliffeThoughtful Solutions; CreativelyImplemented and Communicated<[email protected]><http://panic.fluff.org>+44 (0) 7976 938841

Page 2: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Welcome to Class

Welcome to ...Integration and LDAP

While waiting for the class to begin …Please fill out your tent card

Class will begin at ...

Page 3: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Class Audience

Consultants, systems engineers, and other technical personnel responsible for designing and implementing directory services using

Best suited to those with Heterogeneous OS knowledge and good Networking knowledge

You don’t have to be an LDAP expert

Page 4: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Class Objectives

Document Directory Data Requirements

Develop a Directory Schema

Design a Directory Tree Hierarchy

Create Directory Access Control Rules

Select Indexes to Support Your Design

Demonstrate Directory Service Interoperability

Page 5: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Facility Information

Please listen carefully while your instructor gives you important information about the training facility:Emergency Exits and First AidWhere to go for breaks and lunchRestroomsTelephonesOther important facts

Page 6: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Introductions

Who are you ?

Where are you from ?

What do you do ?

What do you know ?

What do you want from the class ?

Page 7: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

LDAP Module Objectives

Upon completion of this module, you should be able to: Describe the role of directory services Describe LDAP, the underlying protocol used in

directory service implementation Use LDAP client applications to access

directory service data

Page 8: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

What is a directory ?

A centralised structured repository of configuration, authentication and other network and system related information.

A system optimised for lookup based applications

It is not a databaseIt doesn’t have Relationship It isn’t TransactionalIt has poor modification performance

Page 9: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

The Role of Directory Services

Facilitate integrated application design

Store two data types User and application data Application configuration data

Provide high performance query capabilities

Uses platform independent technologies (LDAP)

Page 10: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

SystemsAdministrators

Current Situation

ProcessUsers

Days / Weeks

Page 11: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

The Digital Persona of Tomorrow

Page 12: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Desired ArchitectureSystemsUsers

LDAP-Based Directory

Real-Time

Page 13: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Application Configuration Data

Application settings Physical location of application components Version information for application

components Application’s object definitions

Allows applications to query the directory for configuration information

Page 14: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Application Integration

LDAPServer

Client

File Server

IIS ServerSQL Server

Samba 2.2.2 PDC

NT Domain

SMB

HTTP

NT Domain

LDAP

NT Domain

NT Domain

LDAP (ASP)

SQL (ASP)

SMTP Server

SMTP

LDAP

POP / IMAP Server

SMB

SMB

POP / IMAP

LDAP

Page 15: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Why does it Work ?

LDAP

Common Schema between Applications

Common known Directory Information Tree (DIT)

Directory Enabled Networking

Common Encryption(I wish )

Page 16: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Coffee --1

A quick 10 minute Break

Page 17: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Integration

The How and the Why of it

Page 18: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Why does it Work ?

LDAP

Common Schema between Applications

Common known Directory Information Tree (DIT)

Directory Enabled Networking

Common Encryption(I wish )

Page 19: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

How ?

Build Install LDAP Server

Install pam_ldap

Install nss_ldap

Build Install Samba 2.2.2

Client Windows Servers into Domain

Drink Beer

Page 20: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Build OpenLDAP

OpenLDAP 2.0.15#./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --libexecdir=/usr/sbin --mandir=/usr/share/man --with-subdir=ldap --enable-wrappers --without-cyrus-sasl#make #make install

Configure /etc/ldap/slapd.confinclude /etc/ldap/schema/core.schemainclude /etc/ldap/schema/cosine.schemainclude /etc/ldap/schema/inetorgperson.schemainclude /etc/ldap/schema/nis.schemainclude /etc/ldap/schema/samba.schema# RUN Stuffpidfile /var/run/slapd.pidargsfile /var/run/slapd.argsdatabase ldbmsuffix "dc=fluff,dc=org“rootdn "cn=Directory Manager,dc=fluff,dc=org“rootpw xxxxxxdirectory /var/openldap-ldbm## Access Control Restrictionsaccess to attr=userPassword by self write by anonymous read by * none

access to * by self write by anonymous read by users read

Page 21: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Make it work

Design a SchemaFind out which apps require what

Design a Tree (DIT)See where control is in your

organisation Populate the LDAP server

#/etc/init.d/slapd stop#rm -f /var/openldap-ldbm/*#/etc/init.d/slapd start#cd /etc/ldap#ldapadd -D "cn=Directory_Manager,dc=fluff,dc=org" -w xxxx -f base.ldif

Page 22: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

LDAP Tree

Page 23: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Configure LDAP

Configure /etc/ldap/ldap.confBASE dc=levenshulme,dc=fluff,dc=orghost 127.0.0.1ldap_version 2port 389pam_member_attribute uniquememberpam_login_attribute uidpam_password cryptnss_base_passwd ou=People,dc=levenshulme,dc=fluff,dc=org?onenss_base_shadow ou=People,dc=levenshulme,dc=fluff,dc=org?onenss_base_group ou=Groups,dc=levenshulme,dc=fluff,dc=org?one

Find the other ldap.conf’s and point here#rm /etc/ldap.conf#ln –s /etc/ldap/ldap.conf /etc/ldap.conf

Page 24: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Why PAM and NSS ?

Traditional Services (telnet/ftp etc) authenticate via PAM

Traditional C programs do name searches via NSSgethostbyxxxx getpwent, getpwnam getpw

(well everywhere but Microsoft)They do ADSI (sometimes !)

Page 25: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Configure PAM

Plug-able Authentication Modules Build PAM

ftp://ftp.padl.com/pub/pam_ldap-124.tgz#tar -zxvf pam_ldap-124.tgz#./configure#make#make install

Edit /etc/pam.d/files e.g. loginauth required /lib/security/pam_securetty.so debugauth required /lib/security/pam_nologin.so debugauth sufficient /lib/security/pam_ldap.so debugauth required /lib/security/pam_unix_auth.so account sufficient /lib/security/pam_ldap.so debugsession required /lib/security/pam_unix_session.so

Page 26: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Configure NSS

Name Services Libraries Build libnss

#ftp://ftp.padl.com/pub/libnss-172.tgz #./configure --enable-rfc2307bis#make #make install

Configure /etc/nsswitch.confpasswd: files ldapgroup: files ldaphosts: files dns ldapservices: files ldap [NOTFOUND=return] filesnetworks: files ldap [NOTFOUND=return] filesprotocols: files ldap [NOTFOUND=return] filesrpc: files ldap [NOTFOUND=return] filesethers: files ldap [NOTFOUND=return] files# no support for netmasks, bootparams, publickey yet.netmasks: filesbootparams: filespublickey: filesautomount: files

Page 27: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Why Samba PDC ?

Scalability of File and Print Services

Integration with NetAtalk (Mac services)

Source (fix the features)

Performance

Cost !

Page 28: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Samba Through put

Page 29: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Response time

Page 30: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Configure Samba 2.2.2

Build Samba#./configure --sysconfdir=/etc/samba --with-privatedir=/etc/samba --with-lockdir=/var/state/samba --localstatedir=/var --with-syslog --with-utmp --withreadline --with-sambabook --with-ldapsam --with-msdfs --with-acl-support#make #make install

Configure samba /etc/samba/smb.conf[global] workgroup = levenshulme domain logons = yes domain admin group = @ntadmin unix password sync = yes passwd program = /etc/samba/passwdsync %u passwd chat = *OLD* %o\n *NEW* %n\n *AGAIN* %n\n *changed* passwd chat debug = true encrypt passwords = yes guest account = nobody status = yes os level = 70 domain master = yes security = user log level = 1 log file = /var/log/samba/%m.log logon drive = U: ldap admin dn = "cn=Directory Manager,dc=fluff,dc=org“ ldap filter = "(&(uid=%u)(objectclass=sambaAccount))“ ldap suffix = "ou=people,dc=levenshulme,dc=fluff,dc=org“[homes] comment = Home Directories read only = no public = no writeable = yes

smbpasswd –w xxxxxx

Page 31: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Samba as PDC

Grouping across platforms hold true

Single Sign-on into the Microsoft EnvironmentLogin to Windows Logs into SQL Server/Exchange

Password kept in sync with other OS’s and tools

Page 32: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

NovellNetWare 5.0NDS Master

NovellNetWare 5.0NDS Replica

AppleMacOS

WindowsWorkstation

NovellNetWare 5.0NDS Replica

Solaris 2.6PAM

NSSDirectoryService

NDS Integration Possibilities

Page 33: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Apache

Apache 1.3.2

mod_auth_ldap

mod_ssl

Page 34: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

JumpStart and PXe

Jumpstart (autobuild of Solaris Hosts)

PXe (Jumpstart for Intel)Extensions to DHCP and

DEN systemsPossible to build systems automatically

based on the roles stored within LDAPPXe can build Linux & Windows

(bpbatch + easyInternet)

Page 35: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Why Bother ?

Infrastructure that just works Ubiquity of configuration information Rich personalisation

Users want to set their screen colours ! Universal access

not just people but also Applications Single Point of Control We want to Drink BEER !

Page 36: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Coffee --2

A quick 10 minute Break

Page 37: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

LDAP Background

LDAP - Lightweight Directory Access Protocol Protocol for providing directory services over TCP/IP Described in RFC 1823

LDAP is a standard, extensible directory access protocol Allows client and server software from many different

vendors to interoperate Is lightweight, efficient, straightforward, easy to

implement Uses a simplified set of encoding methods and runs

directly on top of TCP/IP APIs include C APIs, Java APIs and PerLDAP

Page 38: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Databases vs. Directories

ConventionalDatabases

DirectoryServices

Ch

ara

cte

ris

tic

SQL Yes No

Read / Writeratio

1 / 1 1000 / 1

Common Access Protocol

TransactionOriented

No

No

Yes

Yes

Page 39: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Directory Structure - Entries

An entry is a collection of attribute/value pairs

attribute value

uid es26336

sn Sutcliffe

cn Edmund

l Manchester

attribute value

uidNumber 26336

primaryGroupID 1793

defaultdomain fluff.org

sambahome /export/home

User Attributes Application Attributes

Page 40: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Directory Structure – Data Tree

Entries are arranged in a hierarchical tree-like structure

Entries are identified by a unique distinguished name (DN)

fluff.org

People

Edmund

dc

ouGroupsou

Administrators Staff Martin

dn:uid=es26336,ou=People,dc=fluff,dc=org

DN

dn:dc=fluff,dc=org

DN

Suffix

Page 41: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Typical Directory Entry

Distinguished NameDistinguished NameRDNRDN

dn: uid=es26336,ou=People,dc=fluff,dc=org

cn: Edmund Sutcliffe

sn: Sutcliffe

givenname: Edmund

objectclass: top

objectclass: person

objectclass: organizationalPerson

objectclass: inetOrgPerson

ou: People

l: Manchester

uid: es26336

mail: [email protected]

telephonenumber: +44 7976 938841

organizationalPerson requires objectclass, sn, cn allows description, streetaddress, telephonenumber, pagernumber,

mail, title, etc...

organizationalPerson requires objectclass, sn, cn allows description, streetaddress, telephonenumber, pagernumber,

mail, title, etc...

Page 42: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Schema and Objectclasses

person

objectclassacicnsn

telephonenumberdescription

top

organizationalperson

uidmailhost

mailquotal

streetpostalcode

st...

Attributes Object Classes

Page 43: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Objectclass Inheritance

top objectclass (req)aci

person

(top)(person)objectclassacicn (req)sn (req)description

organizationalperson

oougivennamedescriptiontitleemployeenumber

(top)objectclassacicn (req)sn (req)description

Page 44: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Topology

How should the directory contents be designed?

How should the directory be deployed in the physical infrastructure?

Page 45: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Directory Replication

Replication is the mechanism that…

Copies information between Directory Servers so that the same information exists on several different physical servers

Allows a master server to hold a master copy of the information and automatically copy updates to all replicas

Page 46: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Directory Referrals

A Directory Referral is a …

Redirection mechanism

An alternate LDAP address given back to a client requesting information

Types of referrals… Suffix Replication

Clients have to handle this !

Page 47: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

What Is LDIF?

LDAP Directory Interchange Format ASCII representation of

directory entries

Uses in Directory Server configuration data import/export

operations Backup files schema files

Command-line utilities ldapsearch,

ldapmodify, etc.

Space = ?

dn: dc=fluff,dc=orgobjectclass: topobjectclass: domaindc: fluff

dn: ou=People, dc=fluff,dc=orgobjectclass: topobjectclass: organizationalunitou: People

dn: uid=es26336, ou=People, dc=fluff,dc=orgobjectclass: topobjectclass: personobjectclass: organizationalPersonobjectclass: inetOrgPersoncn: Edmund Sutcliffesn: Sutcliffegivenname: Edmund ou: Staffuid: es26336

dn: dc=fluff,dc=orgobjectclass: topobjectclass: domaindc: fluff

dn: ou=People, dc=fluff,dc=orgobjectclass: topobjectclass: organizationalunitou: People

dn: uid=es26336, ou=People, dc=fluff,dc=orgobjectclass: topobjectclass: personobjectclass: organizationalPersonobjectclass: inetOrgPersoncn: Edmund Sutcliffesn: Sutcliffegivenname: Edmund ou: Staffuid: es26336

?

Page 48: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Search

Criteria based

Allows the client to specifyWhere to begin searching in the

directory treeHow much of the tree to search Which attribute values to returnThe pattern to match

Page 49: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Using LDAP URLs

ldap://ldap.fluff.org:389/dc=fluff,dc=org?telephoneNumber?sub?(cn=Ed*)

ldap[s]:// <hostname>:<port> / <base_dn> ? <attributes> ? <scope> ? <filter>

base :== where to start

attributes :== what is shown

scope : == base| one | sub

filter :== (|(filter)(filter)) | (&(filter)(filter)) etc

Page 50: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Command Line Tools

Page 51: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

ldapdelete

ldapdelete “cn=DeleteMe,dc=fluff,dc=org”-D “cn=Directory Manager,dc=fluff,dc=org”-w xxxxxxx-h ldap

-p 389

Page 52: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

ldapmodify

ldapmodify –b –r –f/tmp/entrymoddn:cn=modifyme,dc=fluff,dc=orgchangetype: modifyreplace: mailmail: [email protected]

add: titletitle: Grand Poobah

delete: description

add: jpegPhotojpegPhoto: /tmp/modme.jpg

Page 53: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Exercises

Perform an LDAP URL Search

Perform and LDAP Command Line Search

Dump LDAP Command line search into LDIF

Add an entry for yourself into the LDIF

Using Directory Manager add new LDIF

Page 54: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Coffee –3 Lunch

LUNCH

Back by 1:00pm

Page 55: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Schema Module Objectives

Upon completion of this module, you should be able to: Determine definitive sources of data Understand and extend LDAP Schema

Page 56: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Data Store 1Data Store 2

. . .

Data Store x

Application 1Application 2

. . .

Application nDirectory

dB(s)

Identify Directory Data & Users

Perform a Directory Data Requirements

Perform a Directory Applications Analysis

Page 57: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Review Directory Data Requirements

What Kinds of Data Belong in a Directory?

What Should Not Go Into the Directory?

Examples of Directory Data

Page 58: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

What Belongs

Data that is read often and written infrequently

Data that can be expressed in attribute form

Data useful for more than one audience

Data accessed from more than one physical location

Page 59: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

What Doesn’t

Data that changes frequently

Large unstructured chunks of data designed for file systems, FTP servers, web servers, or relational databases

Page 60: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Examples of Directory Data

Contact information for people, places, or things (telephone numbers, addresses, email, etc.)

Descriptive information (employee number, job title, manager, etc.)

Device information (printer type, location, speed, color, etc.)

Contact and billing information for Extranets

Software application configuration preferences

User preferences for applications

Resource locations, such as pointers to web servers, FTP servers, and file system locations

Page 61: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Application 1Application 2

. . .

Application n

DirectorydB(s)

Perform a Directory Applications Analysis

What directory applications and tools do you currently have deployed, and who uses them?

What LDAP directory-enabled applications will you deploy, and who will use them?

How will these applications be used?

What other iPlanet Servers are you planning to deploy?

Page 62: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Directory Enabled Applications

Samba sambaAccount sambaGroup

Messaging Systems Sendmail/Exim ListServe Exchange

Posix(Unix) Login posixAccount posixGroup

Web Servers Apache Zeus Netscape/iPlanet

Application Servers Oracle iAS

Windows Services IIS SQL Server

Page 63: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Perform a Directory Data Stores Analysis

Where does current directory data exist in your environment?

What applications and tools do you have to support your current directory data?

What applications, tools, and processes need to change if the data is accessed using LDAP?

Data Store 1Data Store 2

. . .

Data Store x

DirectorydB(s)

Page 64: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Data Store 1Data Store 2

. . .

Data Store x

Application 1Application 2

. . .

Application n

DirectorydB(s)

Exercise: Identify Directory Data Stores

Page 65: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Glasgow examples

Admin Unix/username

Exchange Username

NDS Username

CS Username Radius uses CS Username 50% have static hardwired password !!

Admin Ingress Common password

Student Record System, Delphi (Personnel Payroll), Advisors Online, Agresso (Finance system)

Reference Manager System Bibliographic Database (RAE)

Senate Papers

Department Systems Modification of Central NDS Unix system (Physics has NT DOMAIN)

NT Domains Desktop Support Team WinTERM Domain HelpDesk Authentication System and associated NT DOMAIN

Page 66: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

DirectoryApplicationFields

DirectoryApplicationFields

SampleValues

SampleValues DescriptionDescription

field 1field 1

field 2field 2

field xfield x

sample 1sample 1

sample 2sample 2

sample xsample x

description 1description 1

description 2description 2

description xdescription x

DirectoryApplicationFields

DirectoryApplicationFields

SampleValues

SampleValues DescriptionDescription

field 1field 1

field 2field 2

field xfield x

sample 1sample 1

sample 2sample 2

sample xsample x

description 1description 1

description 2description 2

description xdescription x

VendorSchema

VendorSchema

attribute 1attribute 1

attribute 2attribute 2

attribute xattribute x

Document Directory Application Fields

What are the required fields for all of the identified LDAP directory applications?

What is the purpose of each field and how is it formatted?

Are there any additional fields that can be viewed by special users?

Are there any hidden fields?

Is there a vendor supplied schema?

DirectoryApplicationFields

DirectoryApplicationFields

SampleValues

SampleValues DescriptionDescription

field 1field 1

field 2field 2

field xfield x

sample 1sample 1

sample 2sample 2

sample xsample x

description 1description 1

description 2description 2

description xdescription x

App 1App 1 App 2App 2 App xApp xooo

Page 67: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Examples of Documenting Application Fields

Directory Server Gateway

Communicator Address Book

Conference Room Locator

NetMeeting(RTPerson class)

Sendmail(mail attribute)

Page 68: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

DirectoryApplicationFields

DirectoryApplicationFields

SampleValues

SampleValues DescriptionDescription

field 1field 1

field 2field 2

field xfield x

sample 1sample 1

sample 2sample 2

sample xsample x

description 1description 1

description 2description 2

description xdescription x

DirectoryApplicationFields

DirectoryApplicationFields

SampleValues

SampleValues DescriptionDescription

field 1field 1

field 2field 2

field xfield x

sample 1sample 1

sample 2sample 2

sample xsample x

description 1description 1

description 2description 2

description xdescription x

VendorSchema

VendorSchema

attribute 1attribute 1

attribute 2attribute 2

attribute xattribute x

Data StoreFields

Data StoreFields

SampleValues

SampleValues DescriptionDescription

field 1field 1

field 2field 2

field xfield x

sample 1sample 1

sample 2sample 2

sample xsample x

description 1description 1

description 2description 2

description xdescription x

DataStore 1Data

Store 1Data

Store 2Data

Store 2Data

Store XData

Store Xooo

Document Directory Data Store

What directory information exists for each identified data store?

What is the purpose of each field and how is it formatted?

Is there a vendor supplied schema?

Page 69: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Examples of Documenting Data Store Fields

HR Database

NT

Facilities

PBX System

Access Control System (Badging)

Excel Spreadsheet with Departmental Contacts

Admin Spreadsheets

Page 70: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

HR Database

HR Data Store Field Sample Values DescriptionFirst_Name Edmund Common First NameMiddle_Name James Middle Name or InitialLast_Name Sutcliffe Last NameLegal_Name Edmund J. Sutcliffe Legal NameEmployee_ID 26336 Employee ID Number (Primary Key)Email_ID [email protected] Email AddressWork_Phone +44 7976 938841 Work Telephone NumberSalary_Amount 1000000 Base SalaryPay_Cycle 2 Pay Cycle in weeksCurrency_Code UK Currancy paid inAddress_1 Deansgate Work Address 1Address_2 Work Address 2City Manchester Work Address 3State Greater Manchester Work Address 4Postal_Code M2 7SB Work Address 5Country_Code UK Work Address 6Mail_Stop 1-9-907 Work Address (Mail Stop)Manager_Name Geoff Arnold Manager's First Name + Last NameManager_Email [email protected] Email AddressBusiness_Title Member TitleDepartment_Number 1149 Biling Department Number

HR Data Store Field Sample Values DescriptionFirst_Name Edmund Common First NameMiddle_Name James Middle Name or InitialLast_Name Sutcliffe Last NameLegal_Name Edmund J. Sutcliffe Legal NameEmployee_ID 26336 Employee ID Number (Primary Key)Email_ID [email protected] Email AddressWork_Phone +44 7976 938841 Work Telephone NumberSalary_Amount 1000000 Base SalaryPay_Cycle 2 Pay Cycle in weeksCurrency_Code UK Currancy paid inAddress_1 Deansgate Work Address 1Address_2 Work Address 2City Manchester Work Address 3State Greater Manchester Work Address 4Postal_Code M2 7SB Work Address 5Country_Code UK Work Address 6Mail_Stop 1-9-907 Work Address (Mail Stop)Manager_Name Geoff Arnold Manager's First Name + Last NameManager_Email [email protected] Email AddressBusiness_Title Member TitleDepartment_Number 1149 Biling Department Number

Page 71: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

NT, Facilities, and PBXNT Data Store Fields Sample Values DescriptionFull Name (full_name) Edmund_Sutcliffe NT full account nameUsername (name) es26336 NT account nameDescription (comment) NT description fieldPassword (password) NT password field in NTDomain fluff.org Hidden NT domain

NT Data Store Fields Sample Values DescriptionFull Name (full_name) Edmund_Sutcliffe NT full account nameUsername (name) es26336 NT account nameDescription (comment) NT description fieldPassword (password) NT password field in NTDomain fluff.org Hidden NT domain

PBX Data Store Fields Sample Values Description

E-Num 76548010Electronic PBX Tracking Number

E-Name edmunds User Name

E-Location 376120-002Physical Location Code of Phone

E-Phone +44 7976 938841

Assigned Telephone Number (Unique to PBX)

PBX Data Store Fields Sample Values Description

E-Num 76548010Electronic PBX Tracking Number

E-Name edmunds User Name

E-Location 376120-002Physical Location Code of Phone

E-Phone +44 7976 938841

Assigned Telephone Number (Unique to PBX)

Facilities Data Store Fields Sample Values DescriptionFirst_Name Edmund Common First NameLast_Name Sutcliffe Last Name

Work_Phone +44 7976 938841Work Telephone Number

Email_ID [email protected] Email AddressBuilding_Number 1 BuildingFloor_Number 9 FloorRoom_Number 907 RoomUser_ID edmunds User ID (Primary Key)

Facilities Data Store Fields Sample Values DescriptionFirst_Name Edmund Common First NameLast_Name Sutcliffe Last Name

Work_Phone +44 7976 938841Work Telephone Number

Email_ID [email protected] Email AddressBuilding_Number 1 BuildingFloor_Number 9 FloorRoom_Number 907 RoomUser_ID edmunds User ID (Primary Key)

Page 72: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Glasgow Attributes Room Allocation (Standardisation)

Phone Number

Email

User-id Multiple users of a single user-id Data Protection Act Difficulties with Multiple use Stamp out shared usernames… POLICY STATEMENT

Password Yellow Sticky Issue !!!

Authorization Per app, Per Department, Per Position The problem of temps accruing permissions..

Departmental Privileges Right to have access to Chemicals/animal experimentations

Page 73: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Tips

As you develop your plan, share information about goals and milestones with everyone involvedActively use the milestones to track

progress toward your goalsThrough advertising what you hope to

accomplish and your schedule, you secure the aid of others and set expectations for the deployment process

Page 74: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Coffee --4

Page 75: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

App 1App 1 App 2App 2 App nApp nApp 1App 1

FieldsFields

----------------------------

----------------------------

--------------

--------------

FieldsFields

--------------

-------

--------------

-------

-------

--------------

-------

--------------

FieldsFields

--------------

--------------

--------------

--------------

App 2App 2 App nApp n Directory Server SchemaDirectory Server Schema

ObjectClass

ObjectClass

Default Object Classes

Default Object Classes

Custom Object Classes

Custom Object Classes

OIDOID

--------------------

--------------------

--------------------

--------------------

AttributeAttribute

----------------------------

----------------------------

----------------------------

----------------------------

OIDOID

--------------------

--------------------

--------------------

--------------------

SyntaxSyntax

------------------------

------------------------

------------------------

------------------------

DirDir DirDir DirDir

FieldsFields

--------------

-------

--------------

-------

-------

-------

-------

-------

S1

FieldsFields

-------

-------

-------

-------

FieldsFields

-------

-------

-------

-------

-------

-------

S2 Sn ASAS

IdentifierIdentifier

S1S1MVS2

S1S1MVS2

S1MVS1Sn

S1MVS1Sn

ChangeChange

NotesNotes

-------

-------

-------

-------

-------

-------

Develop Directory Schema

Page 76: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Develop a Directory Schema

Review the Default Schema

Match Directory Application Fields

Match Directory Data Store Fields

Extend the Schema

Identify Authoritative Sources

Identify Processes and Procedures

Page 77: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Review the Default Schema

Review a Typical Directory Entry

Review Object Classes and Attributes

Review Object Class Inheritance

Review Default iPlanet Directory Server Schema

Directory Server SchemaDirectory Server Schema

ObjectClass

ObjectClass

Default Object Classes

Default Object Classes

Custom Object Classes

Custom Object Classes

OIDOID

--------------------

--------------------

--------------------

--------------------

AttributeAttribute

----------------------------

----------------------------

----------------------------

----------------------------

OIDOID

--------------------

--------------------

--------------------

--------------------

SyntaxSyntax

------------------------

------------------------

------------------------

------------------------

Page 78: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Typical Directory Entry

Distinguished NameDistinguished NameRDNRDN

dn: uid=es26336,ou=People,dc=fluff,dc=org

cn: Edmund Sutcliffe

sn: Sutcliffe

givenname: Edmund

objectclass: top

objectclass: person

objectclass: organizationalPerson

objectclass: inetOrgPerson

ou: People

l: Manchester

uid: es26336

mail: [email protected]

telephonenumber: +44 7976 938841

organizationalPerson requires objectclass, sn, cn allows description, streetaddress, telephonenumber, pagernumber,

mail, title, etc...

organizationalPerson requires objectclass, sn, cn allows description, streetaddress, telephonenumber, pagernumber,

mail, title, etc...

Page 79: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Schema and Objectclasses

person

objectclassacicnsn

telephonenumberdescription

top

organizationalperson

uidmailhost

mailquotal

streetpostalcode

st...

Attributes Object Classes

Page 80: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Objectclass Inheritance

top objectclass (req)aci

person

(top)(person)objectclassacicn (req)sn (req)description

organizationalperson

oougivennamedescriptiontitleemployeenumber

(top)objectclassacicn (req)sn (req)description

Page 81: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Review the Default iPlanet Directory Server Schema

00core.ldif05rfc2247.ldif05rfc2927.ldif10rfc2307.ldif20subscriber.ldif25java-object.ldif28pilot.ldif30ns-common.ldif50ns-admin.ldif50ns-calendar.ldif50ns-certificate.ldif50ns-compass.ldif50ns-delegated-admin.ldif50ns-directory.ldif50ns-legacy.ldif

50ns-mail.ldif50ns-mcd-browser.ldif50ns-mcd-config.ldif50ns-mcd-li.ldif50ns-mcd-mail.ldif50ns-media.ldif50ns-mlm.ldif50ns-msg.ldif50ns-netshare.ldif50ns-news.ldif50ns-proxy.ldif50ns-value.ldif50ns-wcal.ldif50ns-web.ldif99user.ldif

<server-root>/slapd-<instance>/config/schema/

Page 82: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Schema Entries in LDIF

Typical schema attribute definitionattributeTypes: ( 2.5.4.4 NAME ( 'sn' 'surName' ) DESC 'Standard LDAP attribute type' SUP name X-ORIGIN 'RFC 2256' )

attributeTypes:( 2.5.4.20 NAME ‘telephoneNumber' DESC 'Standard LDAP attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 X-ORIGIN 'RFC 2256' )

Typical schema object class definitionobjectClasses: ( 2.5.6.6 NAME 'person' DESC 'Standard LDAP objectclass' SUP top MUST ( sn $ cn ) MAY ( description $ seeAlso $ telephoneNumber $ userPassword ) X-ORIGIN 'RFC 2256' )

Page 83: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

OID Numbers

Object IDentifier numbers uniquely identify objects globally

Each new Object Class and Attribute must be assigned a unique OID

Default is based on object name followed by the characters -oidfluffPerson-oid (Object Class)TShirtSize-oid (Attribute)

Option is to maintain a unique OID registry for your organization

Page 84: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Attribute SYNTAX

SYNTAX key word defines the type of data an attribute can store

Each new attribute must be assigned a SYNTAX numberSYNTAX 1.3.6.1.4.1.1466.115.121.1.50SUP name (derived from this other

AttributeType)

RFC 2252 defines attribute syntaxLightweight Directory Access Protocol

(v3): Attribute Syntax Definitions

Page 85: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Attribute Syntax Types

bin < > Binary

ces < > IA5String

cis < > DirectoryString

dn < > DN

int < > INTEGER

tel < > TelephoneNumber

OctetString

Boolean

GeneralizedTime

Country Name

Postal Address

Page 86: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Sample 99user.ldif File

dn: cn=schemaobjectClass: topobjectClass: ldapSubentryobjectClass: subschemacn: schemaaci: ...... objectClasses: ( siroePerson-oid NAME 'siroePerson' SUP inetorgperson STRUCTURAL MAY TShirtSize X-ORIGIN 'user defined' )

attributeTypes: ( TShirtSize-oid NAME 'TShirtSize' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' )

Page 87: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Default Directory Server Operation

Schema Checking Default=On

Checks if proper attributes are present Required values for

objectclass Allowed attributes

for objectclass

Replication Schema changes

made on a replica master are recorded in the changelog

During replication, changes are replicated

Do NOT modify the schema on a read-only replica

Page 88: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Match Directory Application Fields

Identify the Type of Object

Select a Similar Object Class

Select a Similar Attribute

Transfer Application Field to Matrix

List Unmatched Application Fields

App 1App 1Application 1Application 1

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

App 1App 1Application 2Application 2

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

App 1App 1Application nApplication n

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

-----------------------------------

Directory MatrixDirectory MatrixDirectory ApplicationsDirectory Applications

App 1App 1 App 2App 2 App nApp n

Directory Server Schema

Directory Server Schema

Object ClassObject Class AttributeAttribute

----------------------------

----------------------------

--------------

-------

--------------

-------

--------------

--------------

Default Object Classes

Default Object Classes

----------------------------

----------------------------

App 1App 1 App 2App 2 App nApp n

Page 89: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Corporate Phone Book Directory Application Fields Sample Values Description

Default Vendor Schema

First Name Edmund givennameLast Name Sutcliffe snFull Name Edmund Sutcliffe cn

Phone +44 7976 938841Work Telephone Number telephoneNumber

Pager Allow user to update pager

FaxAllow user to update or set to office fax number

facsimileTelephoneNumber

Mobile Phone Allow user to update mobileE-Mail Address [email protected] mail

User ID jsmithUser ID for Authentication uid

Corporate Phone Book Directory Application Fields Sample Values Description

Default Vendor Schema

First Name Edmund givennameLast Name Sutcliffe snFull Name Edmund Sutcliffe cn

Phone +44 7976 938841Work Telephone Number telephoneNumber

Pager Allow user to update pager

FaxAllow user to update or set to office fax number

facsimileTelephoneNumber

Mobile Phone Allow user to update mobileE-Mail Address [email protected] mail

User ID jsmithUser ID for Authentication uid

Identify the Type of Object

What type of objectdoes this field describe?

Person Conference Room

Objects

Page 90: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Transfer Application Field to Matrix

Corporate Phone Book

Communicator

Address Book

Conference Room

Locator

Application Fields

Application Fields

Application Fields Object Class Attribute

top objectclassaci

Last Name Last Name person (top) sn

Full Name Name Full Name cnDescription descriptionSee Also seeAlsoPhone Phone Number telephoneNumberPassword userPassword

organizationalPerson (person) destinationIndicator

Directory Server SchemaCorporate

Phone Book

Communicator

Address Book

Conference Room

Locator

Application Fields

Application Fields

Application Fields Object Class Attribute

top objectclassaci

Last Name Last Name person (top) sn

Full Name Name Full Name cnDescription descriptionSee Also seeAlsoPhone Phone Number telephoneNumberPassword userPassword

organizationalPerson (person) destinationIndicator

Directory Server Schema

Transfer Application

Field

Page 91: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Unmatched Application Fields

Unmatched Fields

Building Number

Floor Number

Capacity

EMT List unmatched application fields

Address BookPhone

BookBuilding Number*

Floor Number*

Capacity*

Directory Applications

EMT*

Page 92: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Match Directory Data Store Fields

Identify the Type of Object

Select a Similar Object Class

Select a Similar Attribute

Transfer Field to Matrix

List Unmatched Data Store Fields

Directory Server Schema

Directory Server Schema

Object ClassObject Class

Default Object Classes

Default Object Classes

AttributeAttribute

----------------------------

----------------------------

Attribute Attribute

--------------

-------

--------------

-------

DirDir

AttributeAttribute

-------------- --------------

-------------- --------------

SampleSample

-------------- --------------

-------------- --------------

DescriptionDescription

-------------- --------------

-------------- --------------

S1S1

DirDir

AttributeAttribute

-------------- --------------

-------------- --------------

SampleSample

-------------- --------------

-------------- --------------

DescriptionDescription

-------------- --------------

-------------- --------------

S2S2

DirDir

AttributeAttribute

-------------- --------------

-------------- --------------

SampleSample

-------------- --------------

-------------- --------------

DescriptionDescription

-------------- --------------

-------------- --------------

SnSn

S1S1

Attribute Attribute

--------------

S2S2

Attribute Attribute

--------------

SnSn

Page 93: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Exercises

Review the Default Schema/etc/ldap/schema

Match Directory Application Fields

Match Directory Data Store Fields

Page 94: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Coffee --5

Quick 10 Minutes

Page 95: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Unmatched Application Fields

Building Number

Floor Number

Capacity

EMT

Directory Server Schema

Directory Server Schema

Object ClassObject Class

Custom Object Classes-------

Custom Object Classes-------

AttributeAttribute

CustomAttributes -------

CustomAttributes -------

Unmatched Data Store Attributes

Building_Number

Floor_Number

Capacity

EMT

Extend the Schema

Group Unmatched Fields into Objects

Select Similar Attributes or Create New Ones

Create New Object Class and Attribute Names

Transfer New Definitions to Matrix

Define Attribute and Object Class Rules

Page 96: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Group Unmatched Fields in Objects

Unmatched Fields

Building Number

Floor Number

Capacity

EMT

What type of object does it

describe?

Are there standard attributes?

Person (inetOrgPerson)

Conference Room (top)

Building Number

Floor Number

Capacity

Name

Phone Number

Description

cn

telephoneNumber

description

buildingName

Application Field Default Schema Attribute

Building Number

Floor Number

buildingName

Application Field Default Schema Attribute

EMT

Is the object an extension of a standard

object class?

Page 97: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Select Similar Attributes or Create New Ones

Person

Conference Room

Select a similarobject class

Select a similarattribute?

Address BookSireoChoc Phone

BookBuilding Number*Floor Number*Capacity*

Directory Applications

Address BookSireoChoc Phone

BookBuilding Number*Floor Number*Capacity*

Directory Applications

Identify the typeof object

Page 98: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Create New Object Class Names

Building Number

Floor Number

buildingNameApplication Field Default Schema Attribute

EMT

Unmatched Fields

Building Number

Floor Number

Capacity

EMT

fluffPerson (inetorgPerson)

fluffConfRoom (top)

Building Number

Floor Number

Capacity

Name

Phone Number

Description

cn

telephoneNumber

description

buildingName

Application Field Default Schema Attribute

Create new object class names that avoid present and future

name conflicts

Page 99: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Create New Attribute Names

fluffPerson (inetorgPerson)

fluffConfRoom (top)

Building Number

Floor Number

Capacity

Name

Phone Number

Description

cn

telephoneNumber

description

buildingName

fluffBuildFloor

fluffConfRoomCapacityCreate new attribute names that avoid present and future

name conflicts

Building Number

Floor Number

buildingName

fluffBuildFloor

Unmatched Fields

Building Number

Floor Number

Capacity

EMT

Application Field Default & New Schema Attribute

Application Field Default & New Schema Attribute

EMT fluffEMT

Page 100: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Define Attribute and Object Class Rules

Define attribute types DirectoryString, IA5String, DN, binary,

INTEGER, and TelephoneNumber Single or Multi-value

Define object class rules Inheritance Required attributes Allowed attributes

Obtain OID Numbers X.500 compatibility

Page 101: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Identify Authoritative Sources

What Data Store is the authoritative source for each attribute?

App 1App 1 App 2App 2 App nApp nApp 1App 1

FieldsFields

----------------------------

----------------------------

--------------

--------------

FieldsFields

--------------

-------

--------------

-------

-------

--------------

-------

--------------

FieldsFields

--------------

--------------

--------------

--------------

App 2App 2 App nApp n Directory Server SchemaDirectory Server Schema

ObjectClass

ObjectClass

Default Object Classes

Default Object Classes

Custom Object Classes

Custom Object Classes

OIDOID

--------------------

--------------------

--------------------

--------------------

AttributeAttribute

----------------------------

----------------------------

----------------------------

----------------------------

OIDOID

--------------------

--------------------

--------------------

--------------------

SyntaxSyntax

------------------------

------------------------

------------------------

------------------------

DirDir DirDir DirDir

FieldsFields

--------------

-------

--------------

-------

-------

-------

-------

-------

S1

FieldsFields

-------

-------

-------

-------

FieldsFields

-------

-------

-------

-------

-------

-------

S2 Sn ASAS

IdentifierIdentifier

S1S1MVS2

S1S1MVS2

S1MVS1Sn

S1MVS1Sn

ChangeChange

NotesNotes

-------

-------

-------

-------

-------

-------

Page 102: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Examples of Authoritative Sources

Human Resources system: Name, Address

Phone switch: Phone Number, Cube Number

Facilities systems: Building, Floor, Access

Other directories (NT, NIS)

Other Application servers (such as Certificate): Certificates published

The Directory itself (attributes not available anywhere else or not shared by other systems for legal reasons): Home Phone Number

Page 103: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Data Ownership

Who makes sure data is up-to-date?Individuals accessing their own recordManagers accessing subordinate

recordsRole or Group (rather than individuals)

for other accesses

Page 104: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Identify Processes and Procedures

Processes that need to change to accommodate directory design Now that

HomePhoneNumber is displayed, who will maintain data accuracy?

Does current contractor process need to be changed?

Identify Correct level of

authority Who owns the

information

ChangeChange

NotesNotes

DepartmentalPhone Book to be phased out.

DepartmentalPhone Book to be phased out.

-------

-------

-------

-------

Page 105: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Exercises

Identify Processes and Procedures

Identify Authoritative Sources

Extend the Schema

Page 106: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Tips

Defining a good schema is as much art as science, and the more of it you do, the easier the process becomes. In general, good principles to follow include: Reuse existing elements as much as possible Define several smaller auxiliary object classes

to mix needed attributes into existing objects. Minimize the number of mandatory attribute

types within your object classes Do not define more than one object class or

attribute type to hold the same kind of information

When in doubt, keep it simple

Page 107: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Coffee –6

Page 108: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Directory Tree Design

Everyone has different views of the organization

Network Administrators “Everyone in a domain” “Everyone in a subnet”

Administration “Everyone in a cost-accounting group”

Facilities “Everyone in this building”

Telecom “Everyone on a particular switch”

Page 109: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

c=UK

o=glasgow

ou=Life ou=Adminou=CS ou=Engineering

cn=I Brunel

ou=Estates

DIT Design: People By DepartmentDIT Design: People By Department

Page 110: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

ou=Staff ou=Studentou=Contractors ou=PostGrad

cn=James Currall

c=UK

o=glasgow

DIT Design: Types of PeopleDIT Design: Types of People

Page 111: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

l=Watts Bld l=Galleryl=Library l=Admin Bldl=Oakfield Ave

cn=D Montgomery

c=UK

o=glasgow

DIT Design: By LocationDIT Design: By Location

Page 112: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

dc=com

dc=Acme

l=Los Angelesl=Dallasl=New York

l=North America l=Europel=Asia

l=Singaporel=Japan l=Munichl=Manchester l=Paris

ou=People

cn=Mike Smith

DIT Design: Deep Tree By DIT Design: Deep Tree By DepartmentDepartment

Page 113: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

ou=People

cn =SmithETcn =AikmanTA

cn =SandersDJcn = GonzalesJ

cn =ModanoMW

cn=Directory Usercn=Mail Admin

cn=Medical Admincn=Medical User

site=TX-SDsite=TX-RI

site=SW-BKsite=NY-AA

ou=Medicalou=Web Sites ou=Resumes

dc=com

o=Acme

ou=Groups ou=Locations ou=Apps ou=Systems ou=Schema

An Example DITAn Example DIT

Page 114: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Can result in long Distinguished Names (DN) May reflect your actual corporate structure Can result in administrative problems if your

organization is constantly changing Better chance of having unique names within a

subtree Works well if you want to distribute the data

across multiple Directory Servers

DIT Design: Deep -vs- Flat TreesDIT Design: Deep -vs- Flat Trees

Page 115: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

No need to categorize people Short Distinguished Names, easy to type DIT is very stable: not affected by

organizational changes, and easy to administer Higher chance of name collisions Not well suited for Browsing Can result in longer load times or startup times,

depending on the Directory Product you use

DIT Design: Flat -vs- Deep TreesDIT Design: Flat -vs- Deep Trees

Page 116: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

+ DN Guaranteed to be unique+ DN Never Changes+ More robust searching using name components

cn=0175387, ou=People, dc=Glasgow, dc=UK

dc=UK

dc=Glasgow

ou=People

cn = 0175387givenName = Michaelnickname = Mikesurname = Smith

- Browser shows useless information- Microsoft and Netscape mail clients expected

a real name in the commonName (cn) field.

DIT Design: Selecting a DIT Design: Selecting a Distinguished Name Distinguished Name

Page 117: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

+ DN Guaranteed to be unique+ DN Never Changes+ More robust searching using name components

- Browser shows useless information

uid=0175387, ou=People, dc=Glasgow, dc=UK

dc=UK

dc=Glasgow

ou=People

uid = 0175387cn = Mike Smith givenName = Michaelnickname = Mikesurname = Smith

+ commonName (cn) field contains a real name to work well with other LDAP applications.

DIT Design: Selecting a DIT Design: Selecting a Distinguished Name Distinguished Name

Page 118: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

uid=smithmj, ou=People, dc=Glasgow, dc=UK

dc=UK

dc=Glasgow

ou=People

uid = smithmjcn = Mike SmithgivenName = Michaelnickname = Mikesurname = Smith

+ DN Guaranteed to be unique+ More robust searching using name components+ commonName (cn) field contains a real name+ Browser shows more useful information

(although not as ideal as a full name)+ Directly maps to a user’s logon ID

(can be used for single sign-on)

- DN has the potential to change if the name or UID changes

- Entrust product requires the commonName (cn) to be part of the DN.

DIT Design: Selecting a DIT Design: Selecting a Distinguished Name Distinguished Name

Page 119: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

cn=Mike Smith + uid=smithmj, ou=People, dc=Glasgow, dc=UK

dc=UK

dc=Glasgow

ou=People

cn = Mike Smith + uid = smithmjgivenName = Michaelnickname = Mikesurname = Smith

+ DN Guaranteed to be unique+ More robust searching using name components+ Directly maps to a user’s logon ID (can be used

for single signon)+ commonName (cn) field contains a real name+ commonName (cn) is part of the DN

- DN has the potential to change

- Very artificial way of achieving uniqueness

- Complicated DN syntax- More complicated Directory Logon procedures- This syntax may not be accepted as standard in

the future.

DIT Design: Selecting a DIT Design: Selecting a Distinguished Name Distinguished Name

Page 120: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

+ DN Guaranteed to be unique+ More robust searching using name components+ Directly maps to a user’s logon ID

(can be used for single sign-on)+ commonName (cn) field contains a real name+ commonName (cn) is part of the DN

- DN has the potential to change

cn=smithmj, ou=People, dc=Glasgow,dc=UK

dc=UK

dc=Glasgow

ou=People

cn = smithmjcn = Mike SmithgivenName = Michaelnickname = Mikesurname = Smithuid = smithmj

- Data is duplicated in several areas (uid and cn)- Value displayed for commonName may vary.

DIT Design: Selecting a DIT Design: Selecting a Distinguished Name Distinguished Name

Page 121: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

dc=UK

dc=Glasgow

ou=People ou=Certificates

uid=smithmj, ou=Certificates, dc=Glasgow,dc=UK

uid = smithmjcn = Mike SmithgivenName = Michaelnickname = Mikesurname = Smith

cn = smithmjALIAS POINTER

cn=smithmj, ou=People, dc=Glasgow, dc=UK

+ DN Guaranteed to be unique+ More robust searching using name

components+ Directly maps to a user’s logon ID

(can be used for single sign-on)+ commonName (cn) field contains a

real name+ commonName (cn) is part of the DN

- DN has the potential to change- Problems with X.500 aliases:

- no built-in referential integrity

DIT Design: Selecting a DIT Design: Selecting a Distinguished Name Distinguished Name

Page 122: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

dc=com

dc=acme

The dc named attribute stands for domain component

The idea is to map the upper levels of the tree with registered DNS Names (in this case acme.com)

DIT Design: DIT Naming Proposal DIT Design: DIT Naming Proposal (rfc2377)(rfc2377)

Page 123: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

dc=com

dc=acme

dc=Corporate dc=Customers

The dc named attribute stands for domain component

The idea is to map the upper levels of the tree with registered DNS Names (in this case acme.com)

Lower levels of the tree will also use the dc named attribute

DIT Design: DIT Naming Proposal DIT Design: DIT Naming Proposal (rfc2377)(rfc2377)

Page 124: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

dc=com

dc=acme

dc=Corporate dc=DalSite

uid = [email protected] = Mike SmithgivenName = Michaelsurname = Smith

uid = [email protected] = Jane DoegivenName = Janesurname = Doe

The dc named attribute stands for domain component

The idea is to map the upper levels of the tree with registered DNS Names (in this case acme.com)

Lower levels of the tree will also use the dc named attribute

Each user is identified with the uid named attribute containing the email address.

DIT Design: DIT Naming Proposal DIT Design: DIT Naming Proposal (rfc2377)(rfc2377)

Page 125: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Robust DIT Naming and design standards are not in place yet There is currently no single “right way” to design your DIT that

applies to everyone Take into consideration your organization

– the organizational structure– the organization’s tendency to change– the organization’s current size and potential to grow

Take into consideration the how you want to use the directory– what information will be stored in the directory– who will own what data and how will be be mastered– what what other systems in the infrastructure will be

using/storing the data– how and what applications will be accessing the data

Carrots and SticksCarrots and Sticks

Page 126: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Conclusions

" If you think technology can solve your problems, then you don't understand the problems and you don't understand the technology. " Bruce Schneier

The Directory, to be useful, needs to become part of the Business Process and the repository of the highest quality and timely information.

Remember that you are doing it FOR not TO the organisation.

Page 127: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Coffee –6

Page 128: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Security Technologies

Successful e-business is highly dependent on security

Security services provide: Confidentiality Integrity Authentication Non-Repudiation Access-Control

Remember…CIANA

Page 129: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Security Threats

Information disclosure

Integrity violation

Assumed identities/Masquerading

Denial of service

Generic Threats: Backdoors, Trojans, Insider Attacks, Viruses

Page 130: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Home Security Analogy

Systems Security is like home security

Policy Definition You choose who and what can be done in your

home

Access control and passwords are the keys Window and door locks keep out intruders

Log files and monitoring script A security camera watches open doors

Try to make your environment less inviting to those looking for easy pickings

Page 131: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Policy

A policy is a set of instructions that determine an organization’s view of security

A policy sets the limits of acceptable behavior and outlines responses to violations

A policy always exists

In the absence of a formal policy, the policy is…

Anything goes!

Page 132: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

Security Implementations

Two key implementations of security are: SSL S/MIME

Each is implemented at different layers

SSLSSL

Network Layer(IP)Network Layer(IP)

Application LayerApplication Layer

Non-secure

Securecommunication

S/MIMES/MIME

Securecommunication

Page 133: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

SSL as a Security Solution

SSL ensures safe and secure client-server transactions

Provides authentication, privacy, and message integrity

Data going over the network is point-to-point encrypted

SSLv3.1 approved by IETF, called Transport Layer Security

SSLSSL

Network Layer (TCP/IP)Network Layer (TCP/IP)

Application LayerApplication Layer

Securecommunication

Page 134: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

SSL Server Authentication

Client initiates contact via https

“Here’s my certificate”

Public Key included

1. Generate secret key2. Encrypt secret key with Server’s public key

Validate Server certificate

SSL established

Transmitt data using session keys

Client Server

“I’d like to talk SSL”

Decrypt secret key using private key

Use secret keyto make session

keys

Use secret keyto make session

keys

Page 135: Integration and LDAP Consistent Sign-on and Directory Enabled Networking An LDAP Master Class Edmund J. Sutcliffe Thoughtful Solutions; Creatively Implemented.

SSL With Client Authentication

“Here’s my certificate. Where’s yours?”

Public Key included

1. Generate secret key2. Encrypt secret key with Server’s public key3. Send encrypted key and Client certificate

Validate Server certificate

Server validates Client certificate and decrypts

SSL established

Client Server

Client initiates contact via https“I’d like to talk SSL”

Transmitt data using session keys