Rozdiely

Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.

Odkaz na tento prehľad zmien

Obojstranná predošlá revízia Predchádzajúca revízia
Nasledujúca revízia
Predchádzajúca revízia
install:idp:instalacia_a_nastavenie_shibboleth_idp [09. 04. 2021 17:13]
jnamesny@umb.sk
install:idp:instalacia_a_nastavenie_shibboleth_idp [28. 12. 2023 20:32] (aktuálne)
mstanislav@umb.sk
Riadok 45: Riadok 45:
  
 1) Backchannel PKCS12 = vygenerované heslo 1 1) Backchannel PKCS12 = vygenerované heslo 1
 +
 2) Cookie Encryption = vygenerované heslo 2 2) Cookie Encryption = vygenerované heslo 2
  
Riadok 132: Riadok 133:
 #idp.consent.StorageService = shibboleth.ClientPersistentStorageService #idp.consent.StorageService = shibboleth.ClientPersistentStorageService
 idp.consent.StorageService = shibboleth.JPAStorageService idp.consent.StorageService = shibboleth.JPAStorageService
-idp.storage.htmlLocalStorage = false+idp.storage.htmlLocalStorage = true
 </code> </code>
  
Riadok 211: Riadok 212:
 # for AD: idp.authn.LDAP.bindDN=adminuser@domain.com # for AD: idp.authn.LDAP.bindDN=adminuser@domain.com
 idp.authn.LDAP.bindDN                           = cn=idp,ou=example,dc=náš,dc=ldap,dc=sk idp.authn.LDAP.bindDN                           = cn=idp,ou=example,dc=náš,dc=ldap,dc=sk
-idp.authn.LDAP.bindDNCredential                 = XxxXXxxxXXxxxxXXXxxxxXxXxXxxxX 
 idp.ldaptive.provider                           = org.ldaptive.provider.unboundid.UnboundIDProvider idp.ldaptive.provider                           = org.ldaptive.provider.unboundid.UnboundIDProvider
  
Riadok 254: Riadok 254:
 openssl rand -base64 36 2>/dev/null openssl rand -base64 36 2>/dev/null
 </code> </code>
 +
  
 Potom môžeme pristúpiť k úprave súboru: Potom môžeme pristúpiť k úprave súboru:
Riadok 265: Riadok 266:
 <code> <code>
 # Default access to LDAP authn and attribute stores. # Default access to LDAP authn and attribute stores.
-idp.authn.LDAP.bindDNCredential              = Tu vložíme heslo, ktoré máme definované pre bind konto v LDAP konfigurácii (idp.authn.LDAP.bindDNCredential) +idp.authn.LDAP.bindDNCredential              = Tu vložíme heslo, ktoré máme definované pre bind konto v LDAP  
-idp.persistentId.salt                        = Tu vložíme vygenerovaný salt pre perzistentný NameID identifikátor+idp.persistentId.salt                        = Tu vložíme vygenerovaný salt
 idp.attribute.resolver.LDAP.bindDNCredential = %{idp.authn.LDAP.bindDNCredential:undefined} idp.attribute.resolver.LDAP.bindDNCredential = %{idp.authn.LDAP.bindDNCredential:undefined}
 </code> </code>
 +
 +<alert type="danger" icon="glyphicon glyphicon-alert">
 +Vloženú vygenerovanú hodnotu v "idp.persistentId.salt" nikdy nemeníme!</alert>
 +
  
 Obmedzenie prístupu IP adries k stránkam so špecifickou funkcionalitou: Obmedzenie prístupu IP adries k stránkam so špecifickou funkcionalitou:
Riadok 309: Riadok 314:
  
 <code xml> <code xml>
-<!-- safeID test metadata-->+ 
 +<!-- safeID test metadata
     <MetadataProvider     <MetadataProvider
         id="safeid-metadata-test"          id="safeid-metadata-test" 
Riadok 319: Riadok 325:
             certificateFile="%{idp.home}/credentials/SAFEID_metadata_signer.pem" />             certificateFile="%{idp.home}/credentials/SAFEID_metadata_signer.pem" />
     </MetadataProvider>     </MetadataProvider>
 +    -->
 +
 +<!-- safeID interfederation -->
 +    <!-- safeID & eduGAIN -->
 +    <MetadataProvider
 +        id="safeid-interfed"
 +        xsi:type="FileBackedHTTPMetadataProvider"
 +        backingFile="%{idp.home}/metadata/safeid-interfed.xml"
 +        metadataURL="https://metadata.safeid.sk/metadata/safeid-interfed.xml"
 +        maxRefreshDelay="PT30M">
 + 
 +        <MetadataFilter
 +            xsi:type="SignatureValidation"
 +            requireSignedRoot="true"
 +            certificateFile="%{idp.home}/credentials/safeid-metadata-signing.pem" />
 + 
 +        <MetadataFilter
 +            xsi:type="RequiredValidUntil"
 +            maxValidityInterval="P30D" />
 + 
 +        <MetadataFilter
 +            xsi:type="Algorithm">
 + 
 +            <md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
 +            <ConditionRef>shibboleth.Conditions.TRUE</ConditionRef>
 +        </MetadataFilter>
 +    </MetadataProvider>
 +
 +<!-- safeID metadata -->
 +    <!-- safeID
 +    <MetadataProvider
 +        id="safeid-metadata"
 +        xsi:type="FileBackedHTTPMetadataProvider"
 +        backingFile="%{idp.home}/metadata/metadata.safeid.sk.xml"
 +        metadataURL="https://metadata.safeid.sk/metadata/metadata.safeid.sk.xml"
 +        maxRefreshDelay="PT30M">
 +
 +        <MetadataFilter
 +            xsi:type="SignatureValidation"
 +            requireSignedRoot="true"
 +            certificateFile="%{idp.home}/credentials/safeid-metadata-signing.pem" />
 +
 +        <MetadataFilter
 +            xsi:type="RequiredValidUntil"
 +            maxValidityInterval="P30D" />
 +
 +        <MetadataFilter
 +            xsi:type="Algorithm">
 +
 +            <md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
 +            <ConditionRef>shibboleth.Conditions.TRUE</ConditionRef>
 +        </MetadataFilter>
 +    </MetadataProvider>
 +    -->
 </code> </code>
  
