Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Fonctionnalités de la stratégie de sécurité

Vue d’ensemble des groupes de sécurité et de stratégie réseau existants dans Contrail

Les réseaux virtuels Contrail sont isolés par défaut. Par défaut, les charges de travail d’un réseau virtuel ne peuvent pas communiquer avec les charges de travail d’autres réseaux virtuels. Une stratégie de réseau Contrail peut être utilisée pour connecter deux réseaux virtuels. En outre, la stratégie réseau Contrail assure également la sécurité entre deux réseaux virtuels en autorisant ou en refusant le trafic spécifié.

Dans les environnements cloud modernes, les charges de travail sont déplacées d’un serveur à un autre, d’un rack à un autre, et ainsi de suite. Par conséquent, les utilisateurs doivent moins se fier aux adresses IP ou à d’autres coordonnées réseau pour identifier les terminaux à protéger. Au lieu de cela, les utilisateurs doivent exploiter les attributs d’application pour créer des stratégies, de sorte que les stratégies n’ont pas besoin d’être mises à jour en raison de la mobilité de la charge de travail.

Vous souhaiterez peut-être séparer le trafic en fonction des différentes catégories d’origine des données, telles que :

  • Protection de l’application elle-même

  • Ségrégation du trafic pour des niveaux de composants spécifiques au sein de l’application

  • Ségrégation du trafic en fonction de l’environnement de déploiement pour l’instance d’application

  • Le trafic est séparé en fonction de l’emplacement géographique spécifique où l’application est déployée

Il existe de nombreux autres scénarios possibles dans lesquels le trafic doit être séparé.

En outre, vous devrez peut-être regrouper les charges de travail en fonction de combinaisons de balises. Ces intentions sont difficiles à exprimer avec les structures de stratégie réseau ou de groupe de sécurité existantes. En outre, les structures de stratégie existantes qui s’appuient sur les coordonnées du réseau doivent être réécrites ou mises à jour en permanence chaque fois que les charges de travail se déplacent et que les coordonnées réseau associées changent.

Améliorations apportées aux stratégies de sécurité

À mesure que l’environnement Contrail s’est développé et s’est complexifié, il est devenu plus difficile d’obtenir les résultats escomptés en matière de sécurité avec les stratégies réseau et les groupes de sécurité existants. Les stratégies du réseau Contrail sont liées au routage, ce qui rend difficile l’expression des stratégies de sécurité pour les environnements, par exemple la segmentation entre les catégories ou la prise en charge par une application multiniveau des charges de travail des environnements de développement et de production sans trafic inter-environnements.

À partir de la version 4.1 de Contrail, les limitations des stratégies réseau actuelles et des structures de groupes de sécurité sont résolues par la prise en charge du découplage du routage des stratégies de sécurité, de la segmentation multidimensionnelle et de la portabilité des stratégies. Cette version améliore également la visibilité sur les utilisateurs et les fonctions d’analyse pour la sécurité.

La version 4.1 de Contrail introduit de nouveaux objets de stratégie de sécurité de pare-feu, notamment les améliorations suivantes :

  • Routage et découplage des stratégies : introduction de nouveaux objets de stratégie de pare-feu, qui dissocient la stratégie du routage.

  • Segmentation multidimensionnelle : segmentez le trafic et ajoutez des fonctionnalités de sécurité, en fonction de plusieurs dimensions d’entités, telles que l’application, le niveau, le déploiement, le site, le groupe d’utilisateurs, etc.

  • Portabilité des stratégies : les stratégies de sécurité peuvent être portées dans différents environnements, par exemple « du développement à la production », « de la plainte PCI à la production », « à l’environnement bare metal » et « à l’environnement conteneur ».

  • Visibilité et analyses

Utilisation de balises et d’objets de configuration pour améliorer la stratégie de sécurité

À partir de la version 4.1 de Contrail, les balises et les objets de configuration sont utilisés pour créer de nouveaux objets de stratégie de pare-feu qui dissocient les stratégies de routage et de réseau, ce qui permet une segmentation multidimensionnelle et une portabilité des stratégies.

