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
- Objet de configuration de groupe d’adresses
- Objet de configuration de groupe de services
- Objet de configuration Application-policy-set
- Objet de configuration de gestion des stratégies
- Objet de configuration de la stratégie de pare-feu
- Objet de configuration Firewall-rule
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é
- Gestion des balises de stratégie
- Affichage des stratégies globales
- Visualisation des groupes de trafic
Ajout de stratégies de sécurité
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 : assistantde stratégie de pare-feu
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 destratégies d’application
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 destratégies d’application
Pour afficher toutes les stratégies de pare-feu, cliquez sur le lien Jeux de stratégies d’application dans la partie gauche.
Figure 4 : toutes les stratégiesde pare-feu
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èglesde 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.
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 : BalisesVous 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 balisesd’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.
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égiesde pare-feu
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 deservices
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.

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.

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.

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.

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).


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).
