Qu'est-ce-qu'un groupe de sécurité🔗
Un groupe de sécurité correspond à un ensemble de règles de filtrage IPs qui sont appliqués sur toutes les instances d'un projet Openstack. Ces règles définissent en partie les politiques de filtrage en supplément de ce qui peut être configuré localement en terme de parefeu sur une instance.
le groupe de sécurité par défaut🔗
Tout projet possède un groupe de sécurité par défaut. Ce dernier possède quelques règles:
- tout trafic provenant des instances d'OpenStack est autorisé;
- tout trafic extérieur à OpenStack (internet, Serveur Cloud-Control,... ) vers l'instance est bloqué.
Il est possible également de créer un ou des groupes de sécurité qui permettront d'autoriser et de spécifier une liste de protocoles pour un groupe précis d'instances. Par exemple pour un une instance avec un serveur HTTP, il est pertinent de créer un groupe autorisant :
- éventuellement l'ICMP;
- le port TCP 80 (HTTP);
- le port TCP 443 (HTTPS);
- le port TCP 22 (SSH).
Attention
Le processus Cloud-Init à besoin de communiquer avec les services d'Openstack. Si le traffic sortant a été complètement interdit, Cloud-Init ne sera pas opérationnel. Pour remédier à cela, il est possible d'utiliser le disque de configuration.
Stateful et Stateless
Un groupe de sécurité stateful (le comportement par défaut) laisse passer les réponses des requêtes sortantes sans tenir compte des règles de flux entrant, et vice-versa.
Par exemple, si la communication vers un serveur distant est autorisée, la réponse du serveur suite à une requête sera acceptée. De même, si la communication est autorisé depuis un serveur distant, la réponse émise suite à une requête de ce serveur sera transmise, même si les flux sortant vers ce serveur sont interdits.
Un groupe de sécurité stateless, lui, observera strictement les règles de sécurité définit pour chaque flux. Si la communication est interdite vers un serveur, aucune communication ne passera, même en réponse à une requête. De même pour les flux entrants.
Afficher les groupes de sécurité🔗
Depuis l'interface🔗
- Ouvrir le menu "Openstack", puis "Réseaux" ;
- Cliquer sur "Groupes de sécurité" ;
- La liste des groupes de sécurité se situe sur la gauche de la page;
- Cliquer sur le nom d'un groupe de sécurité pour l'afficher .
Depuis la CLI🔗
Lister les groupes🔗
$ openstack security group list
+--------------------------------------+---------+------------------------+----------------------------------+------+
| ID | Name | Description | Project | Tags |
+--------------------------------------+---------+------------------------+----------------------------------+------+
| 5691c9a4-59b2-4c77-be13-1f709da9c648 | default | Default security group | 3a5e96cb73d24c7b981be504d8adcf88 | [] |
| 6c0a32fe-3bf1-4609-a52c-2d8e68ebdf3a | OpenSSH | | 3a5e96cb73d24c7b981be504d8adcf88 | [] |
+--------------------------------------+---------+------------------------+----------------------------------+------+
Afficher un groupe🔗
$ openstack security group show OpenSSH
+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| created_at | 2021-09-16T13:51:58Z |
| description | |
| id | 6c0a32fe-3bf1-4609-a52c-2d8e68ebdf3a |
| name | OpenSSH |
| project_id | 3a5e96cb73d24c7b981be504d8adcf88 |
| revision_number | 1 |
| rules | created_at='2021-09-16T13:51:58Z', direction='egress', ethertype='IPv4', id='1b7c60f7-ad0b-403f-8b55-efb59b3fed15', updated_at='2021-09-16T13:51:58Z' |
| | created_at='2021-09-16T13:51:58Z', direction='egress', ethertype='IPv6', id='4f48c5b9-ef91-4d86-8af9-1483661df619', updated_at='2021-09-16T13:51:58Z' |
| stateful | True |
| tags | [] |
| updated_at | 2021-09-16T13:51:58Z |
+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
Lister les règles d'un groupe🔗
$ openstack security group rule list OpenSSH
+--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+
| ID | IP Protocol | Ethertype | IP Range | Port Range | Direction | Remote Security Group | Remote Address Group |
+--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+
| 1b7c60f7-ad0b-403f-8b55-efb59b3fed15 | None | IPv4 | 0.0.0.0/0 | | egress | None | None |
| 30a85b6f-4257-49b2-8613-6551bdd480d5 | tcp | IPv4 | 0.0.0.0/0 | 22:22 | ingress | None | None |
| 4f48c5b9-ef91-4d86-8af9-1483661df619 | None | IPv6 | ::/0 | | egress | None | None |
+--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+