Prisma Cloud Calcul :SAML demandes et réponses

Prisma Cloud Calcul :SAML demandes et réponses

11562
Created On 11/18/19 19:32 PM - Last Modified 03/02/23 03:19 AM


Symptom


SAML est une norme ouverte pour l’échange de données d’authentification et d’autorisation entre les parties, en particulier entre un fournisseur d’identité et un fournisseur de services.
  • ServiceProvider ( SP ) = Twistlock Console UI
  • IdentityProvider (IdP) = SiteMinder, ADFS , Okta, AzureAD, PING Federate, Shibboleth, etc.
SAML Fédération est basée sur des HTTP redirections. Ceci est utilisé pour les applications basées sur le navigateur telles que la console Twistlock UI .

La SAML spécification peut être trouvée ici: http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf Dans cet

article, nous décrivons l’exemple des demandes SAML d’authentification SAML et des réponses, donnant en détail des explications sur ce qu’il faut rechercher dans chacun. L’objectif est d’aider à fournir une ligne directrice pour le SAML dépannage des problèmes connexes avec Twistlock.


Environment


  • Saas
  • Auto-hébergé 19.11 ou version ultérieure


Resolution


Exemple SAML de demande d’authentification envoyée de Twistlock ADFS à IdP
 
<samlp:AuthnRequest
AssertionConsumerServiceURL="https://console.lab.twistlock.com/api/v1/authenticate »
Destination="https://saml-adfs.ad.lab.twistlock.com/adfs/ls »
ID ="_56f9f278-c1b1-ed6d-ecc8-c3ce057b2a09 » IssueIns 2019-04-15T20:19:12Z »
ProtocolBinding="urn:oasis:names:tc: SAML :2.0:bindings: HTTP-POST " Version="2.0 »
xmlns:saml="urn:oasis:names:tc: SAML :2.0:assertion »
xmlns:samlp="urn:oasis:names:tc: SAML ::2.0:protocol">
<saml:Issuer>pfox-twistlock</saml:Issuer>
<samlp:RequestedAuthnContext comparison="exact" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urne:oasis:names:tc: SAML :2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:federation:authentication:windows</saml:AuthnContextClassRef>
                    </samlp:RequestedAuthnContext>           

Choses à rechercher dans l’Affirmation AuthnRequestConsumerServiceURL


 
AssertionConsumerServiceURL="https://console.twistlock.com/api/v1/authenticate »

Il s’agit du point de terminaison que l’IdP utilisera pour rediriger le navigateur de l’utilisateur vers Twistlock. Cette valeur peut être contrôlée dans les paramètres Manage SAML > Authentication > > " Console URL « . Il est courant de définir cette valeur lorsque la console Twistlock est derrière un proxy tel que le routeur externe OpenShift ou un contrôleur d’entrée Istio. Le code Twistlock ajoutera « /api/v1/authentification » à la valeur que vous mettez sur le terrain. Si cette valeur n’est pas définie, le code Twistlock générera automatiquement cette valeur. Cette valeur doit correspondre aux configurations Twistlock de SP

l’IdP Émetteur
 
 <saml:Issuer>console-twistlock</saml:Issuer>

L’identificateur de la console Twistlock. Chaque SAML IdP doit avoir un identificateur unique pour tous les PS. Par défaut Twistlock enverra l’émetteur twistlock. Vous pouvez modifier cette valeur dans la valeur Audience dans les paramètres de la console SAML Twistlock.

AuthnContextClassRef
 
<samlp:RequestedAuthnContext comparison="exact" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urne:oasis:names:tc: SAML :2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:federation:authentication:windows</saml:AuthnContextClassRef>   
</samlp:RequestedAuthnContext>

Demande que les méthodes d’authentification se produisent à l’IdP. urne:federation:authentication:windows est pour les personnes déplacées qui soutiennent ADFS l’authentification intégrée windows. Certaines personnes déplacées ne savent pas comment traiter ces valeurs. Par exemple, CA SiteMinder erreur avec une SAML réponse de:
 
<StatusMessage>L’AuthnRequest avec AuthnContexts n’est pas pris en charge !</StatusMessage>

Dans ce cas, vous devrez configurer l’IdP SiteMinder pour ignorer les valeurs AuthnContextClassRef.


Exemple SAML Réponse ADFS d’IdP à Twistlock
 
