Collecter les journaux de commutateur Dell
Ce parseur extrait les journaux de commutateur Dell, normalise les codes temporels et utilise des modèles Grok pour structurer le message de journal en paires clé/valeur. Il mappe ensuite ces champs extraits au modèle de données unifié (UDM), en gérant différents formats de journaux et en enrichissant les données avec des informations contextuelles telles que les détails des composants et le niveau de gravité de la sécurité.
Avant de commencer
- Assurez-vous de disposer d'une instance Google Security Operations.
- Assurez-vous d'utiliser Windows 2016 ou une version ultérieure, ou un hôte Linux avec
systemd
. - Si vous exécutez le programme derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.
- Assurez-vous de disposer d'une connexion active et d'identifiants d'administrateur pour un commutateur Dell.
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 l'agent 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
Installation de Windows
- 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 plus d'options d'installation, consultez ce guide d'installation.
Configurer l'agent Bindplane pour ingérer les journaux Syslog et les envoyer à Google SecOps
Accédez au fichier de configuration :
- Recherchez le fichier
config.yaml
. En règle générale, il se trouve dans le répertoire/etc/bindplane-agent/
sous Linux ou dans le répertoire d'installation sous Windows. - Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple,
nano
,vi
ou le Bloc-notes).
- Recherchez le fichier
Modifiez le fichier
config.yaml
comme suit :receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: sell_switch raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
Remplacez
<customer_id>
par le numéro client réel.Mettez à jour
/path/to/ingestion-authentication-file.json
en indiquant le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.
Redémarrer l'agent Bindplane pour appliquer les modifications
Sous Linux, pour redémarrer l'agent Bindplane, exécutez la commande suivante :
sudo systemctl restart bindplane-agent
Sous Windows, pour redémarrer l'agent Bindplane, vous pouvez utiliser la console Services ou saisir la commande suivante :
net stop BindPlaneAgent && net start BindPlaneAgent
Configurer l'exportation Syslog depuis un commutateur Dell
- Connectez-vous au commutateur Dell à l'aide de SSH ou du port de la console.
- Connectez-vous avec des identifiants d'administrateur.
Utilisez la commande suivante pour spécifier l'adresse IP ou le nom d'hôte du serveur syslog (remplacez
<syslog_server_ip>
,<udp|tcp>
et<syslog-port-number>
par les informations réelles) :logging host <syslog-server-ip> transport <udp|tcp> port <syslog-port-number>
Facultatif : Définissez le niveau de gravité minimal des messages à envoyer au serveur syslog. Par exemple, pour enregistrer les messages d'information et les messages de niveau supérieur :
logging level informational
Enregistrez la configuration en cours d'exécution dans la configuration de démarrage pour vous assurer que les modifications sont conservées lors des redémarrages :
copy running-config startup-config
Enregistrez la configuration :
write memory
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
acct |
principal.user.userid |
Utilisé comme userid si le champ user n'est pas présent. |
addr |
principal.asset.ip , principal.ip |
Analysé comme une adresse IP et utilisé pour l'adresse IP du principal et l'adresse IP de l'asset s'il s'agit d'une adresse IP valide et différente du nom d'hôte. |
application |
principal.application |
Mappé directement. |
asset |
principal.asset.attribute.labels.value |
Directement mappé à la valeur du libellé d'élément, avec la clé codée en dur "Nom de l'élément". Si le champ "Asset" est vide et que le message contient "Dell", l'asset est défini sur "Dell". |
auid |
principal.resource.attribute.labels.value |
Directement mappé à un libellé avec la clé auid dans principal.resource.attribute.labels . |
datetime |
metadata.event_timestamp |
Analysé à partir de différents formats dans le champ du message et converti en code temporel. |
dest_ip |
target.asset.ip , target.ip |
Mappé à l'adresse IP cible et à l'adresse IP de l'élément cible. |
enterpriseId |
principal.resource.attribute.labels.value |
Mappé à un libellé avec la clé enterpriseId dans principal.resource.attribute.labels . |
exe |
sec_result.detection_fields.value |
Mappé à un champ de détection avec la clé exe . |
File |
target.file.full_path |
Mappé directement. |
grantors |
principal.resource.attribute.labels.value |
Mappé à un libellé avec la clé grantors dans principal.resource.attribute.labels . |
host |
principal.hostname , principal.asset.hostname , metadata.event_type |
Utilisé comme nom d'hôte principal et nom d'hôte de l'élément. Si host est présent, metadata.event_type est défini sur STATUS_UPDATE . Si le nom d'hôte est présent, mais pas l'hôte, le nom d'hôte est utilisé comme hôte. |
hostname |
principal.asset.ip , principal.ip , host |
Adresse IP valide, utilisée pour l'adresse IP principale et l'adresse IP de l'asset. Si host est vide, il est utilisé comme host . |
ID |
principal.resource.attribute.labels.value |
Mappé à un libellé avec la clé ID dans principal.resource.attribute.labels . |
ip |
principal.asset.ip , principal.ip |
Mappé à l'adresse IP principale et à l'adresse IP de l'élément. |
is_synced |
sec_result.detection_fields.value |
Mappé à un champ de détection avec la clé is_synced . |
local |
target.asset.ip , target.ip , target.port |
Analysé pour extraire l'adresse IP et le port locaux, mappés à l'adresse IP cible, à l'adresse IP de l'asset cible et au port cible. |
local_ip |
target.asset.ip , target.ip |
Extrait du champ local et mappé à l'adresse IP cible et à l'adresse IP de l'asset cible. |
local_port |
target.port |
Extrait du champ local et mappé au port cible. |
mac |
principal.mac |
Si l'adresse MAC est valide, elle est mappée à l'adresse MAC principale. |
msg |
metadata.description |
Utilisé comme description de l'événement, le cas échéant. Également analysé pour les champs supplémentaires. |
msg1 |
metadata.description |
Utilisé comme description de l'événement si msg2 n'est pas présent. |
msg2 |
sec_result.description , metadata.event_type , extensions.auth.type |
Utilisé comme description du résultat de sécurité. Si elle contient "opened for user" (ouvert pour l'utilisateur), le type d'événement est défini sur USER_LOGIN et le type d'authentification sur MACHINE . Si elle contient "closed for user" (fermé pour l'utilisateur), le type d'événement est défini sur USER_LOGOUT et le type d'authentification sur MACHINE . |
op |
metadata.product_event_type |
Utilisé comme type d'événement produit, le cas échéant. |
pid |
principal.process.pid |
Mappé directement. |
port |
principal.port |
Mappé directement. |
prod_event_type |
metadata.product_event_type |
Utilisé comme type d'événement produit, le cas échéant. |
res |
sec_result.summary |
Mappé directement. |
sec_description |
sec_result.description , target.url , target.ip , target.asset.ip , sec_result.action_details |
Analysé pour l'URL cible, l'adresse IP et les détails de l'action, et utilisé comme description des résultats de sécurité. |
Server_ID |
target.resource.product_object_id |
Mappé directement. |
server |
principal.asset.ip , principal.ip , principal.port |
Analysé pour extraire l'adresse IP et le port du serveur, mappé à l'adresse IP principale, à l'adresse IP de l'asset principal et au port principal. |
server_ip |
principal.asset.ip , principal.ip |
Extrait du champ server et mappé à l'adresse IP principale et à l'adresse IP de l'actif principal. |
server_port |
principal.port |
Extrait du champ server et mappé au port principal. |
ses |
network.session_id |
Mappé directement. |
severity |
sec_result.severity , metadata.product_event_type |
Permet de déterminer la gravité du résultat de sécurité et le type d'événement produit en fonction de valeurs spécifiques. |
software |
principal.asset.software |
Mappé directement. |
softwareName |
software.name |
Mappé directement. |
Status |
sec_result.summary |
Utilisé comme récapitulatif des résultats de sécurité si res n'est pas présent. |
subj |
principal.resource.attribute.labels.value |
Mappé à un libellé avec la clé subj dans principal.resource.attribute.labels . |
swVersion |
software.version |
Mappé directement. |
target_host |
target.hostname , target.asset.hostname |
Directement mappé au nom d'hôte cible et au nom d'hôte de l'asset cible. |
target_ip |
target.asset.ip , target.ip |
Directement mappé à l'adresse IP cible et à l'adresse IP de l'asset cible. |
target_url |
target.url |
Mappé directement. |
target_user_id |
target.user.userid |
Mappé directement. |
terminal |
principal.resource.attribute.labels.value |
Mappé à un libellé avec la clé terminal dans principal.resource.attribute.labels . |
tzknown |
sec_result.detection_fields.value |
Mappé à un champ de détection avec la clé tzknown . |
uid |
principal.resource.attribute.labels.value |
Mappé à un libellé avec la clé uid dans principal.resource.attribute.labels . |
user |
principal.user.userid , metadata.event_type |
Utilisé comme ID utilisateur principal. Si user est présent, metadata.event_type est défini sur USER_UNCATEGORIZED . |
username |
target.user.userid |
Mappé directement à l'ID utilisateur cible. |
N/A | metadata.vendor_name |
Codé en dur sur "Dell". |
N/A | metadata.product_name |
Codé en dur sur "Dell Switch". |
N/A | extensions.auth.type |
Définissez la valeur sur MACHINE pour des événements de connexion/déconnexion spécifiques. |
N/A | metadata.event_type |
Déterminé par une logique complexe basée sur différents champs et conditions. La valeur par défaut est GENERIC_EVENT si aucune autre valeur n'est définie. Il peut s'agir de USER_LOGIN , USER_LOGOUT , USER_UNCATEGORIZED , NETWORK_CONNECTION , NETWORK_UNCATEGORIZED , STATUS_UPDATE ou GENERIC_EVENT . |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.