La segmentation multidimensionnelle du trafic vous aide à segmenter le trafic en fonction de dimensions telles que l’application, le niveau, le déploiement, le site et le groupe d’utilisateurs.

Vous pouvez également porter les stratégies de sécurité dans différents environnements. La portabilité des stratégies est activée en fournissant des conditions de correspondance pour les balises. Les balises de correspondance doivent être ajoutées à la règle de stratégie pour faire correspondre les valeurs de balise des charges de travail source et de destination sans mentionner les valeurs de balise. Par exemple, pour que la ‘allow protocol tcp source application-tier=web destination application-tier=application match application and site’ règle prenne effet, les valeurs de l’application et du site doivent correspondre.

Balises prédéfinies

Vous pouvez choisir des balises prédéfinies en fonction de l’environnement et des exigences de déploiement.

Les balises prédéfinies sont les suivantes :

  • Application

  • couche applicative

  • Déploiement

  • Site

  • label (une balise spéciale qui permet à l’utilisateur d’étiqueter des objets)

Balises personnalisées

Vous pouvez également définir des balises personnalisées pour un environnement Kubernetes. Vous pouvez définir des balises dans l’interface utilisateur ou charger des configurations au format JSON.

Exemple d’utilisation d’une balise

application = HRApp application-tier = Web site = USA

Balisage d’objets

Un utilisateur peut baliser les objets projet, VN, VM et VMI avec des balises et des valeurs pour mapper ses exigences de sécurité. Les balises suivent la hiérarchie du projet, du VN, de la VM et de la VMI et sont héritées dans cet ordre. Cela donne à l’utilisateur la possibilité de fournir des paramètres par défaut pour n’importe quelle balise à n’importe quel niveau. Les stratégies peuvent spécifier leur sécurité en termes de points de terminaison balisés, en plus d’exprimer en termes de préfixe IP, de réseau et de points de terminaison de groupes d’adresses.

Application de la police

Policy application est un nouvel objet, implémenté au moyen de la balise application. L’utilisateur peut créer une liste de stratégies par application à appliquer lors de l’évaluation de l’acceptation du flux. Présentation des stratégies globales et des stratégies de projet. Il existe des stratégies à portée globale, qui peuvent être appliquées globalement à tous les projets, et des stratégies à portée de projet, qui sont appliquées à des projets spécifiques.

Objets de configuration

Voici les objets de configuration des nouvelles fonctionnalités de sécurité.

  • politique_de_pare-feu

  • règle_pare-feu

  • gestion des politiques

  • politique_applicative

  • groupe_service

  • groupe d’adresses

  • étiquette

  • stratégie globale pour les applications

Objet de configuration Objet Tag

Chaque objet de balise d’objet de configuration contient :

  • tag : l’un des types de balises définis, stocké sous forme de chaîne et d’un ID de 32 bits.

  • type de balise : contient la chaîne de type et l’ID (les 16 premiers bits de la balise) et les références au type de ressource de balise

Chaque valeur saisie par l’utilisateur crée un ID unique qui est défini dans le champ tag_id. Le système peut avoir jusqu’à 64 millions de valeurs de balises. En moyenne, chaque balise peut avoir jusqu’à 2k valeurs, mais il n’y a aucune restriction par balise.

Les balises et les étiquettes peuvent être attachées à n’importe quel objet, par exemple, projet, VN, VM, VMI et stratégie, et ces objets disposent d’une liste de références de balises pour prendre en charge plusieurs balises.

RBAC contrôle les utilisateurs autorisés à modifier ou à supprimer les balises jointes. Certaines balises (généralement des faits) sont attachées par le système par défaut ou au moyen d’une introspection.

API de balisage

Les API de balises sont utilisées pour donner RBAC par balise dans n’importe quel objet (VMI, VM, Projet....).

  • RESTE: HTTP POST to /set_tag_<tag_type>/<obj_uuid>

  • Python: set_tag_<tag_type> (object_type, object_uuid, tag_value)

