shibboleth: theory and application...1998 • xml euphoria, sgml popularity withering • sgml open...

51
Shibboleth: Theory and Application John VanDyk ISU Biology IT http://www.biology-it.iastate.edu WebSIG February 26, 2015

Upload: others

Post on 04-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Shibboleth: Theory and Application

John VanDyk ISU Biology IT

http://www.biology-it.iastate.edu !

WebSIG February 26, 2015

Page 2: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

shibboleth: n. a custom, principle, or belief distinguishing a particular class or group of people

Page 3: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

"Scheveningen"

http://en.wikipedia.org/wiki/List_of_shibboleths#Dutch.E2.80.93German

Page 4: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

History of Shibboleth(the technology)

Page 5: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

1993

• SGML Open group formed

• Mission: promote interoperability among SGML products

Page 6: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

1998

• XML euphoria, SGML popularity withering

• SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Page 7: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Heard of these OASIS standards?

• AMQP (Advanced Message Queueing Protocol)

• DocBook

• ODF (Open Document Format)

• SAML (Security Assertion Markup Language)

Page 8: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Shibboleth is:An implementation of SAML !

Federated single signon and attribute exchange !

Open source, Apache license

https://shibboleth.net

Page 9: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Concepts

IdP

Identity Provider

(authentication happens here)

Page 10: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Concepts

IdP

Identity Provider

Page 11: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Concepts

IdP

Identity ProviderService Provider

Page 12: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Concepts

IdP

Identity ProviderService Provider

SAML blah blah?

Page 13: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Concepts

IdP

Identity ProviderService Provider

SAML blah blah!

OK, thanks!

Page 14: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

• Your webserver IS the Service Provider

Page 15: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Setting up a Service Provider

• Prerequisites

• Packages

• Configuration

• Testing

Page 16: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Prerequisites

• Resolvable DNS name

• SSL certificate

• httpd 2.2 (RHEL6) or 2.4 (RHEL7)

Page 17: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Packages

http://download.opensuse.org/repositories/security://shibboleth/Shibboleth yum repositories:

Page 18: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

# curl http://download.opensuse.org/repositories/security://shibboleth/RHEL_6/security:shibboleth.repo > \ /etc/yum.repos.d/shibboleth.repo !# yum install shibboleth

Breaking news: !

Running RHEL7? Shibboleth package available from campus Satellite server (or will be soon).

Page 19: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

================================================================================ Package Arch Version Repository Size================================================================================Installing: shibboleth x86_64 2.5.3-1.1.el6 security_shibboleth 1.3 MInstalling for dependencies: libcurl-openssl x86_64 7.33.0-1.1.el6 security_shibboleth 190 k liblog4shib1 x86_64 1.0.8-1.1.el6 security_shibboleth 69 k libsaml8 x86_64 2.5.3-1.1.el6 security_shibboleth 965 k libxerces-c-3_1 x86_64 3.1.1-2.4.el6 security_shibboleth 878 k libxml-security-c17 x86_64 1.7.2-2.1.el6 security_shibboleth 274 k libxmltooling6 x86_64 1.5.3-1.1.el6 security_shibboleth 687 k opensaml-schemas x86_64 2.5.3-1.1.el6 security_shibboleth 30 k unixODBC x86_64 2.2.14-14.el6 rhel-x86_64-server-6 378 k xmltooling-schemas x86_64 1.5.3-1.1.el6 security_shibboleth 12 k!Transaction Summary================================================================================Install 10 Package(s)!Total download size: 4.7 M

Page 20: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

# rpm -ql shibboleth/etc/httpd/conf.d/shib.conf/etc/rc.d/init.d/shibd/etc/shibboleth/etc/sysconfig/shibd/usr/bin/mdquery/usr/bin/resolvertest/usr/lib64/libshibsp-lite.so.6/usr/lib64/libshibsp-lite.so.6.0.3/usr/lib64/libshibsp.so.6/usr/lib64/libshibsp.so.6.0.3/usr/lib64/shibboleth/usr/lib64/shibboleth/adfs-lite.so/usr/lib64/shibboleth/adfs.so/usr/lib64/shibboleth/mod_shib_22.so/usr/lib64/shibboleth/odbc-store.so/usr/lib64/shibboleth/plugins-lite.so/usr/lib64/shibboleth/plugins.so/usr/sbin/shibd/usr/share/doc/shibboleth-2.5.3/usr/share/shibboleth/usr/share/shibboleth/main.css/usr/share/xml/shibboleth/var/cache/shibboleth/var/log/shibboleth/var/run/shibboleth

