Collecter les journaux LDAP du serveur d'annuaire Red Hat
Ce document explique comment ingérer les journaux LDAP Red Hat Directory Server dans Google Security Operations à l'aide de l'agent Bindplane.
Red Hat Directory Server est un service d'annuaire LDAP de classe entreprise basé sur des normes ouvertes. Il fournit une gestion centralisée des identités utilisateur, de l'authentification et du contrôle des accès pour les environnements Linux et UNIX. Le serveur d'annuaire stocke les journaux d'accès, d'erreurs, d'audit, d'échec d'audit et de sécurité dans le répertoire /var/log/dirsrv/slapd-instance_name/. Il enregistre les connexions client, les opérations LDAP, les modifications de configuration, les opérations ayant échoué et les événements liés à la sécurité tels que les tentatives d'authentification et les problèmes d'autorisation.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Un hôte Linux avec
systemd - Connectivité réseau entre l'agent BindPlane et l'hôte du serveur d'annuaire Red Hat
- 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 à l'hôte Red Hat Directory Server
- Red Hat Directory Server 11 ou version ultérieure installé et en cours d'exécution
- Le service
rsysloginstallé et exécuté sur l'hôte du serveur d'annuaire
Obtenir un fichier d'authentification d'ingestion Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres 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 où BindPlane sera installé.
Obtenir un numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM > Profil.
Copiez et enregistrez le numéro client dans la section Détails de l'organisation.
Installer l'agent BindPlane
Installez l'agent Bindplane sur votre système d'exploitation Linux en suivant les instructions ci-dessous.
Installation sous Linux
- Ouvrez un terminal avec des privilèges 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.shAttendez que l'installation se termine.
Vérifiez l'installation en exécutant la commande suivante :
sudo systemctl status observiq-otel-collectorLe service doit être indiqué comme actif (en cours d'exécution).
Autres ressources d'installation
Pour en savoir plus sur les options d'installation et le dépannage, consultez le guide d'installation de l'agent Bindplane.
Configurer l'agent Bindplane pour ingérer les journaux Syslog et les envoyer à Google SecOps
Localiser le fichier de configuration
Linux :
sudo nano /opt/observiq-otel-collector/config.yaml
Modifiez le fichier de configuration
Remplacez l'intégralité du contenu de
config.yamlpar la configuration suivante :receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/redhat_ds: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: REDHAT_DIRECTORY_SERVER raw_log_field: body service: pipelines: logs/redhat_ds: receivers: - udplog exporters: - chronicle/redhat_ds
Paramètres de configuration
Remplacez les espaces réservés suivants :
Configuration du récepteur :
udplog: type de récepteur basé sur le protocole :udplogpour syslog UDPtcplogpour syslog TCPsyslogpour le syslog RFC 3164/5424
0.0.0.0: adresse IP à écouter :0.0.0.0pour écouter sur toutes les interfaces (recommandé)- Adresse IP spécifique à écouter sur une interface
514: numéro de port d'écoute (par exemple,514,1514,6514)
Configuration de l'exportateur :
<customer_id>: ID client de l'étape précédentemalachiteingestion-pa.googleapis.com: URL du point de terminaison régional :- États-Unis :
malachiteingestion-pa.googleapis.com - Europe :
europe-malachiteingestion-pa.googleapis.com - Asie :
asia-southeast1-malachiteingestion-pa.googleapis.com - Pour obtenir la liste complète, consultez Points de terminaison régionaux.
- États-Unis :
- Ajustez
creds_file_pathen fonction de la plate-forme :- Linux :
/etc/bindplane-agent/ingestion-auth.json
- Linux :
Enregistrez le fichier de configuration.
- Après avoir modifié le fichier, enregistrez-le :
- Linux : appuyez sur
Ctrl+O, puis surEnter, puis surCtrl+X.
- Linux : appuyez sur
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
Activer la journalisation des audits et des échecs d'audit dans Red Hat Directory Server
Par défaut, Red Hat Directory Server active la journalisation des accès, des erreurs et de la sécurité, mais désactive la journalisation des audits et des échecs d'audit. Activez ces journaux pour capturer toutes les modifications apportées au répertoire et les opérations ayant échoué.
- Ouvrez un terminal avec des droits root ou sudo sur l'hôte du serveur d'annuaire.
Activez le journal d'audit en exécutant la commande suivante :
dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditlog-logging-enabled=onActivez le journal des échecs d'audit en exécutant la commande suivante :
dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditfaillog-logging-enabled=onVérifiez que tous les types de journaux sont activés :
dsconf -D "cn=Directory Manager" instance_name config get nsslapd-accesslog-logging-enabled nsslapd-errorlog-logging-enabled nsslapd-auditlog-logging-enabled nsslapd-auditfaillog-logging-enabled nsslapd-securitylog-logging-enabledVérifiez que les fichiers journaux existent dans le répertoire des journaux :
ls -la /var/log/dirsrv/slapd-instance_name/
Facultatif : activer la journalisation à l'aide de la console Web
- Connectez-vous à la console Web Red Hat Directory Server.
- Sélectionnez l'instance.
- Accédez à Serveur > Journalisation.
- Sélectionnez le type de journal que vous souhaitez activer (par exemple, Journal d'audit).
- Activez le bouton bascule de journalisation pour le type de journal sélectionné.
- Cliquez sur Save Log Settings (Enregistrer les paramètres des journaux).
Configurer rsyslog pour transférer les journaux du serveur d'annuaire à l'agent Bindplane
Red Hat Directory Server écrit les journaux dans des fichiers situés dans /var/log/dirsrv/slapd-instance_name/ plutôt que directement dans syslog. Utilisez le module rsyslog imfile pour surveiller ces fichiers journaux et transférer les entrées à l'agent Bindplane.
Créez un fichier de configuration rsyslog pour le transfert des journaux de serveur d'annuaire :
sudo nano /etc/rsyslog.d/rhds-forward.confAjoutez le contenu suivant au fichier de configuration :
# Load the imfile module to read log files module(load="imfile" PollingInterval="10") # Monitor the access log input(type="imfile" File="/var/log/dirsrv/slapd-instance_name/access" Tag="dirsrv-access" Severity="info" Facility="local6") # Monitor the error log input(type="imfile" File="/var/log/dirsrv/slapd-instance_name/errors" Tag="dirsrv-errors" Severity="err" Facility="local6") # Monitor the audit log input(type="imfile" File="/var/log/dirsrv/slapd-instance_name/audit" Tag="dirsrv-audit" Severity="info" Facility="local6") # Monitor the security log input(type="imfile" File="/var/log/dirsrv/slapd-instance_name/security" Tag="dirsrv-security" Severity="info" Facility="local6") # Forward all Directory Server logs to the Bindplane agent local6.* @BINDPLANE_IP:514Vérifiez la syntaxe de la configuration rsyslog :
sudo rsyslogd -N1Redémarrez le service rsyslog pour appliquer les modifications :
sudo systemctl restart rsyslogVérifiez que les journaux du serveur d'annuaire sont transférés en consultant les journaux de l'agent BindPlane :
sudo journalctl -u observiq-otel-collector -f
Table de mappage UDM
| Champ de journal | Mappage UDM | Logique |
|---|---|---|
attrs_label |
about.labels |
Fusionné |
cn_label |
about.labels |
Fusionné |
conn_label |
about.labels |
Fusionné |
csn_label |
about.labels |
Fusionné |
err_label |
about.labels |
Fusionné |
etime_label |
about.labels |
Fusionné |
fd_label |
about.labels |
Fusionné |
filter_label |
about.labels |
Fusionné |
label |
about.labels |
Fusionné |
method_label |
about.labels |
Fusionné |
msgid_label |
about.labels |
Fusionné |
name_label |
about.labels |
Fusionné |
nentries_label |
about.labels |
Fusionné |
offset_label |
about.labels |
Fusionné |
op_label |
about.labels |
Fusionné |
optime_label |
about.labels |
Fusionné |
org_label |
about.labels |
Fusionné |
ou_label |
about.labels |
Fusionné |
scope_label |
about.labels |
Fusionné |
slot_label |
about.labels |
Fusionné |
tag_label |
about.labels |
Fusionné |
targetop_label |
about.labels |
Fusionné |
version_label |
about.labels |
Fusionné |
wtime_label |
about.labels |
Fusionné |
desc |
metadata.description |
Mappé directement |
creationDate |
metadata.event_timestamp |
Analysé en tant que UNIX_MS |
recordDate |
metadata.event_timestamp |
Analysé en tant que UNIX_MS |
time |
metadata.event_timestamp |
Analysé en tant que dd/MMM/yyyy:HH:mm:ss Z |
ts |
metadata.event_timestamp |
Analysé en tant que MMM d HH:mm:ss |
operation |
metadata.product_event_type |
Mappé directement |
mrId |
metadata.product_log_id |
Mappé directement |
properties._ecs_agent_version |
metadata.product_version |
Mappé directement |
host |
principal.asset.hostname |
Mappé directement |
oid |
principal.asset.product_object_id |
Mappé directement |
host |
principal.hostname |
Mappé directement |
client_ip |
principal.ip |
Fusionné |
namespace |
principal.namespace |
Mappage direct |
user |
principal.user.userid |
Mappé directement |
sec_result |
security_result |
Fusionné |
properties._hostname |
target.asset.hostname |
Mappage direct |
properties.host |
target.asset.hostname |
Mappé directement |
properties._hostname |
target.hostname |
Mappé directement |
properties.host |
target.hostname |
Mappé directement |
target_ip |
target.ip |
Fusionné |
properties.country |
target.location.country_or_region |
Mappage direct |
properties._file_path |
target.process.file.full_path |
Mappé directement |
properties._file_size |
target.process.file.size |
Renommé/Mappé |
discipline_label |
target.resource.attribute.labels |
Fusionné |
document_type_label |
target.resource.attribute.labels |
Fusionné |
environment_label |
target.resource.attribute.labels |
Fusionné |
hostgroup_label |
target.resource.attribute.labels |
Fusionné |
platform_label |
target.resource.attribute.labels |
Fusionné |
product_label |
target.resource.attribute.labels |
Fusionné |
project_label |
target.resource.attribute.labels |
Fusionné |
base |
target.user.group_identifiers |
Fusionné |
dn |
target.user.group_identifiers |
Fusionné |
| N/A | metadata.event_type |
Constante : NETWORK_CONNECTION |
| N/A | metadata.product_name |
Constante : REDHAT_DIRECTORY_SERVER |
| N/A | metadata.vendor_name |
Constante : REDHAT |
| N/A | target.platform |
Constante : LINUX |
properties._file_inode |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
properties._file_offset |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
conn |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
op |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
err |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
tag |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
nentries |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
wtime |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
optime |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
etime |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
csn |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
cn |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
ou |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
filter |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
attrs |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
scope |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
o |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
targetop |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
msgid |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
method |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
version |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
fd |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
slot |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
name |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
properties.discipline" ,"properties.document_type" ,"properties.environment" ,"properties.hostgroup" ,"properties.platform" ,"properties.product |
target.resource.attribute.labels |
Mappé à partir du journal des modifications |
Journal des modifications
Afficher le journal des modifications de ce parseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.