La configuration prend également en charge les API suivantes :

  • requête de balise

  • Balises (stratégie)

  • tags (balise d’application)

  • requête d’objet

  • tags (objet)

  • tags (type, valeur)

Étiquette

Label est un type de balise spécial, utilisé pour attribuer des étiquettes aux objets. Toutes les constructions de balise sont valides, à l’exception de ce type de balise : 'label'. Une différence par rapport aux autres balises est qu’un objet peut avoir n’importe quel nombre d’étiquettes. Tous les autres types de balises sont limités à une balise par objet.

Balises locales et globales

Les balises peuvent être définies globalement ou localement dans le cadre d’un projet ; Les objets tag sont des enfants de config-root ou d’un projet. Un objet peut être balisé à l’aide d’une balise dans son projet ou à l’aide d’une balise à portée globale.

Analytics

Lorsqu’on reçoit une requête de balise avec une clause SQL where et une clause select, analytics doit fournir des objets. La requête peut également contenir des étiquettes, et les étiquettes peuvent avoir différents opérateurs.

Exemple:

L’utilisateur voudra peut-être savoir : une liste de VMI où ’site == USA and deployment == Production'

liste des VMI où ’site == USA and deployment == Production has ’

Étant donné la balise SQL where et la clause select, l’analyse doit fournir des flux.

nœud de contrôle

Le nœud de contrôle transmet les balises, ainsi que les mises à jour d’itinéraire, aux agents et aux autres nœuds de contrôle.

Agent

L’agent reçoit les balises jointes avec les objets de configuration. L’agent reçoit également des mises à jour de route contenant les balises associées à la route IP. Ce processus est similaire à l’obtention des ID de groupe de sécurité avec la mise à jour de l’itinéraire.

Objet de configuration de groupe d’adresses

Il existe plusieurs façons d’ajouter une adresse IP à un groupe d’adresses.

  • Ajoutez manuellement des préfixes IP au groupe d’adresses au moyen de la configuration.

  • Étiquetez une charge de travail avec l’étiquette spécifiée par le groupe d’adresses. Tous les ports étiquetés avec la même étiquette sont considérés comme faisant partie de ce groupe d’adresses.

  • Utilisez des charges de travail d’introspection, basées sur certains critères, pour ajouter ip-address au groupe d’adresses.

Configuration

L’objet address-group fait référence à un objet label, à une description et à une liste de préfixes IP. L’objet label - est créé à l’aide des API de balise.

Agent

L’agent récupère les objets de groupe d’adresses et d’étiquette référencés dans la configuration de la stratégie. L’agent utilise ce groupe d’adresses pour faire correspondre les règles de stratégie.

Analytics

Lorsqu’une étiquette de groupe d’adresses lui est attribuée, Analytics récupère tous les objets qui lui sont associés. À partir de l’étiquette du groupe d’adresses, obtenez tous les flux qui lui sont associés.

Objet de configuration de groupe de services

Configuration

Le groupe de services contient une liste de ports et de protocoles. Le groupe de services open stack contient une liste d’objets de service ; L’objet Service contient les attributs suivants : ID, Name, Service Group ID, Protocol, source_port, destination_port, icmp_code, icmp_type, Timeout, Tenant ID.

Agent

L’agent récupère l’objet service-group tel qu’il est désigné dans une règle de stratégie. L’agent utilise ce groupe de services lors de l’évaluation de la stratégie.

Objet de configuration Application-policy-set

L’objet de configuration application-policy-set peut faire référence à une balise de type application, network-policy objects et firewall-policy. Cet objet peut être local (projet) ou de portée globale.

Lorsqu’une balise d’application est attachée à un objet application-policy-set, les stratégies référencées par cet objet sont automatiquement appliquées aux ports qui ont la même balise d’application.

