84
February 6th, 2016 devconf.cz’16 Enterprise desktop at home with FreeIPA and GNOME Alexander Bokovoy ([email protected])

Enterprise desktop at home with FreeIPA and GNOME

Embed Size (px)

Citation preview

Page 1: Enterprise desktop at home with FreeIPA and GNOME

February 6th, 2016 devconf.cz’16

Enterprise desktop at home with FreeIPA andGNOME

Alexander Bokovoy ([email protected])

Page 2: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 2

Enterprise?

Page 3: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 3

* almost

local office network is not managed by a company’s IT department

Page 4: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 4

* almost

company services’ hosting is cloudythere is no one cloud to rule them all

Page 5: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 5

* almost

I have FEW identities:

▶ A corporate identity for services sign-on

▶ Home-bound identity to access local resources▶ Cloud-based (social networking) identities▶ Free Software hats to wear▶ Certificates and smart cards to present myself legally▶ Private data to protect and share

I want them to be usable at the same time

Page 6: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 6

* almost

I have FEW identities:

▶ A corporate identity for services sign-on▶ Home-bound identity to access local resources

▶ Cloud-based (social networking) identities▶ Free Software hats to wear▶ Certificates and smart cards to present myself legally▶ Private data to protect and share

I want them to be usable at the same time

Page 7: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 7

* almost

I have FEW identities:

▶ A corporate identity for services sign-on▶ Home-bound identity to access local resources▶ Cloud-based (social networking) identities

▶ Free Software hats to wear▶ Certificates and smart cards to present myself legally▶ Private data to protect and share

I want them to be usable at the same time

Page 8: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 8

* almost

I have FEW identities:

▶ A corporate identity for services sign-on▶ Home-bound identity to access local resources▶ Cloud-based (social networking) identities▶ Free Software hats to wear

▶ Certificates and smart cards to present myself legally▶ Private data to protect and share

I want them to be usable at the same time

Page 9: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 9

* almost

I have FEW identities:

▶ A corporate identity for services sign-on▶ Home-bound identity to access local resources▶ Cloud-based (social networking) identities▶ Free Software hats to wear▶ Certificates and smart cards to present myself legally

▶ Private data to protect and share

I want them to be usable at the same time

Page 10: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 10

* almost

I have FEW identities:

▶ A corporate identity for services sign-on▶ Home-bound identity to access local resources▶ Cloud-based (social networking) identities▶ Free Software hats to wear▶ Certificates and smart cards to present myself legally▶ Private data to protect and share

I want them to be usable at the same time

Page 11: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 11

I work on FreeIPA, https://www.freeipa.org

Management of identities and policies:

▶ stored centrally▶ applied locally

And it is available in:

▶ Fedora▶ Red Hat Enterprise Linux / CentOS▶ GNU/Linux Debian and Ubuntu▶ https://account.gnome.org/ runs FreeIPA since october 2014

Page 12: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 12

How enterprisey are we?

Page 13: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 13

Let’s score by a password

Page 14: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 14

Let’s score by a password

A typical workflow for every laptop reboot

1. Sign into a local system account (enter a password)

2. Jump onto virtual private network (enter a password or more)3. Obtain initial Kerberos credentials (enter a password)4. Use corporate applications (enter a password?)

Page 15: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 15

Let’s score by a password

A typical workflow for every laptop reboot

1. Sign into a local system account (enter a password)2. Jump onto virtual private network (enter a password or more)

3. Obtain initial Kerberos credentials (enter a password)4. Use corporate applications (enter a password?)

Page 16: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 16

Let’s score by a password

A typical workflow for every laptop reboot

1. Sign into a local system account (enter a password)2. Jump onto virtual private network (enter a password or more)3. Obtain initial Kerberos credentials (enter a password)

4. Use corporate applications (enter a password?)

Page 17: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 17

Let’s score by a password

A typical workflow for every laptop reboot

1. Sign into a local system account (enter a password)2. Jump onto virtual private network (enter a password or more)3. Obtain initial Kerberos credentials (enter a password)4. Use corporate applications (enter a password?)

Page 18: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 18

Can we do better than this?

how far are we from

▶ Sign into a corporate environment▶ Use corporate applications

?

Page 19: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 19

Let’s try to login!

Demo of interactive logon

Page 20: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 20

What was that?

▶ The system is configured to be a client for FreeIPA

▶ SSSD handles login and Kerberos keys▶ Login to the system is verified over public network using a proxy for Kerberos

