| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze |
| eduid:admins:howto:metadata:verify:index [2009/05/06 10:12] – Ivan Novakov novakoi@fel.cvut.cz | cs:tech:metadata-sig-verification [2020/04/02 10:54] (aktuální) – 9ec128d6c1ed31e124c9d0343d1175613f20f405@einfra.cesnet.cz |
|---|
| ====== Ověřování metadat ====== | ====== Ověřování metadat ====== |
| |
| Federační metadata jsou podepsána digitálním certifikátem a pro větší bezpečnost je doporučitelné na straně IdP a SP tento podpis ověřovat. K tomu potřebujeme stáhnout ověřovací certifikát a uložit ho na cílovém systému. Odkaz na ověřovací certifikát najdete na stránce s [[..:..:details:|technickými detaily]]. | Federační metadata jsou podepsána digitálním certifikátem a je důležité na straně IdP a SP tento podpis ověřovat! K tomu potřebujeme stáhnout ověřovací certifikát, který najdeme na stránce s [[:cs:tech:summary|technickými detaily]]. |
| |
| Příklad: | Konfigurace ověřování metadat se liší dle entity (IdP nebo SP) a je popsáno v odpovídající dokumentaci: |
| <code> | * [[cs:tech:idp:shibboleth#metadata-providersxml|Shibboleth IdP]] |
| # cd /etc/ssl/certs | * [[cs:tech:sp:shibboleth#metadata_federace|Shibboleth SP 3]] |
| # wget http://www.eduid.cz/docs/eduid/metadata/eduid-metasign.crt.pem | * [[cs:tech:sp:shibboleth/2#metadata_federace|Shibboleth SP 2]] |
| </code> | * [[cs:tech:sp:simplesamlphp#metadata_sluzby|SimpleSAMLphp]] |
| |
| Dále je potřeba upravit konfiguraci tak, aby systém při každem stažení metadat ověřoval jejich podpis. | |
| |
| ===== Shibboleth IdP 2.x ===== | |
| |
| V konfiguračním souboru použijeme u příslušného //MetadataProvider// elementu filtr typu //SignatureValidation//: | |
| |
| <code xml> | |
| <MetadataProvider id="eduid-metadata" xsi:type="FileBackedHTTPMetadataProvider" | |
| xmlns="urn:mace:shibboleth:2.0:metadata" | |
| metadataURL="http://www.eduid.cz/docs/eduid/metadata/eduid-metadata.xml" | |
| backingFile="/opt/shibboleth-idp/metadata/backup/eduid-metadata.xml" | |
| cacheDuration="600"> | |
| | |
| <MetadataFilter xsi:type="SignatureValidation" xmlns="urn:mace:shibboleth:2.0:metadata" | |
| trustEngineRef="shibboleth.MetadataTrustEngine" | |
| requireSignedMetadata="true" /> | |
| |
| </MetadataProvider> | |
| </code> | |
| |
| Atribut //trustEngineRef// musí odkazovat na příslušný element //TrustEngine// (konkrétně hodnota atributu //trustEngineRef// odpovída hodnotě atributu //id// elementu //TrustEngine//), kde nastavíme cestu k ověřovacímu certifikátu. Předkonfigurovaný element //TrustEngine// obvykle najdeme zakomentovaný v sekci "Security Configurations". | |
| |
| <code xml> | |
| <!-- Trust engine used to evaluate the signature on loaded metadata. --> | |
| <security:TrustEngine id="shibboleth.MetadataTrustEngine" xsi:type="security:StaticExplicitKeySignature"> | |
| <security:Credential id="MyFederation1Credentials" xsi:type="security:X509Filesystem"> | |
| <security:Certificate>/etc/ssl/certs/eduid-metasign.crt.pem</security:Certificate> | |
| </security:Credential> | |
| </security:TrustEngine> | |
| </code> | |
| |
| ===== Shibboleth SP 2.x ===== | |
| |
| V konfiguračním souboru shibboleth2.xml do příslušného //MetadataProvider// elementu přidáme //MetadataFilter// element typu "Signature" a do atributu //certificate// zadáme cestu k ověřovacímu certifikátu: | |
| |
| <code xml> | |
| <MetadataProvider type="XML" uri="http://www.eduid.cz/docs/eduid/metadata/eduid-metadata.xml" | |
| backingFilePath="/etc/shibboleth/backup/eduid-metadata.xml" | |
| reloadInterval="600"> | |
| |
| <MetadataFilter type="Signature" certificate="/etc/ssl/certs/eduid-metasign.crt.pem"/> | |
| </MetadataProvider> | |
| </code> | |