What’s in this shibboleth package anyway?

Page 21: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

# rpm -ql shibboleth/etc/httpd/conf.d/shib.conf/etc/rc.d/init.d/shibd/etc/shibboleth/etc/sysconfig/shibd/usr/bin/mdquery/usr/bin/resolvertest/usr/lib64/libshibsp-lite.so.6/usr/lib64/libshibsp-lite.so.6.0.3/usr/lib64/libshibsp.so.6/usr/lib64/libshibsp.so.6.0.3/usr/lib64/shibboleth/usr/lib64/shibboleth/adfs-lite.so/usr/lib64/shibboleth/adfs.so/usr/lib64/shibboleth/mod_shib_22.so/usr/lib64/shibboleth/odbc-store.so/usr/lib64/shibboleth/plugins-lite.so/usr/lib64/shibboleth/plugins.so/usr/sbin/shibd/usr/share/doc/shibboleth-2.5.3/usr/share/shibboleth/usr/share/shibboleth/main.css/usr/share/xml/shibboleth/var/cache/shibboleth/var/log/shibboleth/var/run/shibboleth

Apache mod_shib_2x and configuration

Page 22: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

# rpm -ql shibboleth/etc/httpd/conf.d/shib.conf/etc/rc.d/init.d/shibd/etc/shibboleth/etc/sysconfig/shibd/usr/bin/mdquery/usr/bin/resolvertest/usr/lib64/libshibsp-lite.so.6/usr/lib64/libshibsp-lite.so.6.0.3/usr/lib64/libshibsp.so.6/usr/lib64/libshibsp.so.6.0.3/usr/lib64/shibboleth/usr/lib64/shibboleth/adfs-lite.so/usr/lib64/shibboleth/adfs.so/usr/lib64/shibboleth/mod_shib_22.so/usr/lib64/shibboleth/odbc-store.so/usr/lib64/shibboleth/plugins-lite.so/usr/lib64/shibboleth/plugins.so/usr/sbin/shibd/usr/share/doc/shibboleth-2.5.3/usr/share/shibboleth/usr/share/shibboleth/main.css/usr/share/xml/shibboleth/var/cache/shibboleth/var/log/shibboleth/var/run/shibboleth

shibd startup, user and library pointers

and binary

Page 23: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

# rpm -ql shibboleth/etc/httpd/conf.d/shib.conf/etc/rc.d/init.d/shibd/etc/shibboleth/etc/sysconfig/shibd/usr/bin/mdquery/usr/bin/resolvertest/usr/lib64/libshibsp-lite.so.6/usr/lib64/libshibsp-lite.so.6.0.3/usr/lib64/libshibsp.so.6/usr/lib64/libshibsp.so.6.0.3/usr/lib64/shibboleth/usr/lib64/shibboleth/adfs-lite.so/usr/lib64/shibboleth/adfs.so/usr/lib64/shibboleth/mod_shib_22.so/usr/lib64/shibboleth/odbc-store.so/usr/lib64/shibboleth/plugins-lite.so/usr/lib64/shibboleth/plugins.so/usr/sbin/shibd/usr/share/doc/shibboleth-2.5.3/usr/share/shibboleth/usr/share/shibboleth/main.css/usr/share/xml/shibboleth/var/cache/shibboleth/var/log/shibboleth/var/run/shibboleth

/etc/shibboleth configuration directory

Page 24: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Configuration

Page 25: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

http

://co

mm

ons.

wik

imed

ia.o

rg/w

iki/F

ile%

3ATo

wn_

crie

r%2C

_Ply

mou

th%

2C_D

evon

%2C

_Eng

land

_-_2

0101

030.

jpg

Get!yer!

shibboleth!configs!

Page 26: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)
Page 27: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)
Page 28: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Instructions!

Page 29: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Webserver with no virtual host (URL is DNS name of box)

Page 30: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Virtual host foo.ent.iastate.edu on server www.ent.iastate.edu