Toutes les stratégies de pare-feu référencées par les objets application-policy-set sont classées à l’aide de numéros de séquence. Si la même balise d’application est attachée à plusieurs ensembles de stratégies d’application, tous ces ensembles s’appliquent, mais l’ordre entre ces ensembles n’est pas défini.

Un ensemble de stratégies d’application (appelé default-policy-application-set) a la particularité d’appliquer par défaut les stratégies auxquelles il fait référence sont appliquées à toutes les interfaces, après l’application des stratégies référencées à d’autres ensembles de stratégies d’application.

Dès que la balise d’application d’un objet s’affiche, les stratégies associées sont envoyées à l’agent. L’agent utilisera ces informations pour connaître la liste des stratégies à appliquer et leur séquence lors de l’évaluation du flux. L’utilisateur peut attacher une balise d’application aux objets autorisés (projet, VN, VM ou VMI).

Objet de configuration de gestion des stratégies

La gestion des stratégies est un objet conteneur global pour toutes les configurations liées aux stratégies.

L’objet de gestion des stratégies contient

  • politiques réseau (NP)

  • stratégies de pare-feu (FWP)

  • applications-policy-sets

  • objets global-policy

  • objets global-policy-apply

  • NPs : liste des objets de stratégie Contrail Networking

  • PFE : liste des nouveaux objets de stratégie de pare-feu

  • Application-policies - Liste des objets Application-policy

  • Global-policies : liste des nouveaux objets de stratégie de pare-feu, définis pour l’accès global.

  • Global-policy-apply : liste des stratégies globales dans une séquence, et ces stratégies appliquées lors de l’évaluation de flux.

  • Les références aux politiques réseau (NP) sont disponibles, telles qu’elles sont aujourd’hui.

Objet de configuration de la stratégie de pare-feu

Firewall-policy est un nouvel objet de stratégie qui contient une liste d’objets firewall-rule et un indicateur audité. Selon l’utilisation, la stratégie de pare-feu peut être portée à un projet ou à l’échelle globale. Inclut un indicateur booléen audité pour indiquer que le propriétaire de la stratégie a indiqué que la stratégie est auditée. La valeur par défaut est False et devra être explicitement définie sur True après révision. Génère un événement de journal pour audité avec l’horodatage et les détails de l’utilisateur.

Objet de configuration Firewall-rule

Firewall-rule est un nouvel objet de règle, qui contient les champs suivants. La syntaxe est de donner des informations sur leur mise en page à l’intérieur de la règle.

  • <numéro de séquence> Il existe un numéro de séquence d’objet de chaîne sur le lien entre les objets firewall-policy et firewall-policy-rule. Le numéro de séquence détermine l’ordre dans lequel les règles sont appliquées.

  • [< id >]

    Uuid

  • [nom < nom >]

    Nom unique sélectionné par l’utilisateur

  • [description < description >]

  • Public

  • {permis | refus}

  • [ protocol {< nom_protocole > | any } destination-port { < plage de ports > | any } [ source-port { < plage de ports > | any} ] ] | < nom de groupe de services >

  • point de terminaison-1 { [préfixe < IP > ] | [réseau virtuel < vnname >] | [address-group < nom du groupe >] | [tags T1 == V1 && T2 == V2 ... && Tn == Vn && label == nom de l’étiquette...] | n’importe lequel}

  • { -> | <- | <-> }

    Spécifie le sens de connexion. Toutes les règles sont orientées connexion et cette option donne la direction de la connexion.

  • point de terminaison-2 { [préfixe < IP > ] | [réseau virtuel < vnname >] | [address-group < nom du groupe >] | [tags T1 == V1 && T2 == V2 ... && Tn == Vn && label == nom de l’étiquette...] | any }

    Les balises au niveau des points de terminaison prennent en charge une expression de balises. Nous ne prenons en charge que les opérateurs '==' et '&&'. L’utilisateur peut également spécifier des étiquettes dans le cadre de l’expression. L’objet de configuration contient la liste des noms de balises (ou global :tag-name dans le cas de balises globales) pour les points de terminaison.

  • [ match_tags {T1 .... Tn} | aucune} ]

    Liste des types de balises ou aucune. L’utilisateur peut spécifier une correspondance avec la liste des balises ou aucune. Correspondre à la liste des balises signifie que les valeurs des balises source et de destination doivent correspondre pour que la règle prenne effet.

  • [ journal | miroir | alerte | activer | supprimer | rejeter | supprimer ]

    Actions complexes

  • { activer | désactiver }

    Indicateur booléen pour indiquer que la règle est activée ou désactivée. Facilite la désactivation sélective des règles, sans supprimer la règle de la stratégie. La valeur par défaut est True.

  • Filtre