<samlp:Response Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
Destination="https://console.lab.twistlock.com/api/v1/authenticate"
ID ="_3ac05c43-11b8-4fac-9063-0b0a5f83707f" InResponseTo="_56f9f278-c1b1-ed6d-ecc8-c3ce057b2a09"
IssueInstant="2019-04-15T20:21:59.095Z" Version="2.0"
xmlns:samlp="urn:oasis:names:tc: SAML :2.0:protocol">
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://console.lab.twistlock.com/adfs/services/trust</Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI ="#_3ac05c43-11b8-4fac-9063-0b0a5f83707f">
<ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>ppj1biegltD2D701NL9Of+xDctgdChV166ja9E2DqtQ=</ds:DigestValue>

                                                                </ds:SignedInfo>
<ds:SignatureValue>Mh9dAnyo2CY0kz+cah8KVwwu7ZSWXO6ubyPOBk7CjD6CVHPfR2OFJ2S3fM695/usCWYud2CwQsdd1DVCDsnnAqifkGZiabHH38bBa9Jdv3YdWs3hoz4nqQbFesdQGV5QjL54Ip19FxFWUAxt4bKpundfP2h8OikRjkoi24QLVzSIcvuH/vkvz/DP7vF6e+YCbzu6BJDPWXf3TzvO6Og1mx4URDw2kycy83CHsB0mMJm3cfvb39DSLlnE6EvR+msUqoTWuLw==</ds:SignatureValue>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
            <ds:X509Data>
                <ds:X509Certificate></ds:X509Certificate>
            </ds:X509Data>
        </KeyInfo>
                            </ds:Signature>
<samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:Status>
<Assertion ID ="_d6029da5-a589" IssueInstant="2019-04-15T20:21:59.095Z"
Version="2.0" xmlns="urn:oasis:names:tc: SAML :2.0:assertion">
<Issuer>http://saml-adfs.ad.lab.twistlock.com/adfs/services/trust</Issuer>
<Subject>
<NameID>pfox</NameID>
<SubjectConfirmation method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData InResponseTo="_56f9f278-c1b1-ed6d-ecc8-c3ce057b2a09"
NotOnOrAfter="2019-04-15T20:26:59.095Z"
Recipient="https://console.lab.twistlock.com/api/v1/authenticate"/></SubjectConfirmation>
                                </Subject>
<Conditions notbefore="2019-04-15T20:21:59.095Z" notonorafter="2019-04-15T21:21:59.095Z">
<AudienceRestriction>
<Audience>console-twistlock</Audience>
                            </AudienceRestriction>
                    </Conditions>
<AttributeStatement>
<Attribute name="groups">
<AttributeValue>Domain Admins</AttributeValue>
<AttributeValue>Domain Users</AttributeValue>
<AttributeValue>TLAdmins</AttributeValue>
                                                            </Attribute>
                    </AttributeStatement>
<AuthnStatement AuthnInstant="2019-04-15T20:21:59.032Z"
SessionIndex="_d6029da5-a589-4559-beaf-b734f45fd452">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc: SAML :2.0:ac:classes: Mot de passeProtectedTransport</AuthnContextClassRef>
                            </AuthnContext>                                                                       
       
   

Choses à rechercher dans l’émetteur

de réponse

 
<Issuer>http://saml-adfs.ad.lab.twistlock.com/adfs/services/trust</Issuer>

La valeur émetteur de Response Token correspond à la valeur de l’émetteur du fournisseur d’identité dans les paramètres SAML de ADFS l’IdP

ds:Signature

Le jeton de réponse doit être SAML soit réponse signée, soit réponse signée + affirmation Le certificat de signature de l’IdP doit être chargé dans les paramètres Twistlock pour l’IdP dans le champ de certificat X.509 dans le format Base64.

groupes
 
<AttributeStatement>
    <Attribute name="groups">
        <AttributeValue>Administrateurs de domaine</AttributeValue>
<AttributeValue>Utilisateurs de domaine</AttributeValue>
<AttributeValue>TLAdmins (en)</AttributeValue>               
    </Attribute>
</AttributeStatement>

La cartographie de groupe exige que SAML le jeton contiendra la revendication des groupes. Cela peut contenir un éventail de noms de groupe et ils seront comparés aux groupes SAML définis dans Manage > Authentication > groupes. Cela peut nécessiter une réclamation personnalisée.

NomID
 
<Subject>
    <NameID>pfox (pfox)</NameID>
<SubjectConfirmation method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData InResponseTo="_56f9f278-c1b1-ed6d"
NotOnOrAfter="2019-04-15T20:26:59.095Z »
Recipient="https://console.lab.twistlock.com/api/v1/authenticate"/></SubjectConfirmation>   
</Subject>

L’attribut nameid doit être présent et correspondre à un nom d’utilisateur Twistlock SAML si l’association de groupe n’est pas utilisée.


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000PNXQCA4&lang=fr&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language