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 cryptées ne peuvent pas dépasser la longueur de la clé publique. Lorsque les données cryptées sont inférieures à 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 visant à remplacer une valeur d’en-tête HTTP par une valeur cryptée par une clé publique RSA. Les données chiffrées sont ensuite décryptées par le destinataire à l’aide de la clé privée RSA.

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

  1. Ajoutez la clé publique RSA en tant qu’expression de politique.
  2. Créez une action de réécriture.
  3. Créez une politique de réécriture.
  4. La politique de réécriture de la liaison est globale.
  5. Vérifiez le chiffrement RSA

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

Effectuez les tâches suivantes pour configurer le chiffrement RSA basé sur des règles à l’aide de l’interface de commande NetScaler.

Pour ajouter une clé publique RSA en tant qu’expression de stratégie à l’aide de l’interface de commande NetScaler, procédez comme suit :

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

Pour ajouter une action de réécriture visant à chiffrer une demande d’en-tête HTTP à l’aide de l’interface de commande NetScaler :

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 NetScaler, procédez comme suit :

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

Pour lier une stratégie de réécriture globale à l’aide de l’interface de commande NetScaler, procédez comme suit :

bind rewrite global encrypt_pol 10 -type RES_DEFAULT

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

>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 crypté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 fait que les données cryptées sont 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 NetScaler 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’expressions.
    3. Commentaires. 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 NetScaler et accédez à Configurations > AppExpert > Réécriture > Actions.
  2. Dans le volet de détails, 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. Tapez. Sélectionnez le type d’action 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. 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 NetScaler 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. Sur la page Créer une politique de réécriture , définissez les paramètres suivants :
    1. Nom. Nom de la politique de réécriture.
    2. Action. Nom de l’action de réécriture à effectuer si la demande ou la réponse correspond à cette politique de réécriture.
    3. Action de journalisation. Nom de l’action du journal des messages à utiliser lorsqu’une demande correspond à cette politique.
    4. Action dont le résultat n’est pas défini. Action à exécuter si le résultat de l’évaluation de la politique n’est pas défini.
    5. Expression. Nom de l’expression de stratégie avancée qui déclenche l’action.
    6. Commentaires. 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 NetScaler 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. Sur la page Rewrite Policy Manager, dans la section Bind Points, 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 comme Demande.
    4. Cliquez sur Continuer pour afficher la section Policy Binding .
    5. Dans la section Policy Binding , sélectionnez la politique 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