Ajouter des stratégies à un déploiement d’API

Vous pouvez configurer diverses stratégies de sécurité pour votre trafic API. Cette configuration nécessite que vous spécifiez les critères de sélection du trafic et les paramètres requis pour une stratégie. Procédez comme suit pour ajouter une stratégie à une définition d’API :

  1. Accédez à Sécurité > Sécurité des API > Stratégies.

  2. Cliquez sur Ajouter.

  3. Spécifiez le nom d’un groupe de stratégies.

  4. Sélectionnez un déploiement dans la liste.

  5. Sélectionnez un service en amont dans la liste pour lequel vous souhaitez configurer des stratégies.

  6. Cliquez sur Ajouter pour sélectionner des sélecteurs de trafic et un type de stratégie.

    Sélecteur de trafic  : les critères de sélection du trafic incluent les chemins d’accès des ressources API ou les préfixes de chemin, les méthodes et la stratégie.

    Vous pouvez utiliser l’une des options suivantes pour spécifier des critères de sélection du trafic :

    • Ressources API  : sélectionnez une ressource API et ses méthodes pour lesquelles vous souhaitez appliquer une stratégie. Vous pouvez rechercher des ressources et des méthodes d’API avec un mot clé.

      Sélecteur de trafic

      Dans cet exemple, les ressources API avec /user qui ont la méthode POST sont répertoriées.

    • Règle personnalisée  : dans cet onglet, vous pouvez spécifier des préfixes de chemin personnalisés et plusieurs méthodes.

      La stratégie configurée s’applique à une demande d’API entrante qui correspond à la règle personnalisée pour la sélection du trafic API.

      Règle de stratégie personnalisée

      Dans cet exemple, la stratégie No-Auth s’applique aux ressources API qui ont le préfixe /bill et la méthode GET.

    Dans Stratégie, sélectionnez une stratégie dans la liste que vous souhaitez appliquer à la ressource et à la méthode API sélectionnées. Pour plus d’informations sur chaque stratégie, consultez la section Types de stratégies.

  7. Facultatif, vous pouvez déplacer des types de stratégie pour définir une priorité. Les types de stratégie ayant une priorité plus élevée s’appliquent en premier.

  8. Cliquez sur Enregistrer pour ajouter une stratégie. Si vous souhaitez appliquer la stratégie immédiatement, cliquez sur Enregistrer et appliquer.

Types de stratégie

Lorsque vous configurez une stratégie API, vous pouvez sélectionner les stratégies suivantes que vous souhaitez appliquer à la ressource et à la méthode API :

Remarque :

Pour gérer la sécurité des API à l’aide des API, voir Utiliser des API pour gérer la sécurité des API.

Sélectionnez une règle de stratégie

Authentification et autorisation

Les ressources API sont hébergées sur un serveur d’applications ou d’API. Lorsque vous souhaitez appliquer des restrictions d’accès à ces ressources API, vous pouvez utiliser les stratégies d’authentification et d’autorisation. Ces stratégies vérifient si la demande d’API entrante dispose d’une autorisation nécessaire pour accéder à la ressource.

Utilisez les stratégies suivantes pour définir l’authentification et l’autorisation des ressources API sélectionnées :

No-Auth

Utilisez cette stratégie pour ignorer l’authentification sur le trafic sélectionné.

Auth-Basic

Cette stratégie spécifie l’authentification locale à utiliser avec le schéma d’authentification de base HTTP. Pour utiliser l’authentification locale, vous devez créer des comptes utilisateur sur NetScaler.

OAuth

OAuth nécessite un fournisseur d’identité externe pour authentifier un client à l’aide d’OAuth2 et émettre un jeton d’accès. Lorsque le client fournit ce jeton en tant qu’informations d’identification d’accès à une passerelle API, le jeton est validé en fonction des valeurs configurées.

  • URI JWKS - URL d’un point de terminaison qui a JWK (JSON Web Key) pour la vérification JWT (JSON Web Token)

  • Emetteur - Identité (généralement une URL) du serveur d’authentification.

  • Audience - Identité du service ou de l’application pour lequel le jeton est applicable.

  • Revendications à enregistrer - Les autorisations d’accès sont représentées sous la forme d’un ensemble de revendications et de valeurs attendues. Spécifiez les valeurs de revendication au format CSV.

  • URI Introspect - URL de point de terminaison introspection du serveur d’authentification. Cette URL est utilisée pour vérifier les jetons d’accès opaques. Pour plus d’informations sur ces jetons, voir Configuration OAuth pour les jetons d’accès opaques.

    Après avoir spécifié l’ URI Introspect, spécifiez l’ ID client et le secret client pour accéder au serveur d’authentification.

  • Algorithmes autorisés - Cette option vous permet de restreindre certains algorithmes dans les jetons entrants. Par défaut, toutes les méthodes prises en charge sont autorisées. Cependant, vous pouvez vérifier les algorithmes requis pour le trafic sélectionné.

Une fois la validation réussie, API Security accorde l’accès au client.

Important :

lorsque vous configurez une stratégie OAuth ou Auth-Basic pour les ressources d’API sélectionnées, configurez la stratégie d’ absence d’authentification pour les ressources d’API restantes. Cette configuration indique explicitement que vous souhaitez ignorer l’authentification pour les ressources restantes.

Authorization

Cette stratégie vérifie les autorisations requises pour accéder à une ressource API. Les autorisations d’accès sont représentées sous la forme d’un ensemble de revendications et de valeurs attendues. Pour configurer cette stratégie, sélectionnez Ajouter une nouvelle revendication et spécifiez les éléments suivants :

  • Nom de la réclamation
  • Valeurs de réclamation

Important :

la sécurité des API nécessite à la fois des stratégies d’authentification et d’autorisation pour le trafic des API. Par conséquent, vous devez configurer une stratégie d’autorisation avec une stratégie d’authentification. La stratégie d’authentification peut être OAuth ou Auth-Basic.

Même si vous n’avez aucun contrôle d’autorisation, vous devez créer une stratégie d’autorisation avec des demandes vides. Sinon, la demande est refusée avec une erreur 403.

Limite de taux

Spécifiez la charge maximale donnée à la ressource API sélectionnée. Avec cette stratégie, vous pouvez surveiller le taux de trafic de l’API et prendre des mesures préventives. Pour configurer cette stratégie, spécifiez les éléments suivants :

  • Nom d’en-tête HTTP - Il s’agit d’une clé de sélection de trafic qui filtre le trafic pour identifier les requêtes API. De plus, la stratégie de limite de taux s’applique et surveille uniquement ces demandes d’API.

  • Valeurs d’ en-tête : ces valeurs d’en-tête sont séparées par des virgules pour le nom d’en-tête mentionné.

  • Seuil  : nombre maximal de demandes pouvant être autorisées dans l’intervalle spécifié. Si vous avez spécifié des valeurs d’en-tête, ce seuil s’applique à chaque valeur d’en-tête.

    Exemple1 :

    Lorsque vous spécifiez des valeurs d’en-tête ("key1","key2","key3") pour le nom de l’en-tête x-api-key et que vous définissez le seuil sur 80, le seuil défini s’applique à chaque valeur d’en-tête.

    Exemple-2 :

    Si vous souhaitez spécifier des seuils différents pour chaque valeur d’en-tête, créez des stratégies de limite de débit distinctes en utilisant le même nom d’en-tête HTTP.

    • Stratégie 1 : Spécifiez les valeurs d’en-tête ("key1","key2") pour le nom de l’en-tête x-api-key et définissez le seuil sur 80.

    • Stratégie 2 : Spécifiez les valeurs d’en-tête ("key3") pour le nom de l’en-tête x-api-key et définissez le seuil sur 30.

    Si vous ne spécifiez aucune valeur d’en-tête, le seuil s’applique au nom d’en-tête HTTP spécifié.

  • Tranche temporelle - Intervalle spécifié en microsecondes. Pendant cet intervalle, les demandes sont surveillées par rapport aux limites configurées. Par défaut, il est défini sur 1000 microsecondes (1 milliseconde).

  • Type de limite  : mode d’application de la stratégie de limite de taux. Vous pouvez sélectionner Burst ou Lisser le type de limite.

  • Action  : définit une action que vous souhaitez effectuer sur le trafic qui dépasse le seuil. Vous pouvez spécifier l’une des actions suivantes :

    • DROP: supprime les demandes au-delà des limites de trafic configurées.
    • RESET :Réinitialisela connexion pour les requêtes.
    • REDIRECT : redirige le trafic vers le redirect_url configuré.
    • RÉPONSE : Répond avec la réponse standard (429 Too many requests).