protocol▶ Established VPN connection based on Kerberos ticket▶ Credentials were entered only once

Page 21: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 21

What was that?

▶ The system is configured to be a client for FreeIPA▶ SSSD handles login and Kerberos keys

▶ Login to the system is verified over public network using a proxy for Kerberosprotocol

▶ Established VPN connection based on Kerberos ticket▶ Credentials were entered only once

Page 22: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 22

What was that?

▶ The system is configured to be a client for FreeIPA▶ SSSD handles login and Kerberos keys▶ Login to the system is verified over public network using a proxy for Kerberos

protocol

▶ Established VPN connection based on Kerberos ticket▶ Credentials were entered only once

Page 23: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 23

What was that?

▶ The system is configured to be a client for FreeIPA▶ SSSD handles login and Kerberos keys▶ Login to the system is verified over public network using a proxy for Kerberos

protocol▶ Established VPN connection based on Kerberos ticket

▶ Credentials were entered only once

Page 24: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 24

What was that?

▶ The system is configured to be a client for FreeIPA▶ SSSD handles login and Kerberos keys▶ Login to the system is verified over public network using a proxy for Kerberos

protocol▶ Established VPN connection based on Kerberos ticket▶ Credentials were entered only once

Page 25: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 25

Kerberos proxyAvailable on the client side with Microsoft Active Directory and MIT Kerberos 1.13

▶ protocol is called MS-KKDCP▶ transparent for Kerberos library users

Kerberos proxy is implemented by FreeIPA 4.2, OpenConnect Server 7.05, and as astandalone server

▶ Requires HTTPS connection, set up by default in FreeIPA 4.2, very easy to use(one line change on the client)

▶ Allows to obtain tickets from anywhere▶ SSSD 1.12+▶ GNOME project uses KDC proxy to allow GSSAPI authentication in SSH for

GNOME developers

Page 26: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 26

VPN and Kerberos

OpenConnect client supports GSSAPI negotiation

▶ Fedora 22+ works out of the box

OpenVPN does not support GSSAPI negotiation

▶ to do since 2005

Support for GSSAPI in IPSEC is coming

Page 27: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 27

Could we enforce stronger authentication at a VPN edge?

▶ yes, we are be able to do so with Kerberos 1.14▶ two-factor authenticated Kerberos tickets get ‘otp’ authentication indicator▶ no practical implementation of enforcement in FreeIPA yet

Page 28: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 28

Two-factor authentication

FreeIPA 4.x supports 2FA natively

▶ Yubikey, FreeOTP client for Android and iOS, any HOTP/TOTP compatiblesoftware and hardware

▶ Two-factor authentication is enforced on Kerberos level▶ Performs pre-authentication before issuing a ticket▶ Authentication Indicators are in Kerberos 1.14▶ Pre-authentication modules can say how tickets were issued

Page 29: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 29

FreeOTP client for Android and iOS

Figure 1:

Page 30: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 30

Demo of interactive logon with 2FA

Let’s create a token for a user and logon with 2FA via Yubikey

Page 31: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 31

What was that?

1. One time password token was programmed to Yubikey and added for the user inFreeIPA

2. SSSD handles login and notices OTP pre-authentication support in Kerberosconversation

3. Login to the system is verified over public network using a proxy for Kerberosprotocol

4. Kerberos ticket is obtained, first factor is provided by SSSD to GDM for unlockingGNOME passwords and keys storage (SeaHorse)

5. Credentials were entered only once

Page 32: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 32

What was that?

1. One time password token was programmed to Yubikey and added for the user inFreeIPA

2. SSSD handles login and notices OTP pre-authentication support in Kerberosconversation

3. Login to the system is verified over public network using a proxy for Kerberosprotocol

4. Kerberos ticket is obtained, first factor is provided by SSSD to GDM for unlockingGNOME passwords and keys storage (SeaHorse)

5. Credentials were entered only once

Page 33: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 33

What was that?

1. One time password token was programmed to Yubikey and added for the user inFreeIPA

2. SSSD handles login and notices OTP pre-authentication support in Kerberosconversation

3. Login to the system is verified over public network using a proxy for Kerberosprotocol

4. Kerberos ticket is obtained, first factor is provided by SSSD to GDM for unlockingGNOME passwords and keys storage (SeaHorse)

5. Credentials were entered only once

Page 34: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 34

What was that?

