Dostawca tożsamości (IdP) Dostawca usługi (SP) SimpleSAMLphp

Slides:



Advertisements
Podobne prezentacje
Zastosowanie LDAP w obsłudze katalogów bibliotecznych
Advertisements

Usługi sieciowe Wykład 6 Apache2- debian
Wykorzystanie konta uczelnianego dla potrzeb stron WWW
Skrócona instrukcja składania wniosków o zmianę wpisu do Rejestru Podmiotów Wykonujących Działalność Leczniczą z użyciem profilu zaufanego (e-PUAP) lub.
Biblioteka Uniwersytecka w Warszawie Czerwca 2011
Kamil Smitkiewicz Bezpieczeństwo w PHP.
WEB SERVICE Stefan Rutkowski.
Konwersja klucza z formatu PEM (certyfikaty Gridowe) do PKCS12 Warsztaty promocyjne dla użytkowników usługi Michał Jankowski, PCSS.
1 Linux jako system wielozadaniowy i wielodostępny.
PHP + MySQL część II.
Dodawanie i usuwanie oprogramowania
20/09/ Języki programowania 1 Piotr Górczyński Kreator form.
Metody autoryzacji użytkowników wymaga integracji z systemem operacyjnym nie wymaga logowania mała pewność mechanizmu wymaga logowania duża pewność mechanizmu.
Obsługa serwera zdalnego przez klienta FTP
SG-500 Bramka zabezpieczająca VPN Copyright © PLANET Technology Corporation. All rights reserved.
IIS 6 i PHP na serwerze Windows 2003 EE
Usługa Windows Server Update Services (WSUS)
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Seminarium eduroam – UMK, Tomasz Wolniewicz UCI UMK Implementacja eduroam Tomasz Wolniewicz UCI UMK.
Technologie informacyjne MCE Pudełko. Zakładanie strony internetowej Technologie informacyjne Marek Pudełko.
Konfiguracja polcenie SUDO
Budowa, przeglądanie i modyfikacja
Usługi katalogowe LDAP.
eFaktura w DHL Express Poland
Konfiguracja kont w programie Adobe Dreamweaver
Linux - polecenia.
Użytkownicy i przywileje Sesja - przykład Błędy Komunikacja międzyskryptowa Wykład 83PD Technologie internetowe.
Witaj. Zapraszamy Ciebie do zapoznania się z przewodnikiem, który pokaże jak założyć konto oraz w jaki sposób można korzystać z usług w serwisie iplay.pl.
Sieci komputerowe.
czyli prosty sposób na SSO
SQL - Structured Query Language
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 3.
BAZA ADRESOWA WOJEWÓDZTWA ŁÓDZKIEGO
Sieć oparta o serwer Ubuntu 12.10
Linux w sieci Konfigurowanie interfejsu sieciowego.
Komendy SQL do pracy z tabelami i bazami
Aplikacja od SaaS do IdaaS
Cacti Krzysztof Goławski.
Wybory 2014 Szkolenie operatorów Obwodowych Komisji Wyborczych
Serwery Aplikacji Tworzenie bezpiecznych aplikacji.
Administracja systemami operacyjnymi Wiosna 2014
Administracja systemami operacyjnymi Wiosna 2014
Kalkulator Wyborczy.
Autor: Marta Pelczar. PHP:  Najprostszą drogą, by uruchomić serwer internetowy na własnym domowym komputerze jest skorzystanie z programu XAMPP.
Narzędzia klienta usługi archiwizacji Warsztaty „Usługa powszechnej archiwizacji” Michał Białoskórski, CI TASK Bartłomiej Balcerek, WCSS.
Toruń 28/ Terminologia używana w Regulaminie Zadania Operatora PIONIER.Id Zadania operatora regionalnego Ważniejsze zapisy dotyczące członków.
Toruń 28/ Wymagania, Co można zrobić z dodatkowymi modułami (rejestracja, logowanie), Własna baza użytkowników dla IdP, Wymiana metadanych.
Toruń 28/ Po udanym uwierzytelnieniu IdP może przekazać do SP dodatkowe informacje o użytkowniku – IdP korzysta ze wskazanego źródła danych.
Konfiguracja VPN Klienta – Windows 7
Toruń 28/ Zadania Federacji – Źródło informacji o IdP i SP – Podstawa zaufania – Tworzenie wspólnego języka – Dbanie o formalności – Przygotowanie.
Toruń 28/ Metadane SAML opisują, w jaki sposób ma być realizowana komunikacja pomiędzy IdP i SP Metadane są typowo prezentowane w postaci XML.
Toruń 28/ Samo przystąpienie do Federacji to wyłącznie akceptacja Regulaminu i wyznaczanie przedstawiciela Przystąpienie w roli członka nie.
Toruń 28/ Finansowanie w ramach aktywności 2.3 (Budowa infrastruktury dla nauki) – Konkurs 2.3/1/2013/POIG Okres realizacji: –
Toruń 28/ Metadane przygotowanego IdP/SP działającego w SimpleSAMLphp są dostępne na stronie administracyjnej SSP, w zakładce Federacja : –
Toruń 28/ Usługodawcy dostępni poprzez PIONIER.Id mogą pochodzić z dwóch źródeł: – bezpośrednio z PIONIER.Id – z eduGAIN za pośrednictwem PIONIER-id.
Toruń 28/ Shibboleth SP działa z poziomu serwera HTTP, jest niezależny od języka programowania, pozwala zintegrować dowolną aplikację ze środowiskiem.
Projekt z Technologii Internetowych
Active Directory Federation Services w Windows Server 2012 R2
Jak wykonać prosty licznik odwiedzin strony internetowej?
Komendy SQL do pracy z danymi
Prezentacja przykładowych rozwiązań realizujących autoryzację w serwisie WWW w oparciu o bazę LDAP Jerzy Szymański.
Zarządzanie tożsamością Promotor: Prof. dr hab. Zbigniew Kotulski 17 kwietnia 2007 Dominik Zasiewski.
Konfiguracja HIBERnate, postgresQL + przykładowa aplikacja
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
Współpraca PHP i MySQL Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z danych zapisanych na serwerze jest współpraca z relacyjna.
Aplikacja mobilna EBSCO eBooks Uwierzytelnianie aplikacji Przewodnik
AKTUALIZATOR LMN Instrukcja aktualizacji warstw Zespół Zadaniowy ds. Leśnej Mapy Numerycznej w LP Część 1. Instalacja i konfiguracja programu.
PODSTAWOWE ZARZĄDZANIE KOMPUTERAMI Z SYSTEMEM WINDOWS
AudaPad / AudaShare AudaShare PRO (2.8)
Aplikacje i usługi internetowe
Zapis prezentacji:

Dostawca tożsamości (IdP) Dostawca usługi (SP) SimpleSAMLphp Maja Górecka-Wolniewicz

Oprogramowanie SimpleSAMLphp (SSP) Oprogramowanie napisane w PHP, wspierające różne protokoły uwierzytelniania, m.in. SAML, a także OpenID, OAuth Ten sam pakiet spełnia zadania IdP oraz SP SimpleSAMLphp jest wygodnym sposobem integracji aplikacji PHP z logowaniem federacyjnym (SimpleSAMLphp w roli SP) IdP oparte na SimpleSAMLphp współpracuje z usługami Shibboleth i dowolną usługą SAML 2.0 SimpleSAMLphp działający jako IdP może współpracować z różnymi źródłami uwierzytelniania, jest elastyczny, łatwy w dostosowaniu

Instalacja SSP Wymagania: serwer WWW możliwość wykonywania skryptów PHP rozszerzenia PHP: koniecznie: date, dom, hash, libxml, openssl, pcre, zlib, SPL, mcrypt ldap – jeśli ma być realizowane uwierzytelnianie LDAP/CAS można stosować memcache PDO – jeśli używamy bazy danych plus mysql / pgsql

Instalacja SSP Aktualna wersja 1.13 Pobieramy ze strony https://simplesamlphp.org/download Rozpakowujemy cd /opt/ tar xfv simplesamlphp-1.x.y.tar.gz

Konfiguracja Konfigurujemy serwis httpd wirtualny host działający na porcie 443 certyfikat – docelowo wystawiony przez znany urząd certyfikacyjny, np. TCS umieszczamy dyrektywę Alias /simplesaml /usr/local/simplesamlphp-1.13.0/www Główny plik konfiguracyjny to config/config.php baseurlpath – zgodnie z ustawionym aliasem auth.adminpassword – hasło dla administratora secretsalt – liczba losowa używana do generowania pseudoanonimowych identyfikatorów

Konfiguracja Główny plik konfiguracyjny to config/config.php technicalcontact_name – nazwa administratora (pojawi się w metadanych) technicalcontact_email – email administratora (pojawi się w metadanych) timezone – Europe/Warsaw opcje związane z tworzeniem logów: logging.level – na czas testów najlepiej DEBUG logging.handler – zalecamy file debug – na czas testów true katalog log musi mieć uprawnienia zapisu przez proces httpd metadata.sources – gdzie SSP szuka metadanych

SimpleSAMLphp IdP W pliku config/config.php enable.saml20-idp – true jeśli konfigurujemy IdP ustawiamy filtry obsługujące atrybuty: 'authproc.idp' => array( 30 => 'core:LanguageAdaptor', 90 => array( 'class' => 'core:TargetedID' , 'attributename' => 'eduPersonPrincipalName', 'nameId' => TRUE), 95 => 'core:AttributeLimit', 100 => array('class' => 'core:AttributeMap', 'name2oid'), ),