WAF

Cette stratégie empêche les violations de sécurité, la perte de données et les éventuelles modifications non autorisées des sites Web qui accèdent à des informations sensibles sur les entreprises ou les clients.

Avant de configurer une stratégie WAF, créez un profil WAF dans NetScaler Console à l’aide de StyleBooks.

Dans Nom du profil WAF, sélectionnez ou spécifiez le profil WAF que vous avez créé.

Bot

Cette stratégie identifie les robots défectueux et protège votre appliance contre les attaques de sécurité avancées.

Avant de configurer une stratégie BOT, créez un profil BOT dans NetScaler Console à l’aide de StyleBooks.

Dans Nom du profil de bot, spécifiez le profil BOT que vous avez créé.

Réécriture de l’en-tête

Cette stratégie vous aide à modifier l’en-tête des demandes d’API et des réponses. Si vous souhaitez remplacer la valeur dans l’en-tête HTTP, spécifiez ce qui suit :

  • Nom d’en-tête HTTP : nom de fichier que vous souhaitez modifier dans l’en-tête de la demande.

    Exemple : Host

  • Valeur d’en-tête : Facultatif, chaîne de valeur que vous souhaitez modifier dans le nom d’en-tête spécifié.

    Exemple : sample.com

  • Nouvelle valeur d’en-tête : Nouvelle valeur pour remplacer la valeur d’en-tête spécifiée.

    Si aucune valeur d’en-tête n’est spécifiée, elle remplace toute valeur reçue par la valeur spécifiée par le nom d’en-tête HTTP.

    Exemple : example.com

Dans cet exemple, la stratégie de réécriture d’en-tête remplace sample.com par example.com dans le champ Host d’une demande d’API.

Réécriture du chemin URI

Cette stratégie vous permet de modifier le chemin d’URI des requêtes et des réponses d’API. Si vous souhaitez remplacer un segment dans le chemin de l’URI, ajoutez une règle pour effectuer l’une des opérations suivantes :

  • Remplacer un segment de chemin  : lorsque vous sélectionnez ce type d’action, spécifiez les éléments suivants :

    • Segment de chemin actuel : segment de chemin que vous souhaitez remplacer.
    • Nouveau segment de tracé  : nouveau segment de tracé qui remplace uniquement le segment de tracé actuel.

    Par exemple, pour modifier les paramètres régionaux du chemin de l’URI de l’anglais vers le chinois, spécifiez /en-us/ dans Current Path Segment. Et spécifiez /zh-zh dans Nouveau segment de chemin. Il remplace uniquement le segment de chemin et conserve le chemin URI restant.

  • Remplacer le chemin complet — Ce type d’action remplace complètement le chemin d’URI des requêtes et réponses d’API par le chemin spécifié. Si vous le spécifiez /example.html dans Nouveau segment de chemin, le chemin d’URI d’une demande ou d’une réponse d’API est remplacé par le chemin spécifié.

  • Supprimer le segment de chemin — Cette action supprime le segment spécifié de l’URI. Par exemple, pour supprimer les paramètres régionaux anglais du chemin d’URI, spécifiez /en-us/ dans Current Path Segment.

  • Insérer un segment de chemin — Cette action insère le segment spécifié dans le chemin de l’URI. Pour appliquer cette règle, spécifiez la position où vous souhaitez insérer le segment. Et le segment que vous souhaitez insérer.

    Par exemple, si vous souhaitez insérer un segment juste après du texte, procédez comme suit :

    1. Spécifiez la position où vous souhaitez insérer un nouveau segment.
    2. Dans Segment de chemin actuel, spécifiez le texte après lequel un nouveau segment doit être ajouté.
    3. Dans Nouveau segment de chemin, spécifiez le segment que vous souhaitez ajouter.

Deny

Cette stratégie vous permet d’empêcher les demandes d’API d’atteindre vos ressources d’API.

Ajouter des stratégies à un déploiement d’API