Shibboleth paslaugos (SP) diegimas ir konfigūravimas: Skirtumas tarp puslapio versijų
(Naujas puslapis: Kategorija:SSO == Shibboleth paslaugos (SP) diegimas ir konfigūravimas == Shibboleth puikiai tinka paslaugoms, kurios palaiko Web serverio autentifikacijos mechanizmą per a...) |
(Jokio skirtumo)
|
Dabartinė 19:26, 5 balandžio 2017 versija
Shibboleth paslaugos (SP) diegimas ir konfigūravimas
Shibboleth puikiai tinka paslaugoms, kurios palaiko Web serverio autentifikacijos mechanizmą per aplinkos kintamajį REMOTE_USER. Autentifikacijos procesą vykdo pats Web serveris, todėl tik sėkmingai autentifikavusis galima pasiekti apsaugotą turinį. Norint naudoti Shibboleth reikia atlikti nurodytus diegimo ir konfigūravimo žingsnius. Diegimo ir konfigūravimo žingsniai aprašyti Apache2 web serveriui. Reikalingos bazinės XML duomenų formato žinios.
- Įdiegiame Shibboleth Apache2 modulį ir jo priklausomybes, bei įjungiame modulį:
apt-get install libapache-mod-shib2 a2enmod shib2 service apache2 restart
Shibboleth konfigūraciniai failai patalpinti:
/etc/shibboleth
Kaip pavyzdį sukonfigūruosime paslaugą https://paslauga.test.litnet.lt, kuri kreipsis į https://login.ktu.lt tapatybės tiekėją (IdP).
- Sukuriame katalogą metaduomenims ir ten patalpiname tapatybės tiekėjo (IdP) metaduomenis:
cd /etc/shibboleth mkdir metadata wget https://login.ktu.lt/simplesaml/saml2/idp/metadata.php -o metadata/login.ktu.lt-metadata.xml
- Sukuriame katalogą raktų porai, kurie bus naudojami SAML užklausų pasirašymui, ir patalpiname "self-signed" arba trečiosios šalies išduotus privatų raktą ir sertifikatą:
mkdir cert ... // cp <key_file> cert/sp-key.pem // cp <cert_file> cert/sp-cert.crt
- Nusikopijuojame modulio konfigūracijos šabloną:
mv shibboleth2.xml shibboleth2.xml.orig cp example-shibboleth2.xml shibboleth2.xml
- Atliekame Shibboleth modulio konfigūracijos pakeitimus faile shibboleth2.xml:
- <ApplicationDefaults> nurodome savo paslaugos entityID, taip pat atributą, kuriuo turi būti užpildyta kintamojo REMOTE_USER reikšmė
- <SessionInitiator> nurodome tapatybės tiekėją, kuris bus naudojamas autentifikacijai, suteikiame jam id=KTU_LOGIN
- <MetadataProvider> nurodome tapatybės tiekėjo metaduomenų failą
- <CredentialResolver> nurodome raktų porą, kuris bus naudojama
94 <ApplicationDefaults entityID="https://paslauga.test.litnet.lt/shibboleth" 95 REMOTE_USER="uid" signing="true" encryption="false"> 97 127 <SessionInitiator type="SAML2" Location="/Login" isDefault="true" id="KTU_LOGIN" 128 entityID="https://login.ktu.lt/simplesaml/saml2/idp/metadata.php"> 129 239 <MetadataProvider type="XML" file="metadata/login.ktu.lt-metadata.xml"/> 257 <CredentialResolver type="File" key="cert/sp-key.pem" certificate="cert/sp-cert.pem"/>
- Atliekame Apache VirtualHost konfigūraciją paslaugai.
requireSessionWith
nurodo kokį sesijos iniciatorių naudoti (pagal <SessionInitiator> id atributą):
<VirtualHost *:433> ... <Location /apsaugotas_turinys> AuthType shibboleth ShibRequestSetting requireSession On ShibRequestSetting requireSessionWith "KTU_LOGIN" Require valid-user </Location> ... </VirtualHost>
Perkrovus Web serverį ir aplankius https://paslauga.test.litnet.lt/Shibboleth.sso/Metadata bus parsiųstas sugeneruotas paslaugos metaduomenų failas, kurį reikia pateikti tapatybės tiekėjui.
Jei nenorite naudoti autentifikacijos kokiai nors nuorodai, nurodykite VirtualHost'o konfigūracijoje:
<VirtualHost *:443> ... <Location /public> AuthType shibboleth ShibRequestSetting requireSession Off Require Shibboleth </Location> ... </VirtualHost>
- Visi naudojami atributai turi būti išvardinti attribute-map.xml faile, atkreipiant dėmesį į nameFormat:
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" id="eduPersonPrincipalName" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" />
Daugiau informacijos:
https://wiki.shibboleth.net/confluence/display/SHIB2/Installation https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPConfiguration https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApacheConfig