ADC
Merci pour vos commentaires

Ce article a été traduit automatiquement. (Clause de non responsabilité)

Exemple 10 : chiffrement RSA basé sur des règles

L’algorithme RSA utilise la fonction PKEY_ENCRYPT_PEM () pour chiffrer le contenu d’en-tête ou de corps HTTP prédéfini et défini par l’utilisateur. La fonction accepte uniquement les clés publiques RSA (pas les clés privées) et les données chiffrées ne peuvent pas dépasser la longueur de la clé publique. Lorsque les données chiffrées sont plus courtes que la longueur de la clé, l’algorithme utilise la méthode de remplissage RSA_PKCS1.

Dans un exemple de scénario, la fonction peut être utilisée avec la fonction B64ENCODE () dans une action de réécriture pour remplacer une valeur d’en-tête HTTP par une valeur chiffrée par une clé publique RSA. Les données chiffrées sont ensuite déchiffrées par le destinataire à l’aide de la clé privée RSA.

Vous pouvez implémenter la fonctionnalité à l’aide d’une stratégie de réécriture. Pour ce faire, vous devez effectuer les tâches suivantes :

  1. Ajoutez une clé publique RSA en tant qu’expression de stratégie.
  2. Créer une action de réécriture.
  3. Créer une stratégie de réécriture.
  4. Lier la stratégie de réécriture comme globale.
  5. Vérifier le chiffrement RSA

Chiffrement RSA basé sur des règles à l’aide de l’interface de commande Citrix ADC

Effectuez les tâches suivantes pour configurer le chiffrement RSA basé sur des stratégies à l’aide de l’interface de commande Citrix ADC.

Pour ajouter une clé publique RSA en tant qu’expression de stratégie à l’aide de l’interface de commande Citrix ADC :

add policy expression pubkey '"-----BEGIN RSA PUBLIC KEY-----MIGJAoGBAKl5vgQEj73Kxp+9yn1v5gPR1pnc4oLM2a0kaWwBOsB6rzCIy6znwnvwCY1xRvQhRlJSAyJbloL7wZFIJ2FOR8Cz+8ZQWXU2syG+udi4EnWqLgFYowF9zK+o79az597eNPAjsHZ/C2oL/+6qY5a/f1z8bQPrHC4GpFfAEJhh/+NnAgMBAAE=-----END RSA PUBLIC KEY-----"'

Pour ajouter réécrire une action pour chiffrer une requête d’en-tête HTTP à l’aide de l’interface de commande Citrix ADC :

add rewrite action encrypt_act insert_http_header encrypted_data

HTTP.REQ.HEADER("data_to_encrypt").PKEY_ENCRYPT_PEM(pubkey).B64ENCODE

Pour ajouter une stratégie de réécriture à l’aide de l’interface de commande Citrix ADC :

add rewrite policy encrypt_pol 'HTTP.REQ.HEADER("data_to_encrypt").EXISTS' encrypt_act

Pour lier la stratégie de réécriture globale à l’aide de l’interface de commande Citrix ADC :

bind rewrite global encrypt_pol 10 -type RES_DEFAULT

Pour vérifier le chiffrement RSA à l’aide de l’interface de commande Citrix ADC :

>curl -v -H "data_to_encrypt: Now is the time that tries men's souls" http://10.217.24.7/` * About to connect() to 10.217.24.7 port 80 (#0) * Trying 10.217.24.7... * connected * Connected to 10.217.24.7 (10.217.24.7) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3 > Host: 10.217.24.7 > Accept: \*/\* > data_to_encrypt: Now is the time that tries men's souls > < HTTP/1.1 200 OK < Date: Mon, 09 Oct 2017 05:22:37 GMT < Server: Apache/2.2.24 (FreeBSD) mod_ssl/2.2.24 OpenSSL/0.9.8y DAV/2 < Last-Modified: Thu, 20 Feb 2014 20:29:06 GMT < ETag: "6bd9f2-2c-4f2dc5b570880" < Accept-Ranges: bytes < Content-Length: 44 < Content-Type: text/html < encrypted_data: UliegKBJqZd7JdaC49XMLEK1+eQN2rEfevypW91gKvBVlaKM9N9/C2BKuztS99SE0xQaisidzN5IgeIcpQMn+CiKYVlLzPG1RuhGaqHYzIt6C8A842da7xE4OlV5SHwScqkqZ5aVrXc3EwtUksna7jOLr40aLeXnnB/DB11pUAE= < * Connection #0 to host 10.217.24.7 left intact <html><body><h1>It works!</h1></body></html>* Closing connection #0

L’exécution ultérieure de cette commande curl avec les mêmes données à chiffrer montre que les données chiffrées sont différentes à chaque exécution. Cela est dû au fait que le remplissage insère des octets aléatoires au début des données à chiffrer, ce qui provoque des données chiffrées différentes à chaque fois.

>curl -v -H "data_to_encrypt: Now is the time that tries men's souls" http://10.217.24.7/` < encrypted_data: DaOjtl1Pl4DlQKf58MMeL4cFwFvZwhjMqv5aUYM5Iyzk4UpwIYhpRvgTNu2lXEVc1H0tcR1EGC/ViQncLc4EbTurCWLbzjce3+fknnMmzF0lRT6ZZXWbMvsNFOxDA1SnuAgwxWXy/ooe9Wy6SYsL2oi1sr5wTG+RihDd9zP+P14= >curl -v -H "data_to_encrypt: Now is the time that tries men's souls" http://10.217.24.7/ . . . < encrypted_data: eej6YbGP68yHn48qFUvi+fkG+OiO8j3yYLScrRBU+TPQ8WeDVaWnDNAVLvL0ZYHHAU1W2YDRYb+8cdKHLpW36QbI6Q5FfBuWKZSI2hSyUvypTpCoAYcHXFv0ns+tRtg0EPNNj+lyGjKQWtFi6K8IXXISoDy42FblKIlaA7gEriY=

Chiffrement RSA basé sur des règles à l’aide de l’interface graphique

L’interface graphique vous permet d’effectuer les tâches suivantes :

Pour ajouter une clé publique RSA en tant qu’expression de stratégie à l’aide de l’interface graphique :

  1. Connectez-vous à l’appliance Citrix ADC et accédez à Configurations > AppExpert > Expressions avancées.
  2. Dans le volet d’informations, cliquez sur Ajouter pour définir une clé publique RSA en tant qu’expression de stratégie avancée.
  3. Dans la page Créer une expression, définissez les paramètres suivants :
    1. Nom de l’expression. Nom de l’expression avancée.
    2. Expression. Définissez la clé publique RSA en tant qu’expression avancée à l’aide de l’Éditeur d’expression.
    3. Commentaires. Une brève description de l’expression.
  4. Cliquez sur Créer.

Pour ajouter réécrire une action pour chiffrer une requête d’en-tête HTTP à l’aide de l’interface graphique :

  1. Connectez-vous à l’appliance Citrix ADC et accédez à Configurations > AppExpert > Réécriture > Actions.
  2. Dans le volet d’informations, cliquez sur Ajouter pour ajouter une action de réécriture.
  3. Dans l’écran Créer une action de réécriture, définissez les paramètres suivants :
    1. Nom. Nom de l’action de réécriture.
    2. Type. Sélectionnez le type d’action comme INSERT_HTTP_HEADER.
    3. Utilisez le type d’action pour insérer un en-tête. Entrez le nom de l’en-tête HTTP qui doit être réécrit.
    4. Expression. Nom de l’expression de stratégie avancée associée à l’action.
    5. Commentaires. Une brève description de l’action de réécriture.
  4. Cliquez sur Créer.

Pour ajouter une stratégie avancée de réécriture à l’aide de l’interface graphique :

  1. Connectez-vous à l’appliance Citrix ADC et accédez à Configurations > AppExpert > Réécriture > Stratégies.
  2. Dans la page Réécrire les stratégies, cliquez sur Ajouter pour ajouter une stratégie de réécriture.
  3. Dans la page Créer une stratégie de réécriture, définissez les paramètres suivants :
    1. Nom. Nom de la stratégie de réécriture.
    2. Action. Nom de l’action de réécriture à effectuer si la demande ou la réponse correspond à cette stratégie de réécriture.
    3. Actions de journalisation. Nom de l’action du journal des messages à utiliser lorsqu’une demande correspond à cette stratégie.
    4. Action à résultat indéfini. Action à effectuer si le résultat de l’évaluation de la stratégie n’est pas défini.
    5. Expression. Nom de l’expression de stratégie avancée qui déclenche l’action.
    6. Commentaires. Une brève description de l’action de réécriture.
  4. Cliquez sur Créer.

Pour lier la stratégie de réécriture globale à l’aide de l’interface graphique :

  1. Connectez-vous à l’appliance Citrix ADC et accédez à Configurations > AppExpert > Réécriture > Stratégies.
  2. Dans l’écran Stratégies de réécriture, sélectionnez une stratégie de réécriture à lier, puis cliquez sur Gestionnaire de stratégies .
  3. Dans la page Réécrire le Gestionnaire de stratégies, dans la section Points de liaison, définissez les paramètres suivants :
    1. Point de liaison. Sélectionnez le point de liaison comme Global par défaut.
    2. Protocole. Sélectionnez le type de protocole HTTP.
    3. Type de connexion. Sélectionnez le type de connexion en tant que Demande.
    4. Cliquez sur Continuer pour afficher la section Liaison de stratégie .
    5. Dans la section Liaison de stratégie, sélectionnez la stratégie de réécriture et définissez les paramètres de liaison.
  4. Cliquez sur Bind.
La version officielle de ce document est en anglais. Certains contenus de la documentation Cloud Software Group ont été traduits de façon automatique à des fins pratiques uniquement. Cloud Software Group n'exerce aucun contrôle sur le contenu traduit de façon automatique, qui peut contenir des erreurs, des imprécisions ou un langage inapproprié. Aucune garantie, explicite ou implicite, n'est fournie quant à l'exactitude, la fiabilité, la pertinence ou la justesse de toute traduction effectuée depuis l'anglais d'origine vers une autre langue, ou quant à la conformité de votre produit ou service Cloud Software Group à tout contenu traduit de façon automatique, et toute garantie fournie en vertu du contrat de licence de l'utilisateur final ou des conditions d'utilisation des services applicables, ou de tout autre accord avec Cloud Software Group, quant à la conformité du produit ou service à toute documentation ne s'applique pas dans la mesure où cette documentation a été traduite de façon automatique. Cloud Software Group ne pourra être tenu responsable de tout dommage ou problème dû à l'utilisation de contenu traduit de façon automatique.
Exemple 10 : chiffrement RSA basé sur des règles