1. One time password token was programmed to Yubikey and added for the user inFreeIPA

2. SSSD handles login and notices OTP pre-authentication support in Kerberosconversation

3. Login to the system is verified over public network using a proxy for Kerberosprotocol

4. Kerberos ticket is obtained, first factor is provided by SSSD to GDM for unlockingGNOME passwords and keys storage (SeaHorse)

5. Credentials were entered only once

Page 35: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 35

What was that?

1. One time password token was programmed to Yubikey and added for the user inFreeIPA

2. SSSD handles login and notices OTP pre-authentication support in Kerberosconversation

3. Login to the system is verified over public network using a proxy for Kerberosprotocol

4. Kerberos ticket is obtained, first factor is provided by SSSD to GDM for unlockingGNOME passwords and keys storage (SeaHorse)

5. Credentials were entered only once

Page 36: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 36

If Kerberos credentials are available, what can we do with them?

▶ Authenticate with GSSAPI against almost anything

▶ Obtain SAML assertion for other web services (and more)▶ Use to access networking file systems▶ Display properties of the available tickets▶ Renew the ticket granting ticket (TGT)▶ Choose which Kerberos principal is in use

Page 37: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 37

If Kerberos credentials are available, what can we do with them?

▶ Authenticate with GSSAPI against almost anything▶ Obtain SAML assertion for other web services (and more)

▶ Use to access networking file systems▶ Display properties of the available tickets▶ Renew the ticket granting ticket (TGT)▶ Choose which Kerberos principal is in use

Page 38: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 38

If Kerberos credentials are available, what can we do with them?

▶ Authenticate with GSSAPI against almost anything▶ Obtain SAML assertion for other web services (and more)▶ Use to access networking file systems

▶ Display properties of the available tickets▶ Renew the ticket granting ticket (TGT)▶ Choose which Kerberos principal is in use

Page 39: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 39

If Kerberos credentials are available, what can we do with them?

▶ Authenticate with GSSAPI against almost anything▶ Obtain SAML assertion for other web services (and more)▶ Use to access networking file systems▶ Display properties of the available tickets

▶ Renew the ticket granting ticket (TGT)▶ Choose which Kerberos principal is in use

Page 40: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 40

If Kerberos credentials are available, what can we do with them?

▶ Authenticate with GSSAPI against almost anything▶ Obtain SAML assertion for other web services (and more)▶ Use to access networking file systems▶ Display properties of the available tickets▶ Renew the ticket granting ticket (TGT)

▶ Choose which Kerberos principal is in use

Page 41: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 41

If Kerberos credentials are available, what can we do with them?

▶ Authenticate with GSSAPI against almost anything▶ Obtain SAML assertion for other web services (and more)▶ Use to access networking file systems▶ Display properties of the available tickets▶ Renew the ticket granting ticket (TGT)▶ Choose which Kerberos principal is in use

Page 42: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 42

Authenticate with GSSAPI

Epiphany, the GNOME Web Browser, in GNOME 3.18:

▶ GSSAPI support is no more, depends on libsoup support

▶ libsoup has been dragging since 2009, bug #587145▶ WebkitGtk is unusable for SAML/OAuth2 interactions involving Kerberos▶ One cannot use Google apps with GSSAPI in Gnome Online Accounts▶ No single sign-on with GSSAPI from GNOME applications using WebkitGtk to

authenticate

Page 43: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 43

Authenticate with GSSAPI

Epiphany, the GNOME Web Browser, in GNOME 3.18:

▶ GSSAPI support is no more, depends on libsoup support▶ libsoup has been dragging since 2009, bug #587145

▶ WebkitGtk is unusable for SAML/OAuth2 interactions involving Kerberos▶ One cannot use Google apps with GSSAPI in Gnome Online Accounts▶ No single sign-on with GSSAPI from GNOME applications using WebkitGtk to

authenticate

Page 44: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 44

Authenticate with GSSAPI

Epiphany, the GNOME Web Browser, in GNOME 3.18:

▶ GSSAPI support is no more, depends on libsoup support▶ libsoup has been dragging since 2009, bug #587145▶ WebkitGtk is unusable for SAML/OAuth2 interactions involving Kerberos

▶ One cannot use Google apps with GSSAPI in Gnome Online Accounts▶ No single sign-on with GSSAPI from GNOME applications using WebkitGtk to

authenticate

Page 45: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 45

Authenticate with GSSAPI