Compilation des règles

Chaque fois que le serveur d’API reçoit une demande de création/mise à jour d’un objet de règle de stratégie de pare-feu, il analyse les données de l’objet pour s’assurer que tous les objets réseaux virtuels, groupe d’adresses et balises existent. Si l’un d’entre eux n’existe pas, la demande sera rejetée. De plus, il créera une référence aux objets mentionnés dans les deux points de terminaison. Cela permet d’atteindre deux objectifs. Premièrement, nous n’autorisons pas les utilisateurs à nommer des objets inexistants dans la règle et deuxièmement, l’utilisateur n’est pas autorisé à supprimer ces objets sans les avoir d’abord supprimés de toutes les règles qui s’y réfèrent.

Utilisation de l’interface utilisateur Web de Contrail pour gérer les stratégies de sécurité

Ajout de stratégies de sécurité

  1. Pour ajouter une stratégie de sécurité, accédez à Configurer > stratégies de sécurité > globales. Dans l’angle supérieur droit, cliquez sur le bouton Assistant de stratégie de pare-feu. L’Assistant Stratégie de pare-feu s’affiche et vous permet de créer votre nouvelle stratégie de pare-feu en ajoutant ou en sélectionnant un jeu de stratégies d’application. Reportez-vous à la figure 1.

    Figure 1 : assistant Firewall Policy Wizard de stratégie de pare-feu
  2. Cliquez sur le grand + sur l’écran Assistant de stratégie de pare-feu pour afficher la fenêtre Jeux de stratégies d’application . Les jeux de stratégies d’application existants s’affichent. Reportez-vous à la figure 2.

    Figure 2 : Ensembles de Application Policy Sets stratégies d’application
  3. Pour créer une stratégie de pare-feu, cliquez sur l’ensemble de stratégies d’application dans la liste à laquelle la nouvelle stratégie de pare-feu appartiendra. La fenêtre Modifier les jeux de stratégies d’application s’affiche et affiche un champ pour la description du jeu de stratégies sélectionné et répertorie les stratégies de pare-feu associées au jeu. Reportez-vous à la Figure 3, où HRPolicySet a été sélectionné.

    Figure 3 : Modifier les ensembles de Edit Application Policy Sets stratégies d’application
  4. Pour afficher toutes les stratégies de pare-feu, cliquez sur le lien Jeux de stratégies d’application dans la partie gauche.

    Reportez-vous à la figure 4.

    Figure 4 : toutes les stratégies All Firewall Policies de pare-feu
  5. Sélectionnez n’importe quelle stratégie de pare-feu répertoriée pour afficher ou modifier les règles associées à cette stratégie. Reportez-vous à la figure 5, où toutes les règles d’AdminPolicy sont répertoriées. Utilisez les menus déroulants de chaque champ pour ajouter ou modifier des règles de stratégie, et utilisez les icônes + et - à droite de chaque règle pour ajouter ou supprimer la règle.

    Figure 5 : règles Firewall Policy Rules de stratégie de pare-feu

Gestion des balises de stratégie