Page 31: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

/var/www/html/www.ent.iastate.edu/secretplace.htaccess

AllowOverride All

httpd.conf

htdocs

AuthType shibboleth ShibRequestSetting requireSession 1 Require shibboleth ShibRedirectToSSL 443

test.html

Page 32: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

GET /secretplace/test.html

Browser requests test.html

Page 33: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

GET /secretplace/test.html

Browser requests test.html

Whoa! That's protected!

This is a job for... mod_shib!

Page 34: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

GET /secretplace/test.html

Browser requests test.html

Whoa! That's protected!

This is a job for... mod_shib!

mod_shib here! If SELinux lets me I'll have shibd do my

bidding

Page 35: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

Service Provider redirects to Identity Provider with SAML Request in Query String

HTTP/1.1 302 Found Location: https://shibboleth.iastate.edu/idp/profile/SAML2/Redirect/SSO?SAMLRequest=fZLRboIwFIZfhfReio0Ka4SE6cVM3CVCdrGbpcBxNIGW9RTd3n4oGt0uvO5%2Fvr%2Fny5mjaOqWx52t1Ba%2BOkDrfDe1Qn56CElnFNcCJXIlGkBuC57Gz2vOXI%2B3Rltd6Jo4MSIYK7VaaIVdAyYFs5cFvG7XIamsbZFT2hrYSzgwF5R1pUArLLhQdjStZJ7rGmzlImp65DOabNKMOMv%2BQ1KJI%2FoKwmv%2BFiPLtu%2FQO1nDmbGFUhooLE3TDXFWy5B8zPzJLnjIg0kR%2BHkwhuCBCS8QZZn7ICZB3scQO1ipnqtsSJg3no48NmKzzGN8POXMfydOct78UapSqs%2F7mvIhhPwpy5LRsNcbGDzt1AdIND%2FK5qdic6P%2FPlZcnJPoIua%2F2Itxiu2c3nQMhS1%2F6aGrZaJrWfw4cV3rw8JAPxySMaHRMPL3OKJf&RelayState=ss%3Amem%3A845a3583fad28f9a6fa88e031ece94c79c0bac7e08131fb352c57f313000fd40

Page 36: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

Identity Provider does Authentication

IdP

Identity Provider

GETPOST

Page 37: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

Identity Provider Sends Browser Back to Service Provider

IdP

Identity Provider

Here's some JSYou

authenticated! Now go back

to your SP

Page 38: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

Browser POSTS SAML to Service Provider

POST /Shibboleth.sso/SAML2/POST

Content of POST contains user attributes

Page 39: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

Browser POSTS SAML to Service Provider

POST /Shibboleth.sso/SAML2/POST

Content of POST contains user attributes !Signed with IdP's private key !Encrypted to SP's public cert

Page 40: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

Service Provider Redirects to Original URL

302 Found Location: /secretplace/test.html

Page 41: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

GET /secretplace/test.html

Browser requests test.html

Hey, you've got a session cookie! Here's your page. And shibd

told me to send along a bunch of attributes.

Page 42: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Got it?Because we are going deeper.

Page 43: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

What about Luggage ISU? How does it integrate with Shibboleth?

Page 44: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

GET /login

Browser requests login

Page 45: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

302 Found Location: /shibboleth/pc

Luggage redirects login to shibboleth/pc

Page 46: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

GET /shibboleth/pc

shibboleth directory has .htaccess file

Whoa! That's protected!

This is a job for... mod_shib!

Page 47: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Lots of Redirects and SAML

Page 48: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

Service Provider Redirects to Original URL

302 Found Location: /shibboleth/pc

Page 49: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Service Provider

GET /shibboleth/pc

shibboleth/pc is a virtual path that maps to a callback inLuggage isushib module

Page 50: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Luggage• Verifies that browser has shibboleth session

• Creates user account (if on ACL)

• Populates any fields from shibboleth attributes

• Logs in user

• Creates "people" profile

• Populates profile from shibboleth attributes

Page 51: Shibboleth: Theory and Application...1998 • XML euphoria, SGML popularity withering • SGML Open becomes Organization for the Advancement of Structured Information Standards (OASIS)

Thank You

• Jason White, ITS

• https://shib.ncsu.edu/docs/shiblogindetails.html