Epiphany, the GNOME Web Browser, in GNOME 3.18:

▶ GSSAPI support is no more, depends on libsoup support▶ libsoup has been dragging since 2009, bug #587145▶ WebkitGtk is unusable for SAML/OAuth2 interactions involving Kerberos▶ One cannot use Google apps with GSSAPI in Gnome Online Accounts

▶ No single sign-on with GSSAPI from GNOME applications using WebkitGtk toauthenticate

Page 46: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 46

Authenticate with GSSAPI

Epiphany, the GNOME Web Browser, in GNOME 3.18:

▶ GSSAPI support is no more, depends on libsoup support▶ libsoup has been dragging since 2009, bug #587145▶ WebkitGtk is unusable for SAML/OAuth2 interactions involving Kerberos▶ One cannot use Google apps with GSSAPI in Gnome Online Accounts▶ No single sign-on with GSSAPI from GNOME applications using WebkitGtk to

authenticate

Page 47: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 47

Can we do better than this?

Page 48: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 48

What was that?

Tomáš Popela (Red Hat) and David Woodhouse (Intel) worked to fix libsoup andWebkitGtk

This laptop is running an experimental build of themWe logged into my FreeIPA server’s Web UIHopefully, the code will be in the next GNOME release

Page 49: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 49

But can we do more than that? Administering is a boring task!

Page 50: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 50

What was that?

▶ Ipsilon as an Identity Provider (IdP) taking user information from FreeIPA

▶ Listen to Patrick Uiterwijk’s talk on Sunday, same time (13:10 – 13:50)▶ Google Apps as a Service Provider (SP) talking to FreeIPA via Ipsilon’s IdP▶ Users from FreeIPA can logon to Google Apps if admin did pre-create accounts for

them▶ At no point Google has access to FreeIPA users’ credentials▶ GNOME Online Accounts now configured to access Google Apps’ services

Page 51: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 51

What was that?

▶ Ipsilon as an Identity Provider (IdP) taking user information from FreeIPA▶ Listen to Patrick Uiterwijk’s talk on Sunday, same time (13:10 – 13:50)

▶ Google Apps as a Service Provider (SP) talking to FreeIPA via Ipsilon’s IdP▶ Users from FreeIPA can logon to Google Apps if admin did pre-create accounts for

them▶ At no point Google has access to FreeIPA users’ credentials▶ GNOME Online Accounts now configured to access Google Apps’ services

Page 52: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 52

What was that?

▶ Ipsilon as an Identity Provider (IdP) taking user information from FreeIPA▶ Listen to Patrick Uiterwijk’s talk on Sunday, same time (13:10 – 13:50)▶ Google Apps as a Service Provider (SP) talking to FreeIPA via Ipsilon’s IdP

▶ Users from FreeIPA can logon to Google Apps if admin did pre-create accounts forthem

▶ At no point Google has access to FreeIPA users’ credentials▶ GNOME Online Accounts now configured to access Google Apps’ services

Page 53: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 53

What was that?

▶ Ipsilon as an Identity Provider (IdP) taking user information from FreeIPA▶ Listen to Patrick Uiterwijk’s talk on Sunday, same time (13:10 – 13:50)▶ Google Apps as a Service Provider (SP) talking to FreeIPA via Ipsilon’s IdP▶ Users from FreeIPA can logon to Google Apps if admin did pre-create accounts for

them

▶ At no point Google has access to FreeIPA users’ credentials▶ GNOME Online Accounts now configured to access Google Apps’ services

Page 54: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 54

What was that?

▶ Ipsilon as an Identity Provider (IdP) taking user information from FreeIPA▶ Listen to Patrick Uiterwijk’s talk on Sunday, same time (13:10 – 13:50)▶ Google Apps as a Service Provider (SP) talking to FreeIPA via Ipsilon’s IdP▶ Users from FreeIPA can logon to Google Apps if admin did pre-create accounts for

them▶ At no point Google has access to FreeIPA users’ credentials

▶ GNOME Online Accounts now configured to access Google Apps’ services

Page 55: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 55

What was that?

▶ Ipsilon as an Identity Provider (IdP) taking user information from FreeIPA▶ Listen to Patrick Uiterwijk’s talk on Sunday, same time (13:10 – 13:50)▶ Google Apps as a Service Provider (SP) talking to FreeIPA via Ipsilon’s IdP▶ Users from FreeIPA can logon to Google Apps if admin did pre-create accounts for

