Collecter les journaux de commutateur Extreme Networks
Ce document explique comment ingérer les journaux de commutateur Extreme Networks dans Google Security Operations à l'aide de Bindplane. L'analyseur extrait les champs des messages syslog à l'aide de modèles Grok et d'une logique conditionnelle. Il mappe les champs extraits à l'UDM, gère les événements de connexion, les mises à jour de l'état et les événements génériques, et enrichit les données avec un contexte supplémentaire tel que le protocole, le VLAN et les rôles utilisateur.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Instance Google SecOps
- Windows 2016 ou 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.
- Accès privilégié à l'appliance de commutateur Extreme Networks
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 plus d'options d'installation, consultez le guide d'installation.
Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps
- Accédez au fichier de configuration :
- Trouvez le fichier
config.yaml
. Il se trouve généralement 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).
- Trouvez le fichier
Modifiez le fichier
config.yaml
comme 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: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'EXTREME_SWITCH' 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
<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émarrez l'agent Bindplane pour appliquer les modifications.
Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :
sudo systemctl restart bindplane-agent
Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :
net stop BindPlaneAgent && net start BindPlaneAgent
Configurer Syslog pour le commutateur Extreme Networks
- Connectez-vous au commutateur à l'aide de la CLI ou de la console.
Saisissez la commande "configure" pour accéder au niveau de configuration global :
device# configure terminal
Saisissez la commande d'adresse IP du serveur syslog pour ajouter un serveur syslog :
- Remplacez
<bindplane-ip>
par l'adresse IP réelle de l'agent Bindplane.
logging syslog-server <bindplane_ip>
- Remplacez
Saisissez la commande de format pour configurer le format RFC-5424 pour les messages :
format RFC-5424
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
account_type |
target.user.user_role |
Si account_type est "Administrative" ou "admin", définissez la valeur sur "ADMINISTRATOR". Sinon, mappez sur target.user.attribute.roles.name . |
application |
target.application |
Mappé directement. |
attr |
additional.fields |
Analysé pour extraire le WWN et créer une paire clé-valeur avec la clé "wwn" et le WWN extrait comme valeur de chaîne. |
class |
additional.fields |
Crée une paire clé-valeur avec la clé "class" et la valeur du champ class en tant que valeur de chaîne. |
Cause |
additional.fields |
Crée une paire clé-valeur avec la clé "Cause" et la valeur du champ Cause en tant que valeur de chaîne. Un objet vide est créé si aucun champ d'authentification spécifique n'est présent. |
Info |
security_result.summary |
Mappé directement. |
interface |
additional.fields |
Crée une paire clé-valeur avec la clé "interface" et la valeur du champ interface en tant que valeur de chaîne. |
ip |
principal.ip |
Mappé directement. |
intermediary_ip |
intermediary.ip |
Mappé directement. |
kv_data |
Diverses | Permet d'extraire des paires clé-valeur et de les mapper sur différents champs UDM en fonction de la clé. Par exemple, VrIpAddr est mappé sur intermediary.ip , IP et Addr sont mappés sur principal.ip , SlppRxPort est mappé sur principal.port , et différents champs rc* sont mappés sur security_result.detection_fields . |
log_data |
Diverses | Analysés pour extraire des informations sur les connexions et déconnexions des utilisateurs, ainsi que sur d'autres événements. Utilisé pour remplir des champs tels que principal.ip , principal.resource.name , target.user.userid , target.application , security_result.summary , security_result.description et metadata.description . |
log_type |
additional.fields |
Crée une paire clé-valeur avec la clé "log" et la valeur du champ log_type en tant que valeur de chaîne. |
message |
Diverses | Message de journal d'origine. Analysé pour extraire différents champs. L'horodatage est extrait du champ timestamp (s'il est présent et au format "aaaa-mm-ddTHH:mm:ss") ou du champ message à l'aide de modèles Grok. S'il est extrait du champ de message, il s'agit du code temporel dans le message de journal lui-même. Déterminé en fonction de la présence des options has_principal , has_target , user_login et user_logout . Valeurs possibles : "USER_LOGIN", "USER_LOGOUT", "STATUS_UPDATE" ou "GENERIC_EVENT". Mappé à partir du champ msgid . Valeur statique : "EXTREME_SWITCH". Mappé à partir du champ ver . Valeur statique : "EXTREME_SWITCH". |
msgid |
metadata.product_log_id |
Mappé directement. |
port |
principal.port |
Mappé directement et converti en entier. |
protocol |
additional.fields |
Crée une paire clé-valeur avec la clé "Protocol" et la valeur du champ protocol comme valeur de chaîne. |
rcPortVLacpAdminEnable |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcPortVLacpAdminEnable" et sa valeur. |
rcSyslogHostAddress |
principal.hostname |
Mappé directement. |
rcSyslogHostAddressType |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostAddressType" et sa valeur. |
rcSyslogHostEnable |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostEnable" et sa valeur. |
rcSyslogHostFacility |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostFacility" et sa valeur. |
rcSyslogHostMapErrorSeverity |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostMapErrorSeverity" et sa valeur. |
rcSyslogHostMapFatalSeverity |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostMapFatalSeverity" et sa valeur. |
rcSyslogHostMapInfoSeverity |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostMapInfoSeverity" et sa valeur. |
rcSyslogHostMapWarningSeverity |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostMapWarningSeverity" et sa valeur. |
rcSyslogHostRowStatus |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostRowStatus" et sa valeur. |
rcSyslogHostSeverity |
security_result.detection_fields |
Crée une paire clé-valeur avec la clé "rcSyslogHostSeverity" et sa valeur. |
resource |
principal.resource.name |
Mappé directement. |
sec_description |
security_result.description |
Mappé directement. |
seqnum |
additional.fields |
Crée une paire clé-valeur avec la clé "seqnum" et la valeur du champ seqnum en tant que valeur de chaîne. |
session_id |
network.session_id |
Mappé directement. |
severity |
security_result.severity |
Mappé avec conversion : "CRITICAL", "ERROR" et "HIGH" sont mappés directement ; "INFO" est mappé sur "INFORMATIONAL" ; "WARNING" est mappé sur "MEDIUM" ; "LOW", "MEDIUM" et "INFORMATIONAL" sont mappés directement. |
SlppIncomingVlanId |
additional.fields |
Crée une paire clé-valeur avec la clé "SlppIncomingVlanId" et la valeur du champ SlppIncomingVlanId en tant que valeur de chaîne. |
SlppRxVlan |
additional.fields |
Crée une paire clé-valeur avec la clé "SlppRxVlan" et la valeur du champ SlppRxVlan comme valeur de chaîne. |
SlppSrcMacAddress |
principal.mac |
Mappé directement. |
Status |
additional.fields |
Crée une paire clé-valeur avec la clé "Status" et la valeur du champ Status en tant que valeur de chaîne. |
swname |
additional.fields |
Crée une paire clé-valeur avec la clé "swname" et la valeur du champ swname comme valeur de chaîne. |
timestamp |
metadata.event_timestamp |
Analysé et converti en objet d'horodatage. |
tz |
additional.fields |
Crée une paire clé-valeur avec la clé "tz" et la valeur du champ tz en tant que valeur de chaîne. |
Type |
additional.fields |
Crée une paire clé-valeur avec la clé "Type" et la valeur du champ Type en tant que valeur de chaîne. |
username |
target.user.userid |
Mappé directement. |
ver |
metadata.product_version |
Mappé directement. |
VrId |
additional.fields |
Crée une paire clé-valeur avec la clé "VrId" et la valeur du champ VrId en tant que valeur de chaîne. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.