Collecter les journaux des commutateurs Dell
Cet analyseur extrait les journaux des commutateurs 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 sur le modèle de données unifié (UDM), gère différents formats de journaux et enrichit les données d'informations contextuelles telles que les détails des composants et la 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 l'application 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'administration 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 BindPlane sera installé.
Obtenir le numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Profil.
- Copiez et sauvegardez l'ID client dans la section Détails de l'organisation.
Installer l'agent BindPlane
Installation de Windows
- Ouvrez l'invite de commande 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 des 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
Autres ressources d'installation
- Pour plus d'options d'installation, consultez ce guide d'installation.
Configurer l'agent BindPlane pour ingérer Syslog et l'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 (
nano
,vi
ou Bloc-notes, par exemple).
- 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 dans votre infrastructure si nécessaire.
Remplacez
<customer_id>
par le numéro client réel.Remplacez
/path/to/ingestion-authentication-file.json
par le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification d'ingestion Google SecOps.
Redémarrez 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 à partir d'un commutateur Dell
- Connectez-vous au commutateur Dell à l'aide de SSH ou du port de 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 consigner 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 persistent après les redémarrages:
copy running-config startup-config
Enregistrez la configuration:
write memory
Tableau 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é en tant qu'adresse IP et utilisé pour l'adresse IP du principal et de l'asset s'il s'agit d'une adresse IP valide et différente du nom d'hôte. |
application |
principal.application |
Mappage direct. |
asset |
principal.asset.attribute.labels.value |
Mappé directement à la valeur du libellé d'élément, avec la clé codée en dur sous la forme "Nom de l'élément". Si le champ de l'asset est vide et que le message contient "Dell", l'asset est défini sur "Dell". |
auid |
principal.resource.attribute.labels.value |
Mappé directement sur un libellé avec la clé auid dans principal.resource.attribute.labels . |
datetime |
metadata.event_timestamp |
Analyse de différents formats dans le champ de message et conversion en code temporel. |
dest_ip |
target.asset.ip , target.ip |
Mappé sur l'adresse IP cible et l'adresse IP de l'élément cible. |
enterpriseId |
principal.resource.attribute.labels.value |
Mappé sur un libellé avec la clé enterpriseId dans principal.resource.attribute.labels . |
exe |
sec_result.detection_fields.value |
Mappé sur un champ de détection avec la clé exe . |
File |
target.file.full_path |
Mappage direct. |
grantors |
principal.resource.attribute.labels.value |
Mappé sur 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 |
S'il s'agit d'une adresse IP valide, elle est 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é sur un libellé avec la clé ID dans principal.resource.attribute.labels . |
ip |
principal.asset.ip , principal.ip |
Mappé sur l'adresse IP principale et l'adresse IP de l'élément. |
is_synced |
sec_result.detection_fields.value |
Mappé sur un champ de détection avec la clé is_synced . |
local |
target.asset.ip , target.ip , target.port |
Analyse pour extraire l'adresse IP et le port locaux, mappés sur l'adresse IP cible, l'adresse IP de l'asset cible et le port cible. |
local_ip |
target.asset.ip , target.ip |
Extrait du champ local et mappé sur l'adresse IP cible et l'adresse IP de l'élément cible. |
local_port |
target.port |
Extrait du champ local et mappé sur le port cible. |
mac |
principal.mac |
S'il s'agit d'une adresse MAC valide, mappée à l'adresse MAC principale. |
msg |
metadata.description |
Utilisé comme description de l'événement, le cas échéant. Analyse également des 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é. S'il contient "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 "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 |
Mappage direct. |
port |
principal.port |
Mappage direct. |
prod_event_type |
metadata.product_event_type |
Utilisé comme type d'événement produit, le cas échéant. |
res |
sec_result.summary |
Mappage direct. |
sec_description |
sec_result.description , target.url , target.ip , target.asset.ip , sec_result.action_details |
Analyse de l'URL cible, de l'adresse IP et des détails de l'action, et utilisation comme description des résultats de sécurité. |
Server_ID |
target.resource.product_object_id |
Mappage direct. |
server |
principal.asset.ip , principal.ip , principal.port |
Analyse pour extraire l'adresse IP et le port du serveur, mappés sur l'adresse IP principale, l'adresse IP de l'asset principal et le port principal. |
server_ip |
principal.asset.ip , principal.ip |
Extrait du champ server et mappé sur l'adresse IP principale et l'adresse IP de l'élément principal. |
server_port |
principal.port |
Extrait du champ server et mappé sur le port principal. |
ses |
network.session_id |
Mappage direct. |
severity |
sec_result.severity , metadata.product_event_type |
Permet de déterminer la sévérité des résultats de sécurité et le type d'événement du produit en fonction de valeurs spécifiques. |
software |
principal.asset.software |
Mappage direct. |
softwareName |
software.name |
Mappage direct. |
Status |
sec_result.summary |
Utilisé comme résumé des résultats de sécurité si res n'est pas présent. |
subj |
principal.resource.attribute.labels.value |
Mappé sur un libellé avec la clé subj dans principal.resource.attribute.labels . |
swVersion |
software.version |
Mappage direct. |
target_host |
target.hostname , target.asset.hostname |
Mappé directement sur le nom d'hôte cible et le nom d'hôte de l'asset cible. |
target_ip |
target.asset.ip , target.ip |
Mappé directement à l'adresse IP cible et à l'adresse IP de l'élément cible. |
target_url |
target.url |
Mappage direct. |
target_user_id |
target.user.userid |
Mappage direct. |
terminal |
principal.resource.attribute.labels.value |
Mappé sur un libellé avec la clé terminal dans principal.resource.attribute.labels . |
tzknown |
sec_result.detection_fields.value |
Mappé sur un champ de détection avec la clé tzknown . |
uid |
principal.resource.attribute.labels.value |
Mappé sur 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 |
Code dur "Dell". |
N/A | metadata.product_name |
Code 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 divers champs et conditions. La valeur par défaut est GENERIC_EVENT , sauf si vous la définissez autrement. Il peut s'agir de USER_LOGIN , USER_LOGOUT , USER_UNCATEGORIZED , NETWORK_CONNECTION , NETWORK_UNCATEGORIZED , STATUS_UPDATE ou GENERIC_EVENT . |
Modifications
2024-04-25
- Ajout de modèles Grok pour analyser un nouveau type de journal.
- Mappage de
op
surmetadata.product_event_type
. - Mappage de
mac
surprincipal.mac
. - Mappage de
addr
surprincipal.ip
. - Mappage de
hostname
surprincipal.ip
. - Mappage de
server_ip
surprincipal.ip
. - Mappage de
server_port
surprincipal.port
. - Mappage de
acct
surprincipal.user.userid
. - Mappage de
target_ip
surtarget.ip
. - Mappage de
local_ip
surtarget.ip
. - Mappage de
local_port
surtarget.port
. - Mappage de
File
surtarget.file.full_path
. - Mappage de
target_host
surtarget.hostname
. - Mappage de
target_user_id
surtarget.user.userid
. - Mappage de
Server_ID
surtarget.resource.product_object_id
. tzknown
,is_synced
etexe
ont été mappés sursecurity_result.detection_fields
.- Mappage de
res
sursecurity_result.summary
. - Si la valeur du champ
res
est "",status
est mappé sursecurity_result.summary
. uid
,enterpriseId
,auid
,terminal
,subj
,grantors
etID
ont été mappés surprincipal.resource.attribute.labels
.
2024-04-04
- Ajout de modèles Grok pour analyser le nouveau type de journal.
- Mappage de
prod_event_type
surmetadata.product_event_type
. - Mappage de
ip
surprincipal.ip
. - Mappage de
dest_ip
surtarget.ip
. - Mappage de
target_url
surtarget.url
. - Mappage de
sec_description
sursecurity_result.description
. - Mappage de
action_details
sursecurity_result.action_details
.
2024-01-04
- Ajout de modèles Grok pour les journaux nouvellement ingérés.
- Ajout d'un bloc de date lorsque
datetime
est au formatSYSLOGTIMESTAMP
. - Mappage de
softwareName
surprincipal.asset.software.name
. - Mappage de
swVersion
surprincipal.asset.software.version
. - Mappage de
port
surprincipal_port
. user
a été mappé surprincipal.user.userid
etmetadata.event_type
a été défini surUSER_UNCATEGORIZED
lorsqueuser
est présent.- Mappage de
application
surprincipal.application
. - Mappage de
ip
surprincipal.ip
. - Définissez
sec_result.severity
surINFORMATIONAL
lorsqueseverity
estIFMGR-5-OSTATE_DN
. - Mappage de
msg
surmetadata.description
.
2023-11-02
- Analyseur nouvellement créé.