Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer RedditPosledné úpravySend via e-MailPrintPermalink × Toto je staršia verzia dokumentu! Inštalácia Shibboleth SP Pridať repoziár Shiboleth. Obsah konfiguráku sa dá vygenerovať na stránke: https://shibboleth.net/downloads/service-provider/RPMS/ vim /etc/yum.repos.d/shibboleth.repo [shibboleth] name=Shibboleth (CentOS_7) # Please report any problems to https://issues.shibboleth.net type=rpm-md mirrorlist=https://shibboleth.net/cgi-bin/mirrorlist.cgi/CentOS_7 gpgcheck=1 gpgkey=https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key enabled=1 yum install shibboleth.x86_64 Po inštalácii sa nachádza konfigurácia v adresári: /etc/shibboleth/ a konfiguracia Apache v subore: /etc/httpd/conf.d/shib.conf Do adresára /usr/sbin sa nainštaluje shibd, ktorý je možné manažovať cez systemctl. Modul mod_shib.so bude nainštalovaný do /usr/lib64/shibboleth. Pre službu je potrebné zvoliť jednoznačný identifikátor. Odporúčaný postup je taký, že ak sa služba nachádza napríklad na doméne https://www.safeid.sk tak identifikátor bude https://www.safeid.sk/shibboleth. Keď máme zvolený identifkátor, vygenerujeme SSL certifikát, ktorý bude využívať Shibboleth pre komunikáciu s IdP. Odporúča sa vytvoriť nový certifikát a nepoužíť SSL certifikát webu aj za cenu, že vytvorené certifikát bude self signed: Certifikát vytvoríme pomocou nástroja, ktorý sa nainštaloval spolu so Shibboleth SP: /etc/shibboleth/keygen.sh -h www.safeid.sk -e https://www.safeid.sk/shibboleth -f -y 10 Certifikát vygenerovaý týmto príkazom bude mať platnosť 10 rokov. Vygenerovanné súbory budú uložené v adresári /etc/shibboleth a ich názvy budú sp-encrypt-cert.pem, sp-encrypt-key.pem, sp-signing-cert.pem, sp-signing-key.pem. Súborom treba zmeniť vlastníka na používateľa, pod ktorým beží služba shibd: chown shibd:shibd sp-encrypt-cert.pem chown shibd:shibd sp-encrypt-key.pem chown shibd:shibd sp-signing-cert.pem chown shibd:shibd sp-signing-key.pem Do adresára s certifikátmi stiahneme aj certifikát, ktorý používa federácia: wget https://www.safeid.sk/metadata/cert/SAFEID_metadata_signer.pem Podľa potreby upravíme metadata uložené v súbore /etc/shibboleth/metadata-template.xml: <?xml version="1.0" encoding="utf-8" ?> <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> <md:SPSSODescriptor> <md:Extensions> <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"> <mdui:DisplayName xml:lang="en">safeID Wiki</mdui:DisplayName> <mdui:DisplayName xml:lang="sk">safeID Wiki</mdui:DisplayName> <mdui:Description xml:lang="en">Slovak Academic Federation of Identities Wiki.</mdui:Description> <mdui:Description xml:lang="sk">Wiki stránky Slovenskej akademickej federácie identít.</mdui:Description> <mdui:InformationURL xml:lang="en">https://www.safeid.sk/</mdui:InformationURL> <mdui:InformationURL xml:lang="sk">https://www.safeid.sk/</mdui:InformationURL> <mdui:Logo height="81" width="99">https://www.safeid.sk/lib/tpl/arctic/images/sanetsmall_sk.gif</mdui:Logo> </mdui:UIInfo> </md:Extensions> </md:SPSSODescriptor> <md:Organization> <md:OrganizationName xml:lang="en">The Association of the Users of the Slovak Academic Network SANET</md:OrganizationName> <md:OrganizationName xml:lang="sk">Združenie používateľov slovenskej akademickej dátovej siete SANET</md:OrganizationName> <md:OrganizationDisplayName xml:lang="en">SANET</md:OrganizationDisplayName> <md:OrganizationDisplayName xml:lang="sk">SANET</md:OrganizationDisplayName> <md:OrganizationURL xml:lang="en">http://www.sanet.sk/en</md:OrganizationURL> <md:OrganizationURL xml:lang="sk">http://www.sanet.sk/</md:OrganizationURL> </md:Organization> <md:ContactPerson contactType="technical"> <md:GivenName>Helpdesk</md:GivenName> <md:SurName>UMB</md:SurName> <md:EmailAddress>mailto:helpdesk@umb.sk</md:EmailAddress> </md:ContactPerson> </md:EntityDescriptor> Úpravy urobíme aj v súbore shibboleth2.xml: <SPConfig xmlns="urn:mace:shibboleth:3.0:native:sp:config" xmlns:conf="urn:mace:shibboleth:3.0:native:sp:config" clockSkew="180"> <OutOfProcess tranLogFormat="%u|%s|%IDP|%i|%ac|%t|%attr|%n|%b|%E|%S|%SS|%L|%UA|%a" /> <!-- Doplníme ID služby --> <ApplicationDefaults entityID="https://www.safeid.sk/shibboleth" REMOTE_USER="eppn subject-id pairwise-id persistent-id" cipherSuites="DEFAULT:!EXP:!LOW:!aNULL:!eNULL:!DES:!IDEA:!SEED:!RC4:!3DES:!kRSA:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1"> <Sessions lifetime="28800" timeout="3600" relayState="ss:mem" checkAddress="false" handlerSSL="true" cookieProps="https"> <!-- Zadáme URL discovery servisu --> <SSO discoveryProtocol="SAMLDS" discoveryURL="https://wayf.safeid.sk/"> SAML2 </SSO> <Logout>SAML2 Local</Logout> <!-- Nastavíme IP rozsahy, z ktorých môže ppristupovať administrátor k vybraným url (funkciám) --> <LogoutInitiator type="Admin" Location="/Logout/Admin" acl="127.0.0.1 194.160.39.60 194.160.44.13" /> <!-- Metadata su ulozene v subore metadata-template.xml --> <Handler type="MetadataGenerator" Location="/Metadata" signing="false" template="metadata-template.xml"/> <Handler type="Status" Location="/Status" acl="127.0.0.1 194.160.39.60 194.160.44.13"/> <Handler type="Session" Location="/Session" showAttributeValues="false"/> <Handler type="DiscoveryFeed" Location="/DiscoFeed"/> </Sessions> <Errors supportContact="helpdesk@umb.sk" helpLocation="/about.html" styleSheet="/shibboleth-sp/main.css"/> <!-- Informácia o umiestnení metadát federácie a jej podpisového certifikátu (súbor, ktorý sme stiahli) --> <MetadataProvider type="XML" validate="true" url="https://www.safeid.sk/metadata/metadata.safeid.sk.idp.xml" backingFilePath="safeid-idp.xml" maxRefreshDelay="600"> <MetadataFilter type="Signature" certificate="SAFEID_metadata_signer.pem" verifyBackup="false"/> </MetadataProvider> <AttributeExtractor type="XML" validate="true" reloadChanges="false" path="attribute-map.xml"/> <AttributeFilter type="XML" validate="true" path="attribute-policy.xml"/> <!-- Názvy súborov s vygenenerovanými certifikátmi --> <CredentialResolver type="File" use="signing" key="sp-signing-key.pem" certificate="sp-signing-cert.pem"/> <CredentialResolver type="File" use="encryption" key="sp-encrypt-key.pem" certificate="sp-encrypt-cert.pem"/> </ApplicationDefaults> <SecurityPolicyProvider type="XML" validate="true" path="security-policy.xml"/> <ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/> </SPConfig> Mozno bude treba nainstalovat verziu curl z projektu Shibboleth: cd /etc/yum.repos.d/ wget https://download.opensuse.org/repositories/security:shibboleth/CentOS_7/security:shibboleth.repo yum install curl-openssl Konfiguráciu je možné skontrolovať nasledujúcim príkazom: shibd -tc /etc/shibboleth/shibboleth2.xml Spustíme Shibboleth service a reštartujeme Apache. systemctl enable shibd systemctl start shibd Následne je treba zabezpečiť aby požadovaný web vyžadoval zabezpečenie cez Shibboleth: <Directory "/var/www/html/"> .... AuthType shibboleth require shibboleth </Directory> Nakoniec reštartujeme webový server: apachectl graceful install-sp-shibboleth.1563914599 Posledná úprava: 12. 10. 2020 15:24 Prihlásiť sa