6.4. Enregistrement de l’audit pour la sécurité du réseau
Le plugin réseau OVN-Kubernetes utilise les listes de contrôle d’accès Open Virtual Network (OVN) pour gérer les objets AdminNetworkPolicy, BaselineAdminNetworkPolicy, NetworkPolicy et EgressFirewall. La journalisation de l’audit permet et refuse les événements ACL pour NetworkPolicy, EgressFirewall et BaselineAdminNetworkPolicy ressources personnalisées (CR). La journalisation permet également, nie et passe les événements ACL pour AdminNetworkPolicy (ANP) CR.
L’enregistrement de l’audit est disponible uniquement pour le plugin réseau OVN-Kubernetes.
6.4.1. Configuration de l’audit Copier lienLien copié sur presse-papiers!
La configuration pour l’enregistrement de l’audit est spécifiée dans le cadre de la configuration du fournisseur de réseau de cluster OVN-Kubernetes. Les valeurs YAML suivantes illustrent les valeurs par défaut pour l’enregistrement de l’audit:
Configuration de journalisation de l’audit
Le tableau suivant décrit les champs de configuration pour l’enregistrement de l’audit.
Le champ | Le type | Description |
---|---|---|
| entier | Le nombre maximum de messages pour générer chaque seconde par nœud. La valeur par défaut est de 20 messages par seconde. |
| entier | La taille maximale pour l’audit log in octets. La valeur par défaut est 50000000 ou 50 Mo. |
| entier | Le nombre maximum de fichiers journaux qui sont conservés. |
| chaîne de caractères | B) L’un des objectifs supplémentaires suivants:
|
| chaîne de caractères | L’installation de syslog, telle que kern, telle que définie par la RFC5424. La valeur par défaut est local0. |
6.4.2. Enregistrement de l’audit Copier lienLien copié sur presse-papiers!
Il est possible de configurer la destination pour les journaux d’audit, tels qu’un serveur syslog ou une socket de domaine UNIX. Indépendamment de toute configuration supplémentaire, un journal d’audit est toujours enregistré sur /var/log/ovn/acl-audit-log.log sur chaque pod OVN-Kubernetes dans le cluster.
Il est possible d’activer la journalisation de l’audit pour chaque espace de noms en annotant chaque configuration d’espace de noms avec une section k8s.ovn.org/acl-logging. Dans la section k8s.ovn.org/acl-logging, vous devez spécifier autoriser, refuser ou les deux valeurs pour activer l’enregistrement de l’audit pour un espace de noms.
En règle générale, une stratégie réseau ne prend pas en charge la configuration de l’action Pass.
L’implémentation ACL-logging enregistre les événements de la liste de contrôle d’accès (ACL) pour un réseau. Ces journaux peuvent être consultés pour analyser les éventuels problèmes de sécurité.
Exemple d’annotation d’espace de noms
Afin d’afficher les valeurs de configuration de journalisation ACL par défaut, consultez l’objet policyAuditConfig dans le fichier cluster-network-03-config.yml. Au besoin, vous pouvez modifier les valeurs de configuration de journalisation ACL pour les paramètres du fichier journal dans ce fichier.
Le format de message de journalisation est compatible avec syslog tel que défini par la RFC5424. L’installation syslog est configurable et par défaut à local0. L’exemple suivant montre les paramètres clés et leurs valeurs produites dans un message journal:
Exemple de message de journalisation qui produit les paramètres et leurs valeurs
<timestamp>|<message_serial>|acl_log(ovn_pinctrl0)|<severity>|name="<acl_name>", verdict="<verdict>", severity="<severity>", direction="<direction>": <flow>
<timestamp>|<message_serial>|acl_log(ovn_pinctrl0)|<severity>|name="<acl_name>", verdict="<verdict>", severity="<severity>", direction="<direction>": <flow>
Là où:
- <timestamp> indique l’heure et la date de création d’un message journal.
- <message_serial> répertorie le numéro de série d’un message journal.
- acl_log(ovn_pinctrl0) est une chaîne littérale qui imprime l’emplacement du message journal dans le plugin OVN-Kubernetes.
- <Severity> définit le niveau de sévérité d’un message journal. Lorsque vous activez l’enregistrement de l’audit qui prend en charge les tâches, deux niveaux de gravité s’affichent dans la sortie du message journal.
- <name> indique le nom de l’implémentation ACL-logging dans la base de données OVN Network Bridging Database (nbdb) créée par la stratégie réseau.
- <verdict> peut être autorisé ou tomber.
- <direction> peut être soit à-lport ou à partir de-lport pour indiquer que la politique a été appliquée au trafic allant ou loin d’un pod.
- <flow> affiche les informations de paquet dans un format équivalent au protocole OpenFlow. Ce paramètre comprend les champs Open vSwitch (OVS).
L’exemple suivant montre les champs OVS que le paramètre de flux utilise pour extraire des informations de paquets à partir de la mémoire système:
Exemple de champs OVS utilisés par le paramètre de flux pour extraire des informations sur les paquets
<proto>,vlan_tci=0x0000,dl_src=<src_mac>,dl_dst=<source_mac>,nw_src=<source_ip>,nw_dst=<target_ip>,nw_tos=<tos_dscp>,nw_ecn=<tos_ecn>,nw_ttl=<ip_ttl>,nw_frag=<fragment>,tp_src=<tcp_src_port>,tp_dst=<tcp_dst_port>,tcp_flags=<tcp_flags>
<proto>,vlan_tci=0x0000,dl_src=<src_mac>,dl_dst=<source_mac>,nw_src=<source_ip>,nw_dst=<target_ip>,nw_tos=<tos_dscp>,nw_ecn=<tos_ecn>,nw_ttl=<ip_ttl>,nw_frag=<fragment>,tp_src=<tcp_src_port>,tp_dst=<tcp_dst_port>,tcp_flags=<tcp_flags>
Là où:
- <proto> indique le protocole. Les valeurs valides sont tcp et udp.
- le vlan_tci=0x0000 indique l’en-tête VLAN comme 0 parce qu’un ID VLAN n’est pas défini pour le trafic réseau de pod interne.
- <src_mac> spécifie la source de l’adresse Media Access Control (MAC).
- <source_mac> spécifie la destination de l’adresse MAC.
- <source_ip> répertorie l’adresse IP source
- <target_ip> répertorie l’adresse IP cible.
- <tos_dscp> indique les valeurs du point de code de service différencié (DSCP) pour classer et prioriser certains trafic réseau par rapport à d’autres trafics.
- <tos_ecn> indique les valeurs de notification de congestion explicite (ECN) qui indiquent tout trafic encombré dans votre réseau.
- <IP_TTL> indique les informations Time To Live (TTP) pour un paquet.
- <fragment> spécifie quel type de fragments IP ou de non-fragments IP correspondre.
- <tcp_src_port> affiche la source du port pour les protocoles TCP et UDP.
- <tcp_dst_port> répertorie le port de destination pour les protocoles TCP et UDP.
- <tcp_flags> prend en charge de nombreux drapeaux tels que SYN, ACK, PSH et ainsi de suite. Lorsque vous devez définir plusieurs valeurs, chaque valeur est séparée par une barre verticale (|). Le protocole UDP ne prend pas en charge ce paramètre.
Consultez la page du manuel OVS pour les champs ovs pour obtenir de plus amples renseignements sur les descriptions de terrain précédentes.
Exemple ACL refusant l’entrée de journal pour une stratégie de réseau
2023-11-02T16:28:54.139Z|00004|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:Ingress", verdict=drop, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:01,dl_dst=0a:58:0a:81:02:23,nw_src=10.131.0.39,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=62,nw_frag=no,tp_src=58496,tp_dst=8080,tcp_flags=syn 2023-11-02T16:28:55.187Z|00005|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:Ingress", verdict=drop, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:01,dl_dst=0a:58:0a:81:02:23,nw_src=10.131.0.39,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=62,nw_frag=no,tp_src=58496,tp_dst=8080,tcp_flags=syn 2023-11-02T16:28:57.235Z|00006|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:Ingress", verdict=drop, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:01,dl_dst=0a:58:0a:81:02:23,nw_src=10.131.0.39,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=62,nw_frag=no,tp_src=58496,tp_dst=8080,tcp_flags=syn
2023-11-02T16:28:54.139Z|00004|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:Ingress", verdict=drop, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:01,dl_dst=0a:58:0a:81:02:23,nw_src=10.131.0.39,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=62,nw_frag=no,tp_src=58496,tp_dst=8080,tcp_flags=syn
2023-11-02T16:28:55.187Z|00005|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:Ingress", verdict=drop, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:01,dl_dst=0a:58:0a:81:02:23,nw_src=10.131.0.39,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=62,nw_frag=no,tp_src=58496,tp_dst=8080,tcp_flags=syn
2023-11-02T16:28:57.235Z|00006|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:Ingress", verdict=drop, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:01,dl_dst=0a:58:0a:81:02:23,nw_src=10.131.0.39,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=62,nw_frag=no,tp_src=58496,tp_dst=8080,tcp_flags=syn
Le tableau suivant décrit les valeurs d’annotation de namespace:
Le champ | Description |
---|---|
| Bloque l’accès à l’espace de noms à tout trafic qui correspond à une règle ACL avec l’action de refus. Le champ prend en charge les valeurs d’alerte, d’avertissement, d’avis, d’information ou de débogage. |
| Autorise l’accès à l’espace de noms à tout trafic qui correspond à une règle ACL avec l’action d’autorisation. Le champ prend en charge les valeurs d’alerte, d’avertissement, d’avis, d’information ou de débogage. |
| L’action de passe s’applique à la règle ACL d’une politique de réseau d’administrateur. L’action de passe permet soit à la stratégie réseau dans l’espace de noms, soit à la règle de base de stratégie réseau admin d’évaluer tout le trafic entrant et sortant. La politique de réseau ne soutient pas une action de passage. |
6.4.3. Gestion de l’audit d’administrationNetworkPolicy Copier lienLien copié sur presse-papiers!
L’enregistrement de l’audit est activé par AdminNetworkPolicy CR en annotant une politique ANP avec la clé d’enregistrement k8s.ovn.org/acl-logging comme dans l’exemple suivant:
Exemple 6.8. Exemple d’annotation pour AdminNetworkPolicy CR
Les journaux sont générés chaque fois qu’un OVN ACL spécifique est touché et répond aux critères d’action définis dans votre annotation de journalisation. À titre d’exemple, un événement dans lequel l’un des espaces de noms avec le locataire de l’étiquette : le développement produit accède aux espaces de noms avec le locataire de l’étiquette : backend-stockage, un journal est généré.
La journalisation de l’ACL est limitée à 60 caractères. Lorsque votre nom ANP est long, le reste du journal sera tronqué.
Ce qui suit est un index de direction pour les exemples d’entrées de journal qui suivent:
Direction | La règle |
---|---|
Ingress |
|
Egress |
|
Exemple 6.9. Exemple d’entrée de journal ACL pour Autoriser l’action de l’AdminNetworkPolicy nommé anp-tenant-log avec Ingress:0 et Egress:0
2024-06-10T16:27:45.194Z|00052|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Ingress:0", verdict=allow, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:1a,dl_dst=0a:58:0a:80:02:19,nw_src=10.128.2.26,nw_dst=10.128.2.25,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=57814,tp_dst=8080,tcp_flags=syn 2024-06-10T16:28:23.130Z|00059|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Ingress:0", verdict=allow, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:18,dl_dst=0a:58:0a:80:02:19,nw_src=10.128.2.24,nw_dst=10.128.2.25,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=38620,tp_dst=8080,tcp_flags=ack 2024-06-10T16:28:38.293Z|00069|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Egress:0", verdict=allow, severity=alert, direction=from-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:19,dl_dst=0a:58:0a:80:02:1a,nw_src=10.128.2.25,nw_dst=10.128.2.26,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=47566,tp_dst=8080,tcp_flags=fin|ack=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=55704,tp_dst=8080,tcp_flags=ack
2024-06-10T16:27:45.194Z|00052|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Ingress:0", verdict=allow, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:1a,dl_dst=0a:58:0a:80:02:19,nw_src=10.128.2.26,nw_dst=10.128.2.25,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=57814,tp_dst=8080,tcp_flags=syn
2024-06-10T16:28:23.130Z|00059|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Ingress:0", verdict=allow, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:18,dl_dst=0a:58:0a:80:02:19,nw_src=10.128.2.24,nw_dst=10.128.2.25,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=38620,tp_dst=8080,tcp_flags=ack
2024-06-10T16:28:38.293Z|00069|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Egress:0", verdict=allow, severity=alert, direction=from-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:19,dl_dst=0a:58:0a:80:02:1a,nw_src=10.128.2.25,nw_dst=10.128.2.26,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=47566,tp_dst=8080,tcp_flags=fin|ack=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=55704,tp_dst=8080,tcp_flags=ack
Exemple 6.10. Exemple d’entrée de journal ACL pour l’action Pass de l’AdminNetworkPolicy nommé anp-tenant-log avec Ingress:1 et Egress:1
2024-06-10T16:33:12.019Z|00075|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Ingress:1", verdict=pass, severity=warning, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:1b,dl_dst=0a:58:0a:80:02:19,nw_src=10.128.2.27,nw_dst=10.128.2.25,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=37394,tp_dst=8080,tcp_flags=ack 2024-06-10T16:35:04.209Z|00081|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Egress:1", verdict=pass, severity=warning, direction=from-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:19,dl_dst=0a:58:0a:80:02:1b,nw_src=10.128.2.25,nw_dst=10.128.2.27,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=34018,tp_dst=8080,tcp_flags=ack
2024-06-10T16:33:12.019Z|00075|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Ingress:1", verdict=pass, severity=warning, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:1b,dl_dst=0a:58:0a:80:02:19,nw_src=10.128.2.27,nw_dst=10.128.2.25,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=37394,tp_dst=8080,tcp_flags=ack
2024-06-10T16:35:04.209Z|00081|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Egress:1", verdict=pass, severity=warning, direction=from-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:19,dl_dst=0a:58:0a:80:02:1b,nw_src=10.128.2.25,nw_dst=10.128.2.27,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=34018,tp_dst=8080,tcp_flags=ack
Exemple 6.11. Exemple d’entrée de journal ACL pour l’action Deny de l’AdminNetworkPolicy nommé anp-tenant-log avec Egress:2 et Ingress2
2024-06-10T16:43:05.287Z|00087|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Egress:2", verdict=drop, severity=alert, direction=from-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:19,dl_dst=0a:58:0a:80:02:18,nw_src=10.128.2.25,nw_dst=10.128.2.24,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=51598,tp_dst=8080,tcp_flags=syn 2024-06-10T16:44:43.591Z|00090|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Ingress:2", verdict=drop, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:1c,dl_dst=0a:58:0a:80:02:19,nw_src=10.128.2.28,nw_dst=10.128.2.25,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=33774,tp_dst=8080,tcp_flags=syn
2024-06-10T16:43:05.287Z|00087|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Egress:2", verdict=drop, severity=alert, direction=from-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:19,dl_dst=0a:58:0a:80:02:18,nw_src=10.128.2.25,nw_dst=10.128.2.24,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=51598,tp_dst=8080,tcp_flags=syn
2024-06-10T16:44:43.591Z|00090|acl_log(ovn_pinctrl0)|INFO|name="ANP:anp-tenant-log:Ingress:2", verdict=drop, severity=alert, direction=to-lport: tcp,vlan_tci=0x0000,dl_src=0a:58:0a:80:02:1c,dl_dst=0a:58:0a:80:02:19,nw_src=10.128.2.28,nw_dst=10.128.2.25,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=33774,tp_dst=8080,tcp_flags=syn
Le tableau suivant décrit l’annotation ANP:
Annotation | La valeur |
---|---|
| Il faut spécifier au moins un de Autoriser, Deny ou Pass pour activer la journalisation de l’audit pour un espace de noms.
|
6.4.4. Enregistrement de l’audit de baseAdminNetwork Copier lienLien copié sur presse-papiers!
L’enregistrement de l’audit est activé dans la BaselineAdminNetworkPolicy CR en annotant une politique BANP avec la clé d’enregistrement k8s.ovn.org/acl-logging comme dans l’exemple suivant:
Exemple 6.12. Exemple d’annotation pour BaselineAdminNetworkPolicy CR
Dans l’exemple, un événement dans lequel l’un des espaces de noms avec le locataire de l’étiquette: dns accède aux espaces de noms avec le locataire de l’étiquette: charges de travail, un journal est généré.
Ce qui suit est un index de direction pour les exemples d’entrées de journal qui suivent:
Direction | La règle |
---|---|
Ingress |
|
Egress |
|
Exemple 6.13. Exemple ACL autorise l’entrée de journal pour Autoriser l’action de BANP par défaut avec Ingress:0
Exemple 6.14. Exemple ACL autorise l’entrée de journal pour Autoriser l’action de BANP par défaut avec Egress:0 et Ingress:1
Le tableau suivant décrit l’annotation BANP:
Annotation | La valeur |
---|---|
| Il faut spécifier au moins un de Autoriser ou Deny pour activer l’enregistrement de l’audit pour un espace de noms.
|
6.4.5. Configuration d’un pare-feu egress et d’un audit de stratégie réseau pour un cluster Copier lienLien copié sur presse-papiers!
En tant qu’administrateur de cluster, vous pouvez personnaliser l’enregistrement de l’audit pour votre cluster.
Conditions préalables
- Installez le OpenShift CLI (oc).
- Connectez-vous au cluster avec un utilisateur avec des privilèges cluster-admin.
Procédure
Afin de personnaliser la configuration de journalisation de l’audit, entrez la commande suivante:
oc edit network.operator.openshift.io/cluster
$ oc edit network.operator.openshift.io/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AstuceAlternativement, vous pouvez personnaliser et appliquer les YAML suivants pour configurer l’enregistrement de l’audit:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
La vérification
Créer un espace de noms avec des stratégies réseau complète les étapes suivantes:
Créer un espace de noms pour la vérification:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
namespace/verify-audit-logging created
namespace/verify-audit-logging created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer des stratégies réseau pour l’espace de noms:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
networkpolicy.networking.k8s.io/deny-all created networkpolicy.networking.k8s.io/allow-from-same-namespace created
networkpolicy.networking.k8s.io/deny-all created networkpolicy.networking.k8s.io/allow-from-same-namespace created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Créer un pod pour le trafic source dans l’espace de noms par défaut:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez deux pods dans l’espace de noms check-audit-logging:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
pod/client created pod/server created
pod/client created pod/server created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afin de générer du trafic et de produire des entrées de journal d’audit de stratégie réseau, remplissez les étapes suivantes:
Accédez à l’adresse IP du serveur nommé pod dans l’espace de noms check-audit-logging:
POD_IP=$(oc get pods server -n verify-audit-logging -o jsonpath='{.status.podIP}')
$ POD_IP=$(oc get pods server -n verify-audit-logging -o jsonpath='{.status.podIP}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le ping de l’adresse IP de la commande précédente à partir du client nommé pod dans l’espace de noms par défaut et confirmez que tous les paquets sont supprimés:
oc exec -it client -n default -- /bin/ping -c 2 $POD_IP
$ oc exec -it client -n default -- /bin/ping -c 2 $POD_IP
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
PING 10.128.2.55 (10.128.2.55) 56(84) bytes of data. --- 10.128.2.55 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 2041ms
PING 10.128.2.55 (10.128.2.55) 56(84) bytes of data. --- 10.128.2.55 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 2041ms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le ping de l’adresse IP enregistrée dans la variable d’environnement de shell POD_IP à partir du client nommé pod dans l’espace de noms Vérifier-audit-logement et confirmer que tous les paquets sont autorisés:
oc exec -it client -n verify-audit-logging -- /bin/ping -c 2 $POD_IP
$ oc exec -it client -n verify-audit-logging -- /bin/ping -c 2 $POD_IP
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Afficher les dernières entrées dans le journal d’audit de stratégie réseau:
for pod in $(oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node --no-headers=true | awk '{ print $1 }') ; do oc exec -it $pod -n openshift-ovn-kubernetes -- tail -4 /var/log/ovn/acl-audit-log.log done
$ for pod in $(oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node --no-headers=true | awk '{ print $1 }') ; do oc exec -it $pod -n openshift-ovn-kubernetes -- tail -4 /var/log/ovn/acl-audit-log.log done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.6. Activer l’enregistrement d’un pare-feu et d’une stratégie réseau pour un espace de noms Copier lienLien copié sur presse-papiers!
En tant qu’administrateur de cluster, vous pouvez activer la journalisation de l’audit pour un espace de noms.
Conditions préalables
- Installez le OpenShift CLI (oc).
- Connectez-vous au cluster avec un utilisateur avec des privilèges cluster-admin.
Procédure
Afin d’activer la journalisation de l’audit pour un espace de noms, entrez la commande suivante:
oc annotate namespace <namespace> \ k8s.ovn.org/acl-logging='{ "deny": "alert", "allow": "notice" }'
$ oc annotate namespace <namespace> \ k8s.ovn.org/acl-logging='{ "deny": "alert", "allow": "notice" }'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow là où:
<namespace>
- Indique le nom de l’espace de noms.
AstuceAlternativement, vous pouvez appliquer le YAML suivant pour activer l’enregistrement de l’audit:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
namespace/verify-audit-logging annotated
namespace/verify-audit-logging annotated
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
La vérification
Afficher les dernières entrées dans le journal d’audit:
for pod in $(oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node --no-headers=true | awk '{ print $1 }') ; do oc exec -it $pod -n openshift-ovn-kubernetes -- tail -4 /var/log/ovn/acl-audit-log.log done
$ for pod in $(oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node --no-headers=true | awk '{ print $1 }') ; do oc exec -it $pod -n openshift-ovn-kubernetes -- tail -4 /var/log/ovn/acl-audit-log.log done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
2023-11-02T16:49:57.909Z|00028|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:allow-from-same-namespace:Egress:0", verdict=allow, severity=alert, direction=from-lport: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:22,dl_dst=0a:58:0a:81:02:23,nw_src=10.129.2.34,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,icmp_type=8,icmp_code=0 2023-11-02T16:49:57.909Z|00029|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:allow-from-same-namespace:Ingress:0", verdict=allow, severity=alert, direction=to-lport: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:22,dl_dst=0a:58:0a:81:02:23,nw_src=10.129.2.34,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,icmp_type=8,icmp_code=0 2023-11-02T16:49:58.932Z|00030|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:allow-from-same-namespace:Egress:0", verdict=allow, severity=alert, direction=from-lport: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:22,dl_dst=0a:58:0a:81:02:23,nw_src=10.129.2.34,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,icmp_type=8,icmp_code=0 2023-11-02T16:49:58.932Z|00031|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:allow-from-same-namespace:Ingress:0", verdict=allow, severity=alert, direction=to-lport: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:22,dl_dst=0a:58:0a:81:02:23,nw_src=10.129.2.34,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,icmp_type=8,icmp_code=0
2023-11-02T16:49:57.909Z|00028|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:allow-from-same-namespace:Egress:0", verdict=allow, severity=alert, direction=from-lport: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:22,dl_dst=0a:58:0a:81:02:23,nw_src=10.129.2.34,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,icmp_type=8,icmp_code=0 2023-11-02T16:49:57.909Z|00029|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:allow-from-same-namespace:Ingress:0", verdict=allow, severity=alert, direction=to-lport: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:22,dl_dst=0a:58:0a:81:02:23,nw_src=10.129.2.34,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,icmp_type=8,icmp_code=0 2023-11-02T16:49:58.932Z|00030|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:allow-from-same-namespace:Egress:0", verdict=allow, severity=alert, direction=from-lport: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:22,dl_dst=0a:58:0a:81:02:23,nw_src=10.129.2.34,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,icmp_type=8,icmp_code=0 2023-11-02T16:49:58.932Z|00031|acl_log(ovn_pinctrl0)|INFO|name="NP:verify-audit-logging:allow-from-same-namespace:Ingress:0", verdict=allow, severity=alert, direction=to-lport: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:22,dl_dst=0a:58:0a:81:02:23,nw_src=10.129.2.34,nw_dst=10.129.2.35,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,icmp_type=8,icmp_code=0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.7. Désactivation du pare-feu egress et de l’audit de stratégie réseau pour un espace de noms Copier lienLien copié sur presse-papiers!
En tant qu’administrateur de cluster, vous pouvez désactiver la journalisation de l’audit pour un espace de noms.
Conditions préalables
- Installez le OpenShift CLI (oc).
- Connectez-vous au cluster avec un utilisateur avec des privilèges cluster-admin.
Procédure
Afin de désactiver la journalisation de l’audit pour un espace de noms, entrez la commande suivante:
oc annotate --overwrite namespace <namespace> k8s.ovn.org/acl-logging-
$ oc annotate --overwrite namespace <namespace> k8s.ovn.org/acl-logging-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow là où:
<namespace>
- Indique le nom de l’espace de noms.
AstuceAlternativement, vous pouvez appliquer le YAML suivant pour désactiver l’enregistrement de l’audit:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
namespace/verify-audit-logging annotated
namespace/verify-audit-logging annotated
Copy to Clipboard Copied! Toggle word wrap Toggle overflow