Riadok 327: Riadok 387:
 </alert> </alert>
  
 +<alert type="danger" icon="glyphicon glyphicon-alert">
 +"safeID test metadata" slúžia iba ako príklad!
  
-Ďalej si potrebujeme stiahnuť verejný kľúč pre podpísanie metadát a správne ho umiestniť (v návode pokračujeme s príkladom poskytovateľa safeid.sk):+**Pre Vaše IdP potrebujete nastaviť** [[install:idp:metadata|safeID.sk metadáta]]. 
 + 
 +Na stránke nájdete aj **aktuálny verejný kľúč** pre kontrolu podpisu metadát. 
 +</alert> 
 + 
 +Ďalej si potrebujeme stiahnuť verejný kľúč pre kontrolu podpisu metadát a správne ho umiestniť (v návode pokračujeme s príkladom - safeID test metadata):
  
 <code> <code>
 wget -P /opt/shibboleth-idp/credentials \ wget -P /opt/shibboleth-idp/credentials \
-    https://www.safeid.sk/metadata/cert/SAFEID_metadata_signer.pem+    https://metadata.safeid.sk/keys/safeid-metadata-signing.pem
 </code> </code>
  
 ''attribute-resolver.xml'' ''attribute-resolver.xml''
- 
-Vygenerujeme si ďalší nový "salt": 
- 
-<code> 
-openssl rand -base64 36 2>/dev/null 
-</code> 
  
 Otvoríme konfiguráciu: Otvoríme konfiguráciu:
Riadok 349: Riadok 410:
 </code> </code>
  
-Do konfigurácie doplníme nový atribút a nový konektor, do ktorého doplníme vygenerovaný "salt":+Do konfigurácie doplníme nový atribút a nový konektor, do ktorého doplníme "salt", ktorý už máme vygenerovaný - nevytvárame nový:
  
 <code xml> <code xml>
Riadok 367: Riadok 428:
     xsi:type="StoredId"      xsi:type="StoredId" 
     generatedAttributeID="storedId"      generatedAttributeID="storedId" 
-    salt="Napíšeme salt, ktorý sme si vygenerovali" +    salt="Napíšeme salt, ktorý sme už vygenerovali v predchadzajúcich krokoch
     queryTimeout="0">     queryTimeout="0">
     <InputAttributeDefinition ref="uid"/>     <InputAttributeDefinition ref="uid"/>
Riadok 373: Riadok 434:
 </DataConnector> </DataConnector>
 </code> </code>
 +
 +<alert type="success" icon="glyphicon glyphicon-info-sign">
 +[[install:idp:idp:attribute-reslover|Príklad konfigurácie attribute-resolver.xml]]
 +</alert>
 +
  
 Doplníme atribút aj do konfigurácie filtrov "attribute-filter.xml": Doplníme atribút aj do konfigurácie filtrov "attribute-filter.xml":
Riadok 399: Riadok 465:
     </AttributeFilterPolicy>     </AttributeFilterPolicy>
 </code> </code>
 +
 +<alert type="success" icon="glyphicon glyphicon-info-sign">
 +[[install:idp:idp:attribute-filter|Príklad konfigurácie attribute-filter.xml]]
 +</alert>
  
 ''idp-metadata.xml'' ''idp-metadata.xml''
Riadok 550: Riadok 620:
 systemctl edit jetty9 systemctl edit jetty9
 </code> </code>
 +
 +<alert type="info" icon="glyphicon glyphicon-info-sign">
 +V pípade distribúcie Debian 11 bullseye môžete nastavenia doplniť do konfigurácie služby pomocou:
 +
 +nano /etc/systemd/system/multi-user.target.wants/jetty9.service
 +</alert>
  
 Nastavenie oprávnení pre zápis do adresárov /opt/shibboleth-idp/{logs,metadata}: Nastavenie oprávnení pre zápis do adresárov /opt/shibboleth-idp/{logs,metadata}:
Riadok 625: Riadok 701:
         last update: 2021-01-27T13:30:37.139408Z         last update: 2021-01-27T13:30:37.139408Z
  
-        metadata source: safeid-metadata+        metadata source: safeid-metadata-test
         last refresh attempt: 2021-01-27T13:30:37.139408Z         last refresh attempt: 2021-01-27T13:30:37.139408Z
         last successful refresh: 2021-01-27T13:30:37.139408Z         last successful refresh: 2021-01-27T13:30:37.139408Z
Riadok 652: Riadok 728:
 systemctl restart jetty9 systemctl restart jetty9
 </code> </code>
 +
 +Testovanie funkčnosti môžeme realizovať pomocou:
 +
 +IdP Webová stránka
 +https://idp.example.org/idp
 +
 +IdP Status
 +https://idp.example.org/idp/status
 +
 +IdP Metadáta
 +https://idp.example.org/idp/shibboleth
  • install/idp/instalacia_a_nastavenie_shibboleth_idp.1617981181
  • Posledná úprava: 09. 04. 2021 17:13