SimpleSAMLphp IdP Plik config/authsources.php konfigurujemy źródło uwierzytelnienia, np. 'example-ldap' => array( 'ldap:LDAP', 'hostname' => 'localhost', 'enable_tls' => FALSE, 'dnpattern' => 'uid=%username%,ou=..,dc=.', 'search.base' => 'ou=users,dc=…', 'search.attributes' => array('uid', 'mail', 'edupersonprincipalname'), 'search.username' => 'cn=admin,dc=…', 'search.password' => '....', ),

SimpleSAMLphp IdP Certyfikat self-signed SimpleSAMLphp obsługuje wyłącznie certyfikaty RSA, nie są wspierane certyfikaty DSA openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out example.pl.pem -keyout example.pl.key certyfikat i klucz umieszczamy w podkatalogu cert w metadanych IdP, tj. w pliku metadata/saml20-idp-hosted.php umieszczamy wskazanie wygenerowanych plików

Sprawdzanie konfiguracji Po poprawnej konfiguracji powinna być dostępna strona, np. https://ssp-idp.uci.umk.pl/simplesaml/

Sprawdzanie konfiguracji Zakładka Federacja zawiera wskazania do metanach w postaci XML oraz SSP

Metadane IdP Metadane skonfigurowanego IdP są dostępne w zakładce Federacja jako: SAML 2.0 IdP - Metadane Entity ID: https://nazwa_idp/simplesaml/saml2/idp/metadata.php Link [Wyświetl metadane] pokazuje metadane w formacie XML oraz w postaci SimpleSAMLphp zwanej flat format

Sprawdzanie konfiguracji W zakładce Available modules można sprawdzić, jakie moduły są dostępne Aktywacja modułu: w katalogu modules/nazwa_modulu/ wykonujemy touch enable przykłady: touch module/cron/enable aktywuje moduł cron touch module/metarefresh/enble aktywuje moduł metarefresh każdy aktywny moduł ma swoją konfigurację – pliki konfiguracyjne znajdują się w katalogu modules/nazwa_modulu/config-templates kopiujemy pliki konfiguracyjne włączanych modułów do katalogu config i dostosowujemy te pliki

Moduł metarefresh Moduł umożliwia okresowe pobieranie metadanych ze wskazanych źródeł aby korzystać z metarefresh aktywujemy ten moduł oraz cron i umieszczamy pliki konfiguracyjne tych modułów w katalogu config w pliku config/config-metarefresh.php umieszczamy zamiast elementu kalmar wpisy dotyczące potrzebnych metadanych na stronie Cron module information page pokazane są potrzebne wpisy do umieszczenia w crontabie Z modułu metarefresh można korzystać z wiersza poleceń, np. modules/metarefresh/bin/metarefresh –o=tmp url_metadanych zapisze metadane w postaci SSP w podkatalogu tmp

Optymalizacja metarefresh Moduł metarefresh ma problemy z obsługą dużych porcji metadanych bywa potrzebne wydłużenie czasu max_execution_time w konfiguracji php.ini problemem jest obsługa drzewa XML-owego zapatchowany plik vendor/robrichards/xmlseclibs/xmlseclibs.php https://wiki.aai.pionier.net.pl/index.php/Plik:xmlseclibs.php rozwiązuje problem

Moduł zgody (consent) Jeśli IdP ma pytać użytkownika, czy zgadza się na przekazanie atrybutów do usługi (SP), musi być włączony odpowiedni filtr w konfiguracji config/config.php we wpisie authproc.idp dodajemy 90 => array( 'class' => 'consent:Consent', 'store' => 'consent:Cookie', 'focus' => 'yes', 'checked' => TRUE ),

Moduł zgody (consent) Dane związane ze zgodą można przechowywać w bazie danych, w tym celu: CREATE TABLE consent ( consent_date TIMESTAMP NOT NULL, usage_date TIMESTAMP NOT NULL, hashed_user_id VARCHAR(80) NOT NULL, service_id VARCHAR(255) NOT NULL, attribute VARCHAR(80) NOT NULL, UNIQUE (hashed_user_id, service_id) ); Nadajemy uprawnienia do tabeli, zmieniamy wpis 'store' => 'consent:Cookie'‚ 'store' => array( 'consent:Database', 'dsn' => 'mysql:host=localhost;dbname=consent', 'username' => 'simplesaml', 'password' => 'secret', ),

Testowanie SimpleSAMLphp IdP Aby sprawdzić działanie IdP najlepiej skorzystać z testowego dostawcy https://aai.pionier.net.pl/test/attributes.php Testowy dostawca musi dodać metadane nowego IdP Metadane tego usługodawcy są muszą być dodane do konfiguracji IdP np. przez pobranie przy użyciu polecenia modules/metarefresh/bin/metarefresh można również wkleić dane SP dostępne na stronie https://aai.pionier.net.pl/test/module.php/saml/sp/metadata.php/default-sp?output=xhtml do pliku metadata/saml20-sp-remote.php