Collecter les journaux du daemon d'audit Linux
Ce document explique comment ingérer des journaux Linux Audit Daemon (auditd) dans Google Security Operations à l'aide de Bindplane.
Le daemon d'audit Linux est le composant de l'espace utilisateur du système d'audit Linux. Il enregistre les événements liés à la sécurité sur le système, y compris les accès aux fichiers, les appels système, les événements d'authentification et les refus SELinux. Les journaux auditd sont essentiels pour la surveillance de la conformité, la détection des intrusions et l'analyse forensique sur les hôtes Linux.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps.
- Windows Server 2016 ou version ultérieure, ou hôte Linux avec
systemd. - Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
- Un accès root ou sudo sur l'hôte Linux exécutant auditd.
- Le package
auditdest installé et exécuté sur l'hôte Linux source. - Le package
audispd-pluginsinstallé sur l'hôte Linux source (fournit le plug-inaudisp-syslog).
Obtenir le fichier d'authentification d'ingestion Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agents de collecte.
- Téléchargez le fichier d'authentification d'ingestion. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.
Obtenir l'ID client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Profil.
- Copiez et enregistrez le numéro client de la section Informations sur l'organisation.
Installer l'agent Bindplane
Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.
Installation de fenêtres
- Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installation de Linux
- Ouvrez un terminal avec les droits root ou sudo.
Exécutez la commande suivante :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Ressources d'installation supplémentaires
Pour obtenir d'autres options d'installation, consultez le guide d'installation de l'agent Bindplane.
Configurer l'agent Bindplane pour ingérer les journaux syslog et les envoyer à Google SecOps
Accédez au fichier de configuration :
- Linux :
/status observiq-otel-collector/config.yaml - Windows :
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
- Linux :
Modifiez le fichier
config.yamlcomme suit :receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: '<your_customer_id>' endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'AUDITD' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
- Remplacez
<your_customer_id>par le numéro client réel. - Remplacez
/path/to/ingestion-authentication-file.jsonpar le chemin d'accès au fichier d'authentification enregistré à l'étape Obtenir le fichier d'authentification pour l'ingestion.
Redémarrez l'agent Bindplane pour appliquer les modifications.
Pour redémarrer l'agent Bindplane sous Linux :
Exécutez la commande suivante :
sudo systemctl restart observiq-otel-collectorVérifiez que le service est en cours d'exécution :
sudo systemctl status observiq-otel-collectorRecherchez les erreurs dans les journaux :
sudo journalctl -u observiq-otel-collector -f
Pour redémarrer l'agent Bindplane sous Windows :
Choisissez l'une des options suivantes :
- Invite de commande ou PowerShell en tant qu'administrateur :
net stop observiq-otel-collector && net start observiq-otel-collector- Console Services :
- Appuyez sur
Win+R, saisissezservices.msc, puis appuyez sur Entrée. - Localisez le collecteur observIQ OpenTelemetry.
- Effectuez un clic droit, puis sélectionnez Redémarrer.
- Appuyez sur
Vérifiez que le service est en cours d'exécution :
sc query observiq-otel-collectorRecherchez les erreurs dans les journaux :
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Configurer auditd pour transférer les journaux via syslog
Le plug-in audisp syslog transmet les événements d'audit à syslog, qui les envoie ensuite à l'agent Bindplane. Il s'agit de la méthode recommandée pour transférer les journaux auditd.
Installer le plug-in audisp syslog
- Connectez-vous à l'hôte Linux exécutant auditd avec des droits root ou sudo.
Installez le package
audispd-plugins:- RHEL/CentOS/Fedora :
sudo yum install audispd-plugins- Debian/Ubuntu :
sudo apt install audispd-plugins
Configurer le plug-in syslog
Modifiez le fichier de configuration du plug-in syslog :
sudo nano /etc/audit/plugins.d/syslog.confDéfinissez les valeurs suivantes dans le fichier :
active = yes direction = out path = /sbin/audisp-syslog type = always args = LOG_LOCAL6 format = string- active : défini sur
yespour activer le plug-in. - path : chemin d'accès au binaire
audisp-syslog. - type : définissez la valeur sur
alwayspour exécuter le plug-in en tant que programme externe. - args : service syslog à utiliser. Il est recommandé d'utiliser
LOG_LOCAL6pour séparer les journaux d'audit des autres messages syslog. - format : définissez la valeur sur
stringpour transmettre les événements dans un format texte adapté à syslog.
- active : défini sur
Configurer des règles d'audit (facultatif)
Modifiez le fichier de règles d'audit pour définir les événements à capturer :
sudo nano /etc/audit/rules.d/audit.rulesAjoutez des règles en fonction de vos besoins de surveillance. Exemple :
## Delete all existing rules -D ## Set buffer size (increase for high-volume systems) -b 8192 ## Set failure mode (1 = printk, 2 = panic) -f 1 ## Monitor authentication-related files -w /etc/passwd -p wa -k identity -w /etc/group -p wa -k identity -w /etc/shadow -p wa -k identity -w /etc/sudoers -p wa -k sudoers ## Monitor login events -w /var/log/faillog -p wa -k logins -w /var/log/lastlog -p wa -k logins ## Monitor process execution -a always,exit -F arch=b64 -S execve -k exec ## Monitor network configuration changes -a always,exit -F arch=b64 -S sethostname -S setdomainname -k network ## Make the configuration immutable (must be the last rule) -e 2Chargez les nouvelles règles d'audit :
sudo augenrules --load
Redémarrer auditd
Redémarrez le service auditd pour appliquer les modifications apportées au plug-in et aux règles :
sudo service auditd restart
Configurer rsyslog pour transférer les journaux d'audit vers Bindplane
Créez un fichier de configuration rsyslog pour le transfert des journaux d'audit :
sudo nano /etc/rsyslog.d/audit-forward.confAjoutez la ligne suivante pour transférer les journaux via UDP à l'agent Bindplane :
local6.* @<BINDPLANE_IP>:514Redémarrez rsyslog pour appliquer les modifications :
sudo systemctl restart rsyslog
Vérifier le transfert de journaux
Sur l'hôte Linux source, générez un événement d'audit de test :
sudo auditctl -w /tmp/test_audit -p wa -k test_chronicleDéclenchez le fichier en appuyant dessus :
touch /tmp/test_auditSur l'hôte de l'agent Bindplane, vérifiez que les journaux sont bien reçus :
sudo journalctl -u observiq-otel-collector -f
Table de mappage UDM
| Champ de journal | Mappage UDM | Logique |
|---|---|---|
acct |
target.user.userid |
Valeur extraite du champ acct. |
addr |
principal.ip |
Valeur extraite du champ addr s'il s'agit d'une adresse IP valide. |
arch |
additional.fields |
Ajouté en tant que paire clé-valeur avec la clé "arch". |
auid |
principal.user.userid |
Valeur extraite du champ auid. Utilisé comme ID utilisateur d'audit. |
comm |
target.process.command_line |
Valeur extraite du champ comm. |
cwd |
additional.fields |
Ajouté en tant que paire clé-valeur avec la clé "cwd". |
exe |
target.process.file.full_path |
Valeur extraite du champ exe. |
exit |
additional.fields |
Ajouté en tant que paire clé-valeur avec la clé "exit". |
gid |
principal.user.group_identifiers |
Valeur extraite du champ gid. |
hostname |
principal.hostname |
Valeur extraite du champ hostname. |
key |
security_result.detection_fields |
Ajouté en tant que paire clé-valeur avec la clé "audit_key". |
msg |
metadata.description |
Analysé à partir du champ msg. Contient le message de l'événement d'audit. |
name |
target.file.full_path |
Valeur extraite du champ name, le cas échéant. |
node |
principal.hostname |
Valeur extraite du champ node si hostname n'est pas présent. |
op |
metadata.product_event_type |
Valeur extraite du champ op (type d'opération). |
pid |
principal.process.pid |
Valeur extraite du champ pid. |
ppid |
principal.process.parent_process.pid |
Valeur extraite du champ ppid. |
res |
security_result.action |
Définissez la valeur sur "ALLOW" si res est défini sur "success" ou "1". Définissez sur "BLOCK" si res est défini sur "failed" ou "0". |
ses |
network.session_id |
Valeur extraite du champ ses (ID de session). |
subj |
principal.process.file.full_path |
Valeur extraite du champ subj (contexte SELinux du sujet). |
syscall |
additional.fields |
Ajouté en tant que paire clé-valeur avec la clé "syscall". |
terminal |
additional.fields |
Ajouté en tant que paire clé-valeur avec la clé "terminal". |
type |
metadata.product_event_type |
Valeur extraite du champ type (type d'enregistrement d'audit, par exemple SYSCALL, USER_LOGIN ou EXECVE). |
uid |
principal.user.userid |
Valeur extraite du champ uid. |
metadata.event_type |
Dérivé du type d'enregistrement d'audit. Définissez la valeur sur "USER_LOGIN" pour les événements de connexion, "USER_LOGOUT" pour les événements de déconnexion, "PROCESS_LAUNCH" pour les événements d'exécution et "FILE_MODIFICATION" pour les événements de fichier. La valeur par défaut est "GENERIC_EVENT". | |
metadata.product_name |
Définissez-le sur "auditd". | |
metadata.vendor_name |
Défini sur "Linux". | |
home |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
shell |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
name |
event.idm.read_only_udm.target.user.userid |
Mappé à partir du journal des modifications |
name |
event.idm.read_only_udm.target.group.group_display_name |
Mappé à partir du journal des modifications |
UID |
event.idm.read_only_udm.target.user.product_object_id |
Mappé à partir du journal des modifications |
GID |
event.idm.read_only_udm.target.user.group_identifiers |
Mappé à partir du journal des modifications |
GID |
event.idm.read_only_udm.target.group.product_object_id |
Mappé à partir du journal des modifications |
key_type |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
hash |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
key_fingerprint |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
user |
event.idm.read_only_udm.target.user.userid |
Mappé à partir du journal des modifications |
error_detail1 |
event.idm.read_only_udm.security_result.summary |
Mappé à partir du journal des modifications |
service_name |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
ssh_disconnect_code |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
labels.bp_csoc |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
labels.bp_env_id |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
labels.log.file.name |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
resource.labels.node_id |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
intermediary_host |
event.idm.read_only_udm.intermediary.hostname |
Mappé à partir du journal des modifications |
PWD |
event.idm.read_only_udm.target.file.full_path |
Mappé à partir du journal des modifications |
log_details |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
indicator.SUID |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.UID |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.AUID |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
type_crypto_props.msg |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
usr |
event.idm.read_only_udm.principal.user.userid |
Mappé à partir du journal des modifications |
pi |
event.idm.read_only_udm.principal.process.pid |
Mappé à partir du journal des modifications |
cmnd |
event.idm.read_only_udm.target.process.command_line |
Mappé à partir du journal des modifications |
proctitle_value |
event.idm.read_only_udm.principal.process.file.full_path |
Mappé à partir du journal des modifications |
filename |
event.idm.read_only_udm.principal.process.file.names |
Mappé à partir du journal des modifications |
filepath |
event.idm.read_only_udm.target.file.full_path |
Mappé à partir du journal des modifications |
uid |
event.idm.read_only_udm.principal.user.userid |
Mappé à partir du journal des modifications |
acct |
event.idm.read_only_udm.principal.user.user_display_name |
Mappé à partir du journal des modifications |
exe |
event.idm.read_only_udm.target.process.file.full_path |
Mappé à partir du journal des modifications |
pid |
event.idm.read_only_udm.principal.process.pid |
Mappé à partir du journal des modifications |
auid |
event.idm.read_only_udm.about.user.userid |
Mappé à partir du journal des modifications |
ses |
event.idm.read_only_udm.network.session_id |
Mappé à partir du journal des modifications |
addr |
event.idm.read_only_udm.principal.ip et event.idm.read_only_udm.principal.asset.ip |
Mappé à partir du journal des modifications |
subj |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
res |
event.idm.read_only_udm.security_result.summary |
Mappé à partir du journal des modifications |
op |
event.idm.read_only_udm.security_result.summary |
Mappé à partir du journal des modifications |
msg_value |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
grantors_value |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.msg |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.grantors |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
terminal |
event.idm.read_only_udm.principal.application |
Mappé à partir du journal des modifications |
sec_result |
event.idm.read_only_udm.security_result |
Mappé à partir du journal des modifications |
hostname |
event.idm.read_only_udm.principal.hostname |
Mappé à partir du journal des modifications |
indicator.mode |
event.idm.read_only_udm.src.user.attribute.permissions |
Mappé à partir du journal des modifications |
indicator.nametype |
event.idm.read_only_udm.security_result.rule_name |
Mappé à partir du journal des modifications |
indicator.cap_frootid |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.cap_fver |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.cap_fi |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.cap_fp |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.cap_fe |
event.idm.read_only_udm.security_result.detection_fields |
Mappé à partir du journal des modifications |
OUID |
event.idm.read_only_udm.principal.user.userid |
Mappé à partir du journal des modifications |
OGID |
event.idm.read_only_udm.principal.group.group_display_name |
Mappé à partir du journal des modifications |
action_data |
event.idm.read_only_udm.security_result.action_details |
Mappé à partir du journal des modifications |
target_email |
event.idm.ready_only_udm.target.user.email_addresses |
Mappé à partir du journal des modifications |
target_port |
event.idm.ready_only_udm.target.port |
Mappé à partir du journal des modifications |
status |
event.idm.ready_only_udm.security_result.action_details |
Mappé à partir du journal des modifications |
to_email |
event.idm.ready_only_udm.network.email.to |
Mappé à partir du journal des modifications |
target_hostname |
event.idm.ready_only_udm.target.hostname |
Mappé à partir du journal des modifications |
"relay_data" |
event.idm.ready_only_udm.additional.fields |
Mappé à partir du journal des modifications |
"delays_data" |
event.idm.ready_only_udm.additional.fields |
Mappé à partir du journal des modifications |
"delay_data" |
event.idm.ready_only_udm.additional.fields |
Mappé à partir du journal des modifications |
and "dns_data" |
event.idm.ready_only_udm.additional.fields |
Mappé à partir du journal des modifications |
bytes_sent |
event.idm.ready_only_udm.network.sent_bytes |
Mappé à partir du journal des modifications |
bytes_received |
event.idm.ready_only_udm.network.received_bytes |
Mappé à partir du journal des modifications |
response_code |
event.idm.ready_only_udm.network.http.response_code |
Mappé à partir du journal des modifications |
principal_user_name |
principal.user.userid |
Mappé à partir du journal des modifications |
remote |
principal.ip |
Mappé à partir du journal des modifications |
method |
network.http.method |
Mappé à partir du journal des modifications |
path |
principal.file.full_path |
Mappé à partir du journal des modifications |
code |
additional.fields |
Mappé à partir du journal des modifications |
size |
principal.file.size |
Mappé à partir du journal des modifications |
agent |
network.http.user_agent |
Mappé à partir du journal des modifications |
az |
principal.location.name |
Mappé à partir du journal des modifications |
ec2_instance_id |
principal.asset.product_object_id |
Mappé à partir du journal des modifications |
private_ip |
principal.ip |
Mappé à partir du journal des modifications |
ProviderName |
additional.fields |
Mappé à partir du journal des modifications |
Version |
additional.fields |
Mappé à partir du journal des modifications |
Task |
additional.fields |
Mappé à partir du journal des modifications |
EventRecordID |
additional.fields |
Mappé à partir du journal des modifications |
ThreadID |
additional.fields |
Mappé à partir du journal des modifications |
messageType |
target.resource.attribute.labels |
Mappé à partir du journal des modifications |
owner |
principal.user.userid |
Mappé à partir du journal des modifications |
logevent.id |
metadata.product_log_id |
Mappé à partir du journal des modifications |
logGroup |
secu_result.about.resource.name |
Mappé à partir du journal des modifications |
logStream |
secu_result.about.resource.attribute.labels |
Mappé à partir du journal des modifications |
ip_addr |
principal.ip |
Mappé à partir du journal des modifications |
gd |
secu_result.description |
Mappé à partir du journal des modifications |
process |
target.application |
Mappé à partir du journal des modifications |
pid |
target.process.pid |
Mappé à partir du journal des modifications |
status_code |
network.http.response_code |
Mappé à partir du journal des modifications |
url |
network.http.referral_url |
Mappé à partir du journal des modifications |
useragent |
network.http.user_agent |
Mappé à partir du journal des modifications |
request |
additional.fields |
Mappé à partir du journal des modifications |
tls_version |
network.tls.version |
Mappé à partir du journal des modifications |
hostname_is |
principal.hostname |
Mappé à partir du journal des modifications |
referrer |
network.http.referral_url |
Mappé à partir du journal des modifications |
metadata.event_type |
USER_LOGIN |
Mappé à partir du journal des modifications |
metadata.event_type |
PROCESS_UNCATEGORIZED |
Mappé à partir du journal des modifications |
srcIP |
principal.ip |
Mappé à partir du journal des modifications |
username |
principal.user.user_display_name |
Mappé à partir du journal des modifications |
type_syscall_props.msg |
additional.fields |
Mappé à partir du journal des modifications |
sw", "sw_type", and "subj |
security_result.detection_fields |
Mappé à partir du journal des modifications |
indicator.SYSCALL |
security_result.detection_fields |
Mappé à partir du journal des modifications |
exe |
principal.process.file.full_path |
Mappé à partir du journal des modifications |
target.user.userid |
principal.user.userid |
Mappé à partir du journal des modifications |
target_user_name |
target.user.userid |
Mappé à partir du journal des modifications |
field |
field33 |
Mappé à partir du journal des modifications |
fp |
network.tls.client.certificate.sha256 |
Mappé à partir du journal des modifications |
pid |
principal.process.pid |
Mappé à partir du journal des modifications |
syslog-tag |
security_result.detection_fields |
Mappé à partir du journal des modifications |
inter_ip |
intermediary.ip |
Mappé à partir du journal des modifications |
inter_hostname |
intermediary.hostname |
Mappé à partir du journal des modifications |
grp |
target.group.group_display_name |
Mappé à partir du journal des modifications |
id |
about.user.userid |
Mappé à partir du journal des modifications |
acct |
target.user.user_display_name |
Mappé à partir du journal des modifications |
uid |
principal.user.userid |
Mappé à partir du journal des modifications |
auid |
about.user.userid |
Mappé à partir du journal des modifications |
auid |
target.user.userid |
Mappé à partir du journal des modifications |
op" and "id |
security_result.summary |
Mappé à partir du journal des modifications |
op" and "acct |
security_result.summary |
Mappé à partir du journal des modifications |
labels.compute.googleapis.com/resource_name","jsonPayload._HOSTNAME" , "CollectorHostName", "HOSTNAME", and "Computer |
principal.hostname |
Mappé à partir du journal des modifications |
HostIP |
principal.ip |
Mappé à partir du journal des modifications |
ProcessID" and "jsonPayload._PID |
principal.process.pid |
Mappé à partir du journal des modifications |
SyslogMessage |
metadata.description |
Mappé à partir du journal des modifications |
TenantId", "_ItemId", "_Internal_WorkspaceResourceId", "_ResourceId", and "Facility |
additional.fields |
Mappé à partir du journal des modifications |
SeverityLevel |
security_result.severity |
Mappé à partir du journal des modifications |
SourceSystem |
principal.platform |
Mappé à partir du journal des modifications |
jsonPayload._COMM |
principal.application |
Mappé à partir du journal des modifications |
jsonPayload._EXE |
target.process.file.full_path |
Mappé à partir du journal des modifications |
jsonPayload._AUDIT_FIELD_FILE |
target.file.full_path |
Mappé à partir du journal des modifications |
jsonPayload._AUDIT_FIELD_HASH |
target.file.hash |
Mappé à partir du journal des modifications |
jsonPayload._AUDIT_SESSION |
network.session_id |
Mappé à partir du journal des modifications |
jsonPayload._PPID |
principal.process.parent_process.pid |
Mappé à partir du journal des modifications |
jsonPayload._AUDIT_FIELD_A0", "jsonPayload._AUDIT_FIELD_A1", "jsonPayload._AUDIT_FIELD_A2", "jsonPayload._AUDIT_FIELD_A3", "jsonPayload._BOOT_ID", and "jsonPayload._AUDIT_FIELD_EXIT |
security_result.detection_fields |
Mappé à partir du journal des modifications |
id |
target.user.userid |
Mappé à partir du journal des modifications |
ID |
target.user.user_display_name |
Mappé à partir du journal des modifications |
user_name |
principal.user.userid |
Mappé à partir du journal des modifications |
principal_user_userid |
principal.user.userid |
Mappé à partir du journal des modifications |
vendor_name |
Linux |
Mappé à partir du journal des modifications |
product_name |
AuditD |
Mappé à partir du journal des modifications |
ip |
target.ip |
Mappé à partir du journal des modifications |
success |
security_result.summary |
Mappé à partir du journal des modifications |
syscall", "exit", "tty", "a0", "a1", "a2", "a3 |
security_result.about.labels |
Mappé à partir du journal des modifications |
Journal des modifications
Afficher le journal des modifications pour ce parseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.