them▶ At no point Google has access to FreeIPA users’ credentials▶ GNOME Online Accounts now configured to access Google Apps’ services

Page 56: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 56

What does GSSAPI support open for use in GNOME Online Accounts?

▶ Single sign-on is the primary feature

▶ Automated credentials renewal▶ Automated token/assertion renewal for SAML/OpenID▶ No need to store passwords locally (secure kiosks?)

Page 57: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 57

What does GSSAPI support open for use in GNOME Online Accounts?

▶ Single sign-on is the primary feature▶ Automated credentials renewal

▶ Automated token/assertion renewal for SAML/OpenID▶ No need to store passwords locally (secure kiosks?)

Page 58: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 58

What does GSSAPI support open for use in GNOME Online Accounts?

▶ Single sign-on is the primary feature▶ Automated credentials renewal▶ Automated token/assertion renewal for SAML/OpenID

▶ No need to store passwords locally (secure kiosks?)

Page 59: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 59

What does GSSAPI support open for use in GNOME Online Accounts?

▶ Single sign-on is the primary feature▶ Automated credentials renewal▶ Automated token/assertion renewal for SAML/OpenID▶ No need to store passwords locally (secure kiosks?)

Page 60: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 60

Visualize

GNOME Online Accounts could show Kerberos ticket properties

▶ Ticket time validity, flags (forward, renewal)▶ Authentication indicators▶ Existing service tickets in the credentials cache and allow to remove them

selectively▶ Allow automatic ticket renewal if KDC permits it

Page 61: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 61

Visualize

And choose between different Kerberos principals

▶ MIT Kerberos supports kernel keyring (1.12+) and directory-based (1.11+)storage of credentials

▶ Multiple Kerberos principals can be stored and used at the same time▶ Only a single principal can be defined as “primary” for each Kerberos realm in the

collection of credentials

Page 62: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 62

Kerberos ticket renewal

▶ SSSD supports automatic Kerberos ticket renewal for single factor cases▶ Renewing 2FA tickets requires UI interaction triggered by expiry time▶ Automatic ticket renewal requires permission from KDC, visible as a ticket flag

▶ GNOME Online Accounts could integrate with SSSD in prompting for credentials(multiple factors) in 2FA case needed information could be provided via SSSDInfoPipe/AuthPipe

Page 63: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 63

Better Kerberos in browsers

▶ Firefox Kerberos setup isn’t nice▶ needs about:config manipulation▶ DNS domains associated with Kerberos realm could be discovered via DNS SRV

records, prompted for confirmation once

▶ FreeIPA used to provide an extension to automate Firefox setup▶ Extension was generated locally for for each FreeIPA deployment to provide

configuration details▶ not anymore: Firefox removed ability to provide non-publicly available extensions

since version 43

Page 64: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 64

Better Kerberos in browsers

▶ Chromium/Chrome▶ Have bugs for processing of WWW-Authenticate: Negotiate when Kerberos

credentials are not available▶ On Linux only allows to configure Kerberos use through command line or statically

system-wide, poor user experience

▶ A fixed libsoup/WebkitGtk allows to always use GSSAPI if server advertisesWWW-Authenticate: Negotiate over HTTPS

▶ no need to configure anything in Epiphany▶ could be further confined with a user confirmation similar to how passwords are

managed on first use

▶ Konqueror browser in KDE allows to always use GSSAPI if server advertisesWWW-Authenticate: Negotiate over HTTPS

Page 65: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 65

Better Kerberos in browsers

▶ GSSAPI flow is synchronous, needs better UI interaction to avoid hogging downother tabs

▶ still major issue for many browsers

Page 66: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 66

Any practical use of it?

Page 67: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 67

What was that?

▶ I set up Ipsilon to authenticate against my FreeIPA server

▶ I set up Owncloud instance and created a simple application to do login via IpsilonSAML

▶ Successfully logged-in users get created in Owncloud if they belong to a certaingroup in FreeIPA

▶ No need to enter password if Kerberos credentials are available▶ Credentials were entered only once

Page 68: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 68

What was that?

▶ I set up Ipsilon to authenticate against my FreeIPA server▶ I set up Owncloud instance and created a simple application to do login via Ipsilon

SAML

▶ Successfully logged-in users get created in Owncloud if they belong to a certaingroup in FreeIPA

▶ No need to enter password if Kerberos credentials are available▶ Credentials were entered only once

Page 69: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 69

What was that?

▶ I set up Ipsilon to authenticate against my FreeIPA server▶ I set up Owncloud instance and created a simple application to do login via Ipsilon

SAML▶ Successfully logged-in users get created in Owncloud if they belong to a certain

group in FreeIPA

▶ No need to enter password if Kerberos credentials are available▶ Credentials were entered only once

Page 70: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 70

What was that?

▶ I set up Ipsilon to authenticate against my FreeIPA server▶ I set up Owncloud instance and created a simple application to do login via Ipsilon

SAML▶ Successfully logged-in users get created in Owncloud if they belong to a certain

group in FreeIPA▶ No need to enter password if Kerberos credentials are available

▶ Credentials were entered only once

Page 71: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 71

What was that?

▶ I set up Ipsilon to authenticate against my FreeIPA server▶ I set up Owncloud instance and created a simple application to do login via Ipsilon

SAML▶ Successfully logged-in users get created in Owncloud if they belong to a certain

group in FreeIPA▶ No need to enter password if Kerberos credentials are available▶ Credentials were entered only once

Page 72: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 72

Oops, I “invented” Owncloud Enteprise Edition?

Page 73: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 73

Better support for SAML in GNOME Online Accounts

GNOME Online Accounts doesn’t support SAML for arbitrary provider

▶ One cannot setup own Owncloud account in GNOME without entering passwords▶ Have to use separate Owncloud end-point for non-SAML logon

Page 74: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 74

Certificates

FreeIPA 4.2 supports issuing x.509 certificates to usersFreeIPA 4.2 adds per-user vault to store keys and credentials wrapped into anencrypted blob

▶ authentication to password vaults is GSSAPI-based▶ multiple clients can use unique public/private key pairs to derive their access to

user’s vault▶ SSSD 1.13 allows to authenticate with certificates▶ Certificates can come from any OpenSC and coolkey compatible devices

Page 75: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 75

How enterprisey our home could become?

Page 76: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 76

What is that?

▶ FreeIPA has a cross-forest trust to Active Directory forest

▶ Ipsilon is configured to accept all valid users provided by FreeIPA▶ Active Directory users are valid ones, with fully qualified user names to

differentiate them from IPA users▶ Active Directory administrator signed into Owncloud as a normal user▶ Credentials were entered only once

Page 77: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 77

What is that?

▶ FreeIPA has a cross-forest trust to Active Directory forest▶ Ipsilon is configured to accept all valid users provided by FreeIPA

▶ Active Directory users are valid ones, with fully qualified user names todifferentiate them from IPA users

▶ Active Directory administrator signed into Owncloud as a normal user▶ Credentials were entered only once

Page 78: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 78

What is that?

▶ FreeIPA has a cross-forest trust to Active Directory forest▶ Ipsilon is configured to accept all valid users provided by FreeIPA▶ Active Directory users are valid ones, with fully qualified user names to

differentiate them from IPA users

▶ Active Directory administrator signed into Owncloud as a normal user▶ Credentials were entered only once

Page 79: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 79

What is that?

▶ FreeIPA has a cross-forest trust to Active Directory forest▶ Ipsilon is configured to accept all valid users provided by FreeIPA▶ Active Directory users are valid ones, with fully qualified user names to

differentiate them from IPA users▶ Active Directory administrator signed into Owncloud as a normal user

▶ Credentials were entered only once

Page 80: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 80

What is that?

▶ FreeIPA has a cross-forest trust to Active Directory forest▶ Ipsilon is configured to accept all valid users provided by FreeIPA▶ Active Directory users are valid ones, with fully qualified user names to

differentiate them from IPA users▶ Active Directory administrator signed into Owncloud as a normal user▶ Credentials were entered only once

Page 81: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 81

What benefits do we get by becoming enterprisey with FreeIPA andGNOME?

1. Control your own infrastructure

2. Improve user experience by reducing number of password/logon interactions3. Profit?

Page 82: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 82

What benefits do we get by becoming enterprisey with FreeIPA andGNOME?

1. Control your own infrastructure2. Improve user experience by reducing number of password/logon interactions

3. Profit?

Page 83: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 83

What benefits do we get by becoming enterprisey with FreeIPA andGNOME?

1. Control your own infrastructure2. Improve user experience by reducing number of password/logon interactions3. Profit?

Page 84: Enterprise desktop at home with FreeIPA and GNOME

Enterprise desktop at home with FreeIPA and GNOME 84

Questions?