Vous pouvez utiliser l’interface utilisateur Web de Contrail pour créer et gérer les balises utilisées pour donner un peu de granularité aux stratégies de sécurité. Vous pouvez avoir des balises globales, applicables à l’ensemble du système, ou des balises de projet, définies pour des utilisations spécifiques dans des projets spécifiques.

  1. Pour gérer les balises de stratégie, accédez à Configurer les balises > > les balises globales. La fenêtre Tags (Balises ) s’affiche et répertorie toutes les balises utilisées dans le système, ainsi que les réseaux virtuels, les ports et les projets associés à chaque balise. Les balises sont d’abord définies par type, par exemple application, déploiement, site, niveau, etc. Reportez-vous à la figure 6.

    Figure 6 : Balises Tags
  2. Vous pouvez cliquer sur n’importe quelle balise répertoriée pour voir les règles auxquelles la balise est appliquée. Reportez-vous à la Figure 7, qui montre les balises d’application appliquées aux ensembles d’applications actuels. Vous pouvez également accéder à cette page à partir de Configurer > sécurité > stratégies globales.

    Figure 7 : affichage des balises View Application Tags d’application

Affichage des stratégies globales

Dans Configurer > stratégies de sécurité > globales, en plus d’afficher les stratégies incluses dans les jeux de stratégies d’application, vous pouvez également afficher tous les politiques de pare-feu, toutes les stratégies de groupes de services et toutes les stratégies de groupes d’adresses.

  1. Pour afficher et gérer le politiques de pare-feu global, dans Configurer la sécurité > > Stratégies globales, cliquez sur l’onglet Stratégies de pare-feu pour afficher les détails de la politiques de pare-feu système (voir Figure 8)

    Figure 8 : stratégies Firewall Policies de pare-feu
  2. Pour afficher et gérer les stratégies des groupes de services, dans Configurer la sécurité > > Stratégies globales, cliquez sur l’onglet Groupes de services pour afficher les détails des stratégies système pour les groupes de services ( voir Figure 9).

    Figure 9 : Groupes de Service Groups services

Visualisation des groupes de trafic

Utilisez Surveiller la sécurité > > les groupes de trafic pour explorer des représentations visuelles de la façon dont les stratégies sont appliquées aux groupes de trafic. Reportez-vous à la Figure 10, qui est une représentation visuelle du trafic source et de destination au cours de la dernière heure d’un groupe de trafic nommé Groupes de trafic. Le cercle extérieur représente le trafic associé à une application, un déploiement ou un projet. Le cercle intérieur représente le trafic balisé avec le niveau. Le centre du cercle indique l’origine et la destination du trafic.

Figure 10 : groupes Traffic Groups de trafic

Vous pouvez cliquer sur sur le côté droit de l’écran pour obtenir des détails sur les règles de stratégie qui ont été mises en correspondance par le trafic sélectionné. Reportez-vous à la figure 11.

Figure 11 : Groupes de trafic, détails de Traffic Groups, Policy Details la stratégie

Vous pouvez cliquer sur le côté droit de l’écran pour accéder à la fenêtre Paramètres , où vous pouvez modifier le type d’affichage et modifier les éléments qui apparaissent dans la représentation visuelle. Reportez-vous à la figure 12.

Figure 12 : Groupes de trafic, paramètres Traffic Groups, Settings

Vous pouvez cliquer sur le nom d’une stratégie qui a été mise en correspondance pour afficher les statistiques de point de terminaison, y compris les balises source et les balises distantes, du trafic actuellement représenté dans le visuel. Reportez-vous à la figure 13.

Figure 13 : Groupes de trafic, statistiques Traffic Groups, Endpoint Statistics sur les points de terminaison

Vous pouvez cliquer plus profondément sur n’importe quelle statistique liée pour afficher plus de détails sur cette statistique (voir les figures 15 et 15).

Figure 14 : Groupes de trafic, détails Traffic Groups, Details

Figure 15 : Groupes de trafic, détails Traffic Groups, Details

Vous pouvez modifier les paramètres des statistiques affichées dans chaque groupe de trafic sur l’écran Paramètres des groupes de trafic (voir Figure 16).

Figure 16 : paramètres Traffic Groups Settings des groupes de trafic