session 3 - apan.netidentification is the assignation of a party to a defined group. it entails...

42
Session 3: Hands on Session: Access Management

Upload: others

Post on 03-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Session 3: Hands on Session: Access Management

Page 2: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Hands on session building on the base infrastructure adding and Identity Provider and Service Providers to the organization

Page 3: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

1. Identity Domains

Page 4: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Digital identity services exist so that relationships can be mediated by

information systems. The requirements for managing digitally

mediated relationships have not changed since the first multi user

computer systems were developed. Whenever the parties to a

relationship are represented by information the following three

problems need to be solved:

1: How can one party in a relationship identify the other party?

2: How can parties continue their relationship over time?

3: How can parties in a relationship trust each other?

This presentation will provide and quick overview of the Identity

domain patterns that are commonly in use.

Page 5: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Identification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party is.

Continuity is the consistency and coherence of information and behaviour over time and among different parties.

Trust is the confidence in the credibility of identity information a party needs to be able to proceed with an identity dependent transaction.

Terms

Page 6: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

identity domainAn identity domain is any collection of systems that can recognise and remember identities using the same identifiers and identity attributes.

Identity systems fall into a number of relatively stable architectural patterns.

Page 7: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Identity Domain Patterns× Isolated× Centralised× Federated× User-Centric

Page 8: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Isolated Identity DomainIsolated identity domains are created when systems or service produce and manage identities with no reference to identities in other systems.

The main advantages of isolated domains are that they limit the effects of malevolent access and safeguard privacy.

× Linux /etc/passwd× Stand alone desktops× Specialized instrumentation

Page 9: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Centralised Identity DomainCentralised identity domains provide special-purpose systems that produce common services for use by a number of system.

Usually, a centralised identity domain is closely bound to an organisation’s network security infrastructure, and recognition and identification is limited to systems with shared access to a common security architecture entailing certificate servers, network host registries, directories and local authentication services.

Page 10: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Federated Identity DomainFederated identity domains uncouple identity provision from entitlement management (service provision).

During an access request an identity provider attests to the authenticity of the requesting identity. The service provider then decides the entitlements it will grant the identity holder - often based on additional information provided by the identity provider. In other words, federation is designed to extend the domain in which an identity can be recognised.

Page 11: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

“User-Centric” Identity DomainsUser-centric identity domains give users greater control over their personal information.

Users are allowed to choose identity providers independently of service providers.

Identity providers act as trusted third parties to store user account and profile information and authenticate users, and service providers accept assertions or claims about users from identity providers.

Page 12: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

ReferencesIdEAs, Identity. Entitlement. Access. Analytics. A framework for producing and managing digital identity services in Higher Education. Ric Phillips, Monash University.

Page 13: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

2. Hands on session

Page 14: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

With the basic building blocks in place we will turn our attention to

providing a simple access management layer to the organization.

Services could directly integrate with a base LDAP service but this can

have an adverse effect on the risk associated with the access layer

particularly for cloud based services.

● Current best practice has identified that the authentication process should be

separated away from services and be performed be a dedicated secure service

operated by the organization. This will ensure the a rogue service will never

have access to a user's credentials.

Page 15: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Setting up a Shibboleth

Identity Provider

Page 16: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

× Use the AAF IdP Installer× Register the IdP× Consume Metadata× Basic testing× Review the setup

Overview

Page 17: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

The AAF IdP Installer× Installs and configures the Shibboleth IdP× Uses Ansible (open source deployment and orchestration

tool)

× Repeatable, consistent, reduces errors, lowers maintenance

× Used by most AAF members running an IdP

Page 18: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Server

10.10.10.11 - apan-idp.aaftest.xyz

Page 19: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Download the bootstrap.sh scriptGo to https://ausaccessfed.github.io/shibboleth-idp-installer/ for full instructions.

curl https://raw.githubusercontent.com/ausaccessfed/shibboleth-idp-installer/master/bootstrap.sh > bootstrap.sh && chmod u+x bootstrap.sh

Page 20: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Edit BootstrapDocumentation within the script describers the values that are required.

Page 21: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Run the bootstrap.sh scriptAs root run the script.

On completion the IdP should be installed and running!

The bootstrap.sh script should only be run once!

Page 22: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Ensure it worked× The script completed!× Jetty is running

× ps ax | grep jetty

× Check the IdP logs× grep ERROR /var/log/shibboleth-idp/*.log

Page 23: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Change the EntityIDTo avoid conflicts change the entityID of your IdP.

Edit the file: /opt/shibboleth-idp-installer/repository/host_vars/apan-idp.aaftest.xyz

Modify the idp_entity_id value

Page 24: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Update the IdP

Run the update_idp.sh script

This will update the IdP configuration based on the setting in the repository.

Page 25: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Increase EntropySlow starts could be a result of low entropy. Virtual machines can suffer from thiscat /proc/sys/kernel/random/entropy_avail

Install haveged to resolve, enable and startyum install haveged

Systemctl enable haveged

Systemctl start haveged

Page 26: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Register the IdPAPAN Jagger: https://rr.aaftest.xyz/rr3

Page 27: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Get the Metadata× Update metadata_url and

federation_group_id in hosts file× Remove SignatureValidation in

metadata-providers.xml× Re run update_idp.sh

Page 28: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Explore the IdP

Page 29: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Setting up a Shibboleth

Service Provider

Page 30: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

× Install and configure Shibboleth SP× Register SP× Test SP× Install and configure simple application

OVERVIEW

Page 31: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Server

10.10.10.14 - apan-sp.aaftest.xyz

Page 32: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Install Softwareyum install -y httpd mod_ssl wget

wget http://download.opensuse.org/repositories/security:/shibboleth/CentOS_7/security:shibboleth.repo -P /etc/yum.repos.d

yum install -y shibboleth

Page 33: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Configure Shibboleth SPEdit /etc/shibboleth/shibboleth2.xml× Change the SP’s entityID× Set the SSO entityID to your IdP’s entityID× Load metadata (no signature)

Page 34: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Start Service Provider× systemctl enable httpd× systemctl start httpd× systemctl enable shibd× systemctl start shibd

Checks/var/log/shibboleth/*

/var/cache/shibboleth/federation-metadata.xml

https://apan-sp.aaftest.xyz/secure

Page 35: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Register the SPAPAN Jagger: https://rr.aaftest.xyz/rr3

Page 36: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Force a Metadata readload on the IdP

Page 37: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

First login

http://apan-sp.aaftest.xyz

Page 38: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Adding a SimpleApplication

Page 39: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Install PHP and GITyum install -y php git

Page 40: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Download the APP from Githubgit clone https://github.com/APAN-TF-IAM/Attribute-Mirror.git

cd Attribute-Mirror/src

mkdir /var/www/html/secure

cp -r * /var/www/html/secure

Page 41: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Attributes for the SPEdit shibboleth2.xml× attributePrefix="APAN-"

Edit attribute-map.xml× Uncomment attributes you require

× All of them for this SP

Page 42: Session 3 - apan.netIdentification is the assignation of a party to a defined group. It entails recognising to which group a party belongs, and which member of the group that party

Restart and loginsystemctl restart httpd

systemctl restart shibd

http://apan-sp.aaftest.xyz/secure