1 agenda? 0830-0930middleware levelset 0930-1000middleware 201 (directories) 1000-1030break??...
TRANSCRIPT
1
Agenda?
0830-0930 Middleware Levelset
0930-1000 Middleware 201 (Directories)
1000-1030 Break??
1030-1200 Continue
1200-1300 Lunch
Internet2 Middleware
Drinking Kool-Aid From A Fire Hose
Michael R. GettesPrincipal TechnologistGeorgetown University
[email protected]://www.georgetown.edu/giia/internet2
“Middleware is the intersection of what the Network Engineers and the Application Programmers don’t want to do”
- Ken KlingensteinChief Technologist, Univ. of Colorado, Boulder
Director, Internet2 Middleware InitiativeLead Clergy, MACE
PS of LC
4
Internet2 Middleware
If the goal is a PKI, then you need to consider:• Identifiers (SSNs and other untold truths)• Identification & Authen process (“I & A”)• Authentication systems (Kerberos, LDAP, etc)• Lawyers, Policy & Money (lawyers, guns & $$$)• Directories (and the applications that use them)• Certificate Mgmt System (CMS) Deployment
–CA Certficate, Server Certificates, Client Certificates
• Authorizations (a real hard problem, Roles, etc)
5
Internet2 Middleware
• Building Application/System Infrastructure
• What is missing in Internet 1
• Not “Network Security” (wire level)
• Assumes the wire is insecure
• Assumes the Application is insecure
If security was easy,
everyone would be doing it.
• http://middleware.internet2.edu
6
MACE
Middleware Architecture Committee for Ed.
IT Architects – meet often – no particular religious affiliations
MACE-DIR – eduPerson, Recipe, DoDHE
MACE-SHIBBOLETH – global AuthN/Z
MACE-PKI HEPKI (TAG/PAG/PKI-Labs)
MACE-WebISO – Web Initial Sign-on
VID-MID – Video Middleware (H.323/SIP)
7
MACE-ochists
RL “Bob” Morgan, Chair, Washington
Steven Carmody, Brown
Michael Gettes, Georgetown
Keith Hazelton, Wisconsin
Paul Hill, MIT
Ken Klingenstein, Colorado
Mark Poepping, CMU
Jim Jokl, Virginia
David Wasley, UCOP
Von Welch, ANL/Grid
Recently:
Scott Cantor, Ohio St
Euro: Brian Gilmore & Ton Verschuren
8
MACE-DIR
Keith Hazelton, Chair, Wisconsin•eduPerson objectclass•LDAP-Recipe•Dir of Dirs for Higher Education (DoDHE)•Shibboleth project dir dependencies•Meta Directories – MetaMerge•Groups (Dynamic vs. Static; Management)•Afilliated Directories (Stitched, Data Link)•http://middleware.internet2.edu/directories
9
MACE-DIR:eduPerson 1.0 (1/22/01 release)
• MACE initiated (Internet2 + EDUCAUSE)
• Globally interesting useful attributes
• Get community buy-in, must use it also
eduPersonAffiliation (DoDHE), eduPersonPrincipalName (Shibboleth)
• “Less is more”, how to use standard objectclasses
• http://www.educause.edu/eduperson
10
MACE-DIR:LDAP-Recipe
DIT, Schema Design, Access Control, Replication, Name population, Good use of LDAP design and features, LDAP configuration, Password Management, eduPerson discussion, DoDHE expectations
http://middleware.internet2.edu (locate LDAP-Recipe)
11
MACE-DIR:Directory of Directoriesfor Higher Education
Web of Data vs. Web of People
Prototype: April, 2000 (by M. Gettes)
Highly scalable parallel searching• Interesting development/research problems• Configs, LDAP libraries, Human Interface
Realized the need to:• Promote eduPerson & common schema• Promote good directory design (recipe)
Work proceeding – Sun Microsystems Grant
http://middleware.internet2.edu/dodhe
12
MACE-SHIBBOLETH
Steven Carmody, Brown, Chair
A Biblical pass phrase – “password”• Get it right or “off with your head”• Inter-institutional Authentication/Authorization
• Web Authorization of Remote Sites with Local Credentials
• Authentication via WebISO• October, 2001 – Demo target• http://middleware.internet2.edu/shibboleth
13
MACE-WEBISOWeb Initial Sign-on
Recently Formed
Based on University of Washington “pubcookie” implementation
Washington will likely develop and steward for next 2 years with external funding
JA-SIG uPortal, Blackboard, WebCT, Shibboleth – will do or are highly likely to do.
http://www.washington.edu/computing/pubcookie
14
VID-MIDVideo Middleware
Recently Formed
Authentication and Authorization of H.323 sessions.
Client to Client
Client to MCU
Directory enabled
How to find video enabled people?
What is necessary to describe video capabilities?
Will likely extend to IP Telephony and so on…
15
Technical Policy
PKI is1/3 Technical
and 2/3 Policy?
16
HEPKI
TAG – Technical Activities Group• Jim Jokl, Chair, Virginia• Mobility, Cert Profiles, etc, etc, lots of techno
PAG – Policy Activities Group• Default Chair, Ken Klingenstein, Colorado• Knee-deep in policy, HEBCA, Campus, Subs+RP
PKI Labs (AT&T)– Neal McBurnett, Avaya• Wisconsin-Madison & Dartmouth• Industry, Gov., Edu expert guidance
http://www.educause.edu/hepki
17
Bridge CA and Trust Paths
Verisign
CA-A CA-B
Bridge CA
CA-C CA-D
FedBridge CA
HE
18
UNIVERSITY
GeorgetownUniversity
NIH
Peer-to-peer
USA GovernmentFederal
BCA
DoD
NASA
Peer-to-peer
USAHigher Education
BCA
UNIVERSITY
. . .
UNIVERSITY
University ofWashington
Peer-to-peer
USA Health Care"Health Key"
BCA
NCHICA
Special Relationships
Peer-to-peer
EuropeanHigher Education
BCA
UNIVERSITY
University ofEdinburgh
UNIVERSITY
SpecialRelationships
MayoClinic
19
Bridge CAs
• Higher Education Bridge CA – FBCA peering
• We have a draft HEBCA CP (Net@EDU PKI WG) FBCA Compatible
• How many HEBCAs? (EDUCAUSE!)
• Do we really understand PKI implementations with respect to policy needs? (proxy certificates, relying party agreements, name constraints, FERPA, HIPAA, who eats who?)
• BCA seems to be the most promising perspective. Will each person be a BCA?
• Does ALL software (Client/Server) need to be changed?
• Mitretek announces new BCA deployment model 2/15/2001• Scalable & deployable
• Server plug-ins make client changes less likely
20
domainComponent (DC=) Naming
• Traditional X.500 naming:
cn=Michael R Gettes, ou=Server Group, ou=UIS, o=Georgetown University, c=US
• domainComponent (DC) naming:
uid=gettes,ou=People,dc=georgetown,dc=edu
• HEPKI is issuing guidance and advice on DC= naming
21
Attributes for PKI
Store them in a Certificate?• Attributes persist for life of Certificate• No need for Directory or other lookup
– The Certificate itself becomes the AuthZ control point
Store them in a Directory?• Very light-weight Certificates• Requires Directory Access• Long-term Certificate, Directory is AuthZ control point.
How many Certificates will we have?
Pseudonymous Certificates
We’re Building A
“Bridge Over The River PKI”
A word about “Portals”
24
Portals: Authentication
• Security is not easy
if it was, then everyone would be doing it.
• Applications should not handle authentication• Don’t assume you will have access to passwords at the portal
• The portal is YAA (yet another application)
but portals have web servers to do the dirty work
portals can trust the web server to authenticate
and pass “identity” on to the portal
25
Portals: Authorization
• Security is not easy
if it was, then everyone would be doing it.
• Applications should handle authorization
• The portal is YAA (yet another application)
Portals can decide access on their own by consulting
local and remote services to determine eligibility then
grant/deny based on response or otherwise by whim.
26
Portal Issues
Authentication
WebISO
Authorization
Groups
Roles
Directories, Shibboleth
Vendor Independent Techniques
Shibboleth Update
Steven Carmbody, Brown UniversityProject Leader, Shibboleth
Michael R. Gettes, Georgetown University
28
Target Web
Server
Origin Site Target Site
Browser
Authentication Phase
First Access - Unauthenticated
Authorization Phase
Pass content if user is allowed
Shibboleth ArchitectureConcepts - High Level
29
Second Access - Authenticated
Target Web
Server
Origin Site Target Site
Browser
First Access - Unauthenticated
Web Login Server Redirect User to Local Web Login
Ask to Obtain Entitlements
Pass entitlements for authz decision
Pass content if user is allowedAuthentication
AttributeServer
Entitlements
Auth OK
Req Ent
Ent Prompt
Authentication Phase
Authorization Phase
Success!
Shibboleth ArchitectureConcepts (detail)
30
Target Web
Server
Origin Site Target Site
Browser
AttributeServer Shib
htaccessplugin
Club Shib Server (holds
certs and contracts)
Shibboleth ArchitectureConcepts #1 (managing trust)
31
Shibboleth Components
32
Descriptions of services
1. local authn server - assumed part of the campus environment
2. web sso server - typically works with local authn service to provide web single sign-on
3. resource manager proxy, resource manager - may serve as control points for actual web page access
4. attribute authority - assembles/disassembles/validates signed XML objects using attribute repository and policy tables
5. attribute repository - an LDAP directory, or roles database or….
6. Where are you from service - one possible way to direct external users to their own local authn service
7. attribute mapper - converts user entitlements into local authorization values
8. PDP - policy decision points - decide if user attributes meet authorization requirements
9. SHAR - Shibboleth Attribute Requestor - used by target to request user attributes
33
Shibboleth Flows Draft
34
Target Web
Server
Origin Site Target Site
Browser
Shibboleth Architecture -- Managing Trust
TRUST
AttributeServer
Shibengine
35
Personal Privacy
Web Login Server provides a pseudononymous identity
An Attribute Authority releases Personal Information associated with that pseudnonymous identity to site X based on:
• Site Defaults– Business Rules
• User control– myAA
• Filtered by– Contract provisions
My AASiteDefaults
Contact Provisions
BrowserUser
Middleware Marketing
37
Drivers of Vapor Convergence
JA-SIG uPortal Authen
OKI/Web Authentication
Shibboleth Inter-Realm AuthZ
Local Web SSO Pressures
We all get Web SSO for Local Authentication and an Enterprise Authorization Framework with an Integrated Portal that will all work inter-institutionally!
38
Middleware Inputs & Outputs
GridsGrids JA-SIG &JA-SIG &uPortaluPortalOKIOKI Inter-realmInter-realm
calendaringcalendaring
Shibboleth, eduPerson, Affiliated Dirs, etc.Shibboleth, eduPerson, Affiliated Dirs, etc.
EnterpriseEnterpriseDirectoryDirectory
EnterpriseEnterpriseAuthenticationAuthentication
LegacyLegacySystemsSystems
CampusCampusWeb SSOWeb SSO
futuresfutures
EnterpriseEnterpriseauthZauthZ
LicensedLicensedResourcesResources
EmbeddedEmbeddedApp SecurityApp Security
Got Directory?
40
Techniques for Product Independence
Good/Evil – make use of cool features of your product.
• Does this make it more difficult or impossible to switch products later?
• Does this make you less interoperable? Standard?
• Does this limit your ability to leverage common solutions?
All the above applies to enabled apps as well.
41
Groups, Groups, Groups
Static vs. Dynamic (issues of large groups)• Static Scalability, performance, bandwidth
• Dynamic Manageability (search based, but search limits)
Is there something neutral?
Indexed Static Groups• MACE-DIR consideration (Todd Piket, MTU)
• Index unique/member
• The likely approach, IMHO, doesn’t inhibit dynamic stuff
Group Math
(& (group=faculty)(!(group=adjunct)) (member=DN) )
42
Roles
Is this an LDAP issue?• MIT roles DB – a roles registry
Are groups good enough for now?• Probably not, see next
Are your apps prepared for this? Maybe they need some service to consult? Will Shibboleth help here?
Vendors have proprietary solutions.
43
Stitching disparate directories
How to relate to distinct directories and their entries. Kjk@colorado & kjk@ViDe -- are they the same?
Locate someone in a large directory (DoDHE) and then switch to their video abilities
Suggestion: define new object of a “data source directory”. Associate it with a Cert. Send signature of all data elements for an object, store in same. This allows for digital trust/verification. Still working this out. Not much work in this space? (the affiliated dirs problem)
X.520 AttributeIntegrityInfo Attribute – will it suffice?
Middleware 201Directories
Configuration & Operations
Michael R. Gettes
Principal Technologist
Georgetown University
45
How Deep?
Background
Site Profile - configuration
Applications
General Operational Controls
Schema
Access Lists
Replication
Related Directories
LDAP-Recipe – http://middleware.internet2.edu
46
Site Profiledc=georgetown,dc=edu
Netscape/iPlanet DS version 4.11• 2 Sun E250 dual cpu, 512MB RAM
75,000 DNs (25K campus, others = alums + etc)
Directory + apps implemented in 7 months
Distinguished names: uid=x,ou=people• DC rap, “Boom shacka lacka”• Does UUID in DN really work?
NSDS pre-op plugin (by [email protected])• Authentication over SSL; Required• Can do Kerberos – perf problems to resolve
1 supplier, 4 consumers
47
Authentication:Overall Plan @ Georgetown
Currently, Server-Side PKI self-signed
Best of all 3 worlds• LDAP + Kerberos + PKI
– LDAP Authentication performs Kerberos Authentication out the backend. Jan. 2001 to finish iPlanet plug-in.
• Credential Caching handled by Directory.• Cooperative effort – Georgetown, GATech, Michigan
– All directory authentications SSL protected. Enforced with necessary exceptions
• Use Kerberos for Win2K Services and to derive X.509 Client Certificates
• One Userid/Password (single-signon vs. FSO)
48
Applications
Mail routing with Sendmail 8.11 (lists also)
Netscape messaging server v 4.15 (IMAP)• WebMail profile stored in LDAP
Apache server for Netscape roaming (no SSL)
Apache & Netscape enterprise web servers
Blackboard CourseInfo Version 5.5.1
Whitepages: Directory Server GateWay
DSGW for priv’d access and maintenance
49
Applications (Continued)
Remote access with RADIUS (funk).• No SSL (3/2000); proper LDAP
binds (fix 8/2000)• Authenticates and authorizes for
dial-up, DSL and VPN services using RADIUS called-id.
• We want to use this for other access control such as Oracle
50
RADIUS server
RADIUS + LDAP
NAS(terminal server)
DialupUsers
User calls202-555-1110
CalledId from NAS is mapped to guRadProf
DirectoryServer
Netid = gettesguRadProf = 2025550001guRadProf = 2025551110guRadProf = OracleFin
LDAP Filter is:guRadProf = 2025551110+ NetID = gettes
51
Applications (Continued)
Alumni services (HoyasOnline).• External vendor in Dallas, TX (PCI).• They authenticate back to home
directories. Apache used to authenticate and proxy to backend IIS server.
• Email Forwarding for Life
52
NET ID
TMS
HRIS
SIS
Alumni
LDAP Master
Client Browser
WWW
hoyasonline Content
PCI (Dallas)
Vendor-provided services
Other local hostsGU provided self-serviceapplications
LDAP Replica
OS/390
HoyasOnline Architecture
Gratuitous Architectural Graphic (GAG)
WayDownIn Texas
53
Applications (Continued)
Access+• Georgetown developed• Web interface to legacy systems using Unix front-
end to custom made mainframe tasks. Many institutions have re-invented this wheel.
• LDAP authentication, mainframe doesn’t yet do SSL. Always exceptions to rules.
• Student, Faculty, Staff, Directory/Telephone Access+ Services. This technique keeps mainframe alive. (good or bad?)
54
Applications (Continued)
Specialized support apps• Self service mail routing• Help Desk: mail routing, password resets,
quota management via DSGW• Change password web page
Person registry populates LDAP people data, currently MVS (mainframe) based.
PerLDAP used quite a bit – very powerful! (make sure version >= 1.4)
Now moving to Net::LDAP
55
Applications (Continued)
Georgetown Netscape Communicator Client Customization Kit (CCK).• Configured for central IMAP/SSL and
directory services.• Handles versions of profiles. Poor man’s
MCD
Future: more apps! Host DB, Kerberos integration, win2k/ad integration?, Oracle RADIUS integration, Automatic lists, Dynamic/static Groups, Top-Secret, Bb – further integration.
56
General Operational Controls
Size limit trolling (300 or 20 entries?)
Lookthru limit (set very low)
Limit 3 processors for now, MP issues still! (v4)
100MB footprint, about 8000 DNs in cache• Your mileage will vary – follow cache
guidelines documented by iPlanet.
24x7 operations
What can users change?? (Very little)
No write intensive applications
57
General Ops Controls (cont…)
Anonymous access allowed
•Needed for email clients
•Anonymous access is good if you resolve FERPA and other data access issues.
58
Schema: Design & Maint
Unified namespace: there can be only one!
Schema design and maintenance• Space/time tradeoffs on indexing• Eduperson 1.0 vs. guPerson• guRestrict, guEmailBox, guAffil, guPrimAfil• guPWTimebomb, guRadProf, guType,
guSSN• Relationships (guref)
Maintained by ldif file using ldapmodify
59
Access ListsDesign & Maintenance
Access lists: design & maintenance• Buckley(FERPA) protection & services• Priv’d users and services• userPassword & SSN
Maintained by file using ldapmodify
Working on large group controls at GU• Groups vs. Roles• Likely easy to populate, hard to design & implement
60
Replication
Application/user performance
Failover, user and app service
Impact of DC= naming (replica init)• Fixed in 4.13 and iDS 5.0
Monitoring: web page and notification
Dumper replica – periodic LDIF dumps
Backups? We don’t need no stinkin’ backups!• Vendor Specific• No good solution for backups (iPlanet)• IBM uses DB2 under the covers• Novell?
61
Replication (Continued)
Application/users config for mult servers
Deterministic operations vs random
Failover works for online repairs
Config servers are replicated also
10 to 1 SRA/CRA ratio recommended
Cannot cascade with DC= (iPlanet)• Cascading is scary to me
62
Normal Ops
Replica Structure
MASTER
DUMPER
WHITEPAGES MAILHOST
POSTOFFICE
NetID RegistryWeb Servers
Users
Users
Failure Ops
63
Netscape Console
• Java program (FAT client).
• Used to create, configure and monitor Netscape servers.
• Preferred the web page paradigm of the version 3 products.
• Has enough bugs that it is only used by server admins, not for mere mortals.
• Demo???
64
Other Directories
Novell – GU abandoning GroupWise.
Active directory??? Ugh!!!•Static Groups Only•Strict Tree Structure for Group Policy•No plans for MS to change this…
65
Buyer Beware
• LDAP is LDAP is LDAP – yeah, right!
• “Sure! We support LDAP!” What does that mean?
• Contract for functionality and performance
• Include your Directory/Security Champion!!!
• Verify with other schools – so easy, rarely done.
• Beware of products that specify Dir Servers
• Get vendor to document product requirements and behavior. You paid for it!