Collecter les journaux Infoblox
Ce document explique comment collecter les journaux Infoblox à l'aide d'un redirecteur Google Security Operations.
Pour en savoir plus, consultez Ingestion de données dans Google Security Operations.
Une étiquette d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré. Les informations de ce document s'appliquent au parseur avec le libellé d'ingestion INFOBLOX_DNS
.
Configurer Infoblox
- Connectez-vous à l'interface utilisateur Web Infoblox.
- Dans l'interface utilisateur Web Infoblox, sélectionnez System > System properties editor > Monitoring (Système > Éditeur des propriétés système > Surveillance).
- Cochez la case Enregistrer sur des serveurs syslog externes.
- Dans la section Serveurs Syslog externes, cliquez sur le signe plus (+) pour ajouter un serveur Syslog pour le redirecteur Google Security Operations.
- Dans le champ Adresse, saisissez l'adresse IP du serveur de transfert Google Security Operations.
- Dans la liste Transport, sélectionnez TCP ou UDP.
- Dans le champ Port, saisissez le numéro de port.
- Dans la liste ID du nœud, sélectionnez LAN pour inclure l'adresse IP Infoblox dans l'en-tête syslog.
- Dans la liste Available (Disponible), sélectionnez les éléments suivants et déplacez-les vers la liste Selected (Sélectionné) :
- Requêtes DNS
- Réponses DNS
- Processus DHCP
Le serveur Infoblox transmet les journaux de requêtes et de réponses à l'aide de syslog au redirecteur Google Security Operations.
Configurer le transfert Google Security Operations et syslog pour ingérer les journaux Infoblox
- Sélectionnez Paramètres SIEM > Transmetteurs.
- Cliquez sur Ajouter un nouveau transfert.
- Saisissez un nom unique dans le champ Nom du transitaire.
- Cliquez sur Envoyer, puis sur Confirmer. Le redirecteur est ajouté et la fenêtre Ajouter une configuration de collecteur s'affiche.
- Dans le champ Nom du collecteur, saisissez un nom unique pour le collecteur.
- Sélectionnez Infoblox comme type de journal.
- Sélectionnez Syslog comme type de collecteur.
- Configurez les paramètres d'entrée suivants :
- Protocole : spécifiez le protocole de connexion que le collecteur utilisera pour écouter les données syslog.
- Adresse : spécifiez l'adresse IP ou le nom d'hôte cible où réside le collecteur et où il écoute les données syslog.
- Port : spécifiez le port cible sur lequel le collecteur réside et écoute les données syslog.
- Cliquez sur Envoyer.
Pour en savoir plus sur les redirecteurs Google Security Operations, consultez la documentation sur les redirecteurs Google Security Operations. Pour en savoir plus sur les exigences de chaque type de redirecteur, consultez Configuration des redirecteurs par type.
Si vous rencontrez des problèmes lors de la création de transferts, contactez l'assistance Google Security Operations.
Référence du mappage de champs
Cet analyseur extrait les journaux DNS Infoblox au format SYSLOG ou CEF, et les normalise au format UDM. Il gère différents formats de journaux à l'aide de modèles Grok, extrait les champs clés tels que l'adresse IP source ou de destination, les détails des requêtes DNS et les informations de sécurité, et les mappe aux champs UDM appropriés.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
agent.hostname |
principal.hostname |
Pour les journaux au format CEF, si agent.hostname existe, il est mappé sur principal.hostname . |
client_ip |
principal.ip |
Pour les journaux au format CEF, si client_ip existe, il est mappé sur principal.ip . |
client_port |
principal.port |
Pour les journaux au format CEF, si client_port existe, il est mappé sur principal.port . |
data |
answers.data |
Extrait du champ data de la section answers du journal brut. Plusieurs occurrences sont mappées en tant qu'objets answers distincts. |
description |
metadata.description |
Mappé directement à partir du champ description du journal brut ou extrait à l'aide de modèles Grok à partir d'autres champs tels que message et msg2 . |
dest_ip1 |
target.ip |
Extrait du journal brut et mappé à target.ip . |
destinationDnsDomain |
dns_question.name |
Pour les journaux au format CEF, si destinationDnsDomain existe, il est mappé sur dns_question.name . |
dns_class |
dns_question.class |
Mappé à l'aide de la table de référence dns_query_class_mapping.include . |
dns_domain |
dns_question.name |
Extrait du champ message du journal brut à l'aide de modèles Grok et mappé à dns_question.name . |
dns_name |
dns_question.name |
Extrait du champ dns_domain à l'aide de modèles Grok et mappé sur dns_question.name . |
dns_records |
answers.data |
Pour les journaux au format CEF, si dns_records existe, il est mappé sur answers.data . Plusieurs occurrences sont mappées en tant qu'objets answers distincts. |
dst_ip |
target.ip ou target.hostname |
Extrait du champ message du journal brut à l'aide de modèles Grok. Si l'adresse IP est valide, elle est mappée sur target.ip . Sinon, elle est mappée sur target.hostname . |
dst_ip1 |
target.ip ou target.hostname |
Extrait du champ message ou msg2 du journal brut à l'aide de modèles Grok. Si l'adresse IP est valide, elle est mappée sur target.ip . Sinon, elle est mappée sur target.hostname . N'est mappé que s'il est différent de dst_ip . |
evt_type |
metadata.product_event_type |
Directement mappé à partir du champ evt_type du journal brut, qui est extrait du champ message à l'aide de modèles Grok. |
InfobloxB1OPHIPAddress |
principal.ip |
Pour les journaux au format CEF, si InfobloxB1OPHIPAddress existe, il est mappé sur principal.ip . |
InfobloxB1Region |
principal.location.country_or_region |
Pour les journaux au format CEF, si InfobloxB1Region existe, il est mappé sur principal.location.country_or_region . |
InfobloxDNSQType |
dns_question.type |
Pour les journaux au format CEF, si InfobloxDNSQType existe, il est mappé sur dns_question.type . |
intermediary |
intermediary.ip ou intermediary.hostname |
Extrait du champ message du journal brut à l'aide de modèles Grok. Si l'adresse IP est valide, elle est mappée sur intermediary.ip . Sinon, elle est mappée sur intermediary.hostname . |
msg2 |
metadata.description , dns.response_code , dns_question.name , target.ip , target.hostname , answers.name , answers.ttl , answers.data , answers.class , answers.type , security_result.severity |
Extrait du champ message du journal brut à l'aide de modèles Grok. Utilisé pour extraire différents champs, mais pas directement mappé à l'UDM. |
name1 |
answers.name |
Extrait du champ msg2 du journal brut à l'aide de modèles Grok et mappé à answers.name . |
name2 |
answers.name |
Extrait du champ msg2 du journal brut à l'aide de modèles Grok et mappé à answers.name . |
protocol |
network.ip_protocol |
Mappé directement à partir du champ protocol du journal brut s'il correspond à des protocoles connus. |
qclass |
dns_question.class |
Champ intermédiaire utilisé pour mapper dns_class à UDM. |
qclass1 |
answers.class |
Champ intermédiaire utilisé pour mapper dns_class1 à UDM. |
qclass2 |
answers.class |
Champ intermédiaire utilisé pour mapper dns_class2 à UDM. |
query_type |
dns_question.type |
Mappé à l'aide de la table de référence dns_record_type.include . |
query_type1 |
answers.type |
Mappé à l'aide de la table de référence dns_record_type.include . |
query_type2 |
answers.type |
Mappé à l'aide de la table de référence dns_record_type.include . |
recursion_flag |
network.dns.recursion_desired |
Si recursion_flag contient un "+", il est mappé sur network.dns.recursion_desired comme étant "true". |
record_type |
dns_question.type |
Champ intermédiaire utilisé pour mapper query_type à UDM. |
record_type1 |
answers.type |
Champ intermédiaire utilisé pour mapper query_type1 à UDM. |
record_type2 |
answers.type |
Champ intermédiaire utilisé pour mapper query_type2 à UDM. |
res_code |
network.dns.response_code |
Mappé à l'aide de la table de référence dns_response_code.include . |
response_code |
network.dns.response_code |
Pour les journaux au format CEF, si response_code existe, il est mappé à network.dns.response_code à l'aide de la table de recherche dns_response_code.include . |
security_action |
security_result.action |
Dérivé du champ status . Si status est défini sur "denied", security_action est défini sur "BLOCK". Sinon, il est défini sur "ALLOW". |
severity |
security_result.severity |
Pour les journaux au format CEF, si severity existe et est défini sur "informational", il est mappé sur security_result.severity en tant que "INFORMATIONAL". |
src_host |
principal.hostname |
Extrait du champ description ou message du journal brut à l'aide de modèles Grok et mappé sur principal.hostname . |
src_ip |
principal.ip ou principal.hostname |
Extrait du champ message du journal brut à l'aide de modèles Grok. Si l'adresse IP est valide, elle est mappée sur principal.ip . Sinon, elle est mappée sur principal.hostname . |
src_port |
principal.port |
Extrait du champ message du journal brut à l'aide de modèles Grok et mappé à principal.port . |
ttl1 |
answers.ttl |
Extrait du champ msg2 du journal brut à l'aide de modèles Grok et mappé à answers.ttl . |
ttl2 |
answers.ttl |
Extrait du champ msg2 du journal brut à l'aide de modèles Grok et mappé à answers.ttl . |
metadata.event_type |
metadata.event_type |
Dérivé de différents champs et de la logique de l'analyseur. La valeur par défaut est GENERIC_EVENT si aucun autre type d'événement n'est identifié. Les valeurs possibles sont NETWORK_DNS , NETWORK_CONNECTION et STATUS_UPDATE . |
metadata.log_type |
metadata.log_type |
Défini sur "INFOBLOX_DNS" par l'analyseur. |
metadata.product_name |
metadata.product_name |
Défini sur "Infoblox DNS" par l'analyseur. |
metadata.vendor_name |
metadata.vendor_name |
Défini sur "INFOBLOX" par l'analyseur. |
metadata.product_version |
metadata.product_version |
Extrait des messages CEF. |
metadata.event_timestamp |
metadata.event_timestamp |
Copié depuis le champ timestamp . |
network.application_protocol |
network.application_protocol |
Définissez sur "DNS" si event_type n'est pas "GENERIC_EVENT" ni "STATUS_UPDATE". |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.