Projet

Général

Profil

Tâche #25331

Scénario #26377: Évolution de la configuration de Samba

Specifier le paramètrage des logs

Ajouté par Emmanuel IHRY il y a plus de 5 ans. Mis à jour il y a environ 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
17/09/2018
Echéance:
% réalisé:

0%

Restant à faire (heures):
0.0

Description

La version samba 4.9 améliore la journalisation des événements et leur complétude. Les développements faits permettent la journalisation de toutes les modifications LDAP (mise en œuvre de log génériques pour tracer le changement de tout attribut dans le LDAP sur l'ensemble des partitions). Des développements ont été faits également pour logger les changements sur les membres d'un groupe.

Le format de sortie est JSON

Objectifs des travaux :
- étudier les options de paramétrage possibles pour les logs dans samba
- eoliser une partie de ces options
- voir s'il est possible d'avoir plusieurs fichiers journaux en sortie, spécialisés dans des types événements.

Exemple d'ajout d'un compte user : **Rajout de l'entrée utilisateur (eventid 4720)

log level = 0 dsdb_json_audit:9

JSON dsdbChange: {"timestamp": "2018-07-16T15:55:58.800653+0200", "type": "dsdbChange", "dsdbChange": {"version": {"major": 1, "minor": 0}, "statusCode": 0, "status": "Success", "operation": "Add", "remoteAddress": null, "performedAsSystem": false, "userSid": "S-1-5-18", "dn": "CN=toto,CN=Users,DC=kg", "transactionId": "4ba5a14e-76d8-4425-b781-70a5e942ce96", "sessionId": "be5e90c9-66ac-4dd4-a4a0-cb509c062ee6", "attributes": {"objectClass": {"actions": [{"action": "add", "values": [{"value": "user"}]}]}, "sAMAccountName": {"actions": [{"action": "add", "values": [{"value": "dcardon"}]}]}, "userPrincipalName": {"actions": [{"action": "add", "values": [{"value": ""}]}]}}}}


Demandes liées

Lié à Documentations - Tâche #26609: Documenter les nouvelles options de journalisation Samba Fermé 10/02/2020 10/02/2020
Lié à eole-genconfig - Scénario #29588: Impossible de déclarer une "Catégorie d’événements à journaliser" avec Firefox 72/73 Terminé (Sprint) 07/02/2020 20/03/2020

Révisions associées

Révision f478b38b (diff)
Ajouté par Benjamin Bohard il y a plus de 5 ans

Donner la possibilité de configurer le niveau de log de samba.

Ref #25331

Révision f8519dbb (diff)
Ajouté par Benjamin Bohard il y a plus de 5 ans

Suppression de certaines classes de journaux.

Ref #25331

Révision 8c9f43af (diff)
Ajouté par Benjamin Bohard il y a plus de 5 ans

Donner la possibilité de configurer le niveau de log de samba.

Ref #25331

Révision 8a5b651c (diff)
Ajouté par Benjamin Bohard il y a plus de 5 ans

Suppression de certaines classes de journaux.

Ref #25331

Historique

#1 Mis à jour par Emmanuel IHRY il y a plus de 5 ans

  • Assigné à mis à Remi BAPTISTE

#2 Mis à jour par Emmanuel IHRY il y a plus de 5 ans

  • Assigné à Remi BAPTISTE supprimé

Voir description du fonctionnement des logs dans le scénario associé #24597

Le besoin précis en terme d'éolisation du paramétrage des log sera spécifié par le MTES pour le 11/01 au + tard

#3 Mis à jour par Benjamin Bohard il y a plus de 5 ans

  • Tâche parente changé de #24597 à #26377

#4 Mis à jour par Benjamin Bohard il y a plus de 5 ans

  • Description mis à jour (diff)

#5 Mis à jour par Benjamin Bohard il y a plus de 5 ans

  • Projet changé de EOLE AD DC à Distribution EOLE
  • Statut changé de Nouveau à En cours

#6 Mis à jour par Benjamin Bohard il y a plus de 5 ans

La liste des éléments à surveiller est assez conséquente :
  • all
  • tdb
  • printdrivers
  • lanman
  • smb
  • smb2
  • mb2_credits
  • rpc_parse
  • rpc_srv
  • rpc_cli
  • passdb
  • sam
  • auth
  • winbind
  • vfs
  • idmap
  • quota
  • acls
  • locking
  • msdfs
  • dmapi
  • registry
  • scavenger
  • dns
  • ldb
  • tevent
  • auth_audit
  • auth_json_audit
  • kerberos
  • dsdb_audit
  • dsdb_json_audit
  • dsdb_password_audit
  • dsdb_password_json_audit
  • dsdb_transaction_audit
  • dsdb_transaction_json_audit

Est-ce qu’on propose tous ces éléments dans la configuration ou simplement un sous-ensemble ?

#7 Mis à jour par Benjamin Bohard il y a plus de 5 ans

Pour le changement à la volée du niveau de journalisation, la commande smbcontrol est toujours disponible :

root@dc1:~# smbcontrol smbd debuglevel
PID 860: all:0 tdb:0 printdrivers:0 lanman:0 smb:0 rpc_parse:0 rpc_srv:0 rpc_cli:0 passdb:0 sam:0 auth:0 winbind:0 vfs:0 idmap:0 quota:0 acls:0 locking:0 msdfs:0 dmapi:0 registry:0 scavenger:0 dns:0 ldb:0 tevent:0 auth_audit:0 auth_json_audit:0 kerberos:0 drs_repl:0 smb2:0 smb2_credits:0 dsdb_audit:0 dsdb_json_audit:0 dsdb_password_audit:0 dsdb_password_json_audit:0 dsdb_transaction_audit:0 dsdb_transaction_json_audit:0 dsdb_group_audit:0 dsdb_group_json_audit:0
root@dc1:~# smbcontrol smbd debug "3 kerberos:4" 
root@dc1:~# smbcontrol smbd debuglevel
PID 860: all:3 tdb:3 printdrivers:3 lanman:3 smb:3 rpc_parse:3 rpc_srv:3 rpc_cli:3 passdb:3 sam:3 auth:3 winbind:3 vfs:3 idmap:3 quota:3 acls:3 locking:3 msdfs:3 dmapi:3 registry:3 scavenger:3 dns:3 ldb:3 tevent:3 auth_audit:3 auth_json_audit:3 kerberos:4 drs_repl:3 smb2:3 smb2_credits:3 dsdb_audit:3 dsdb_json_audit:3 dsdb_password_audit:3 dsdb_password_json_audit:3 dsdb_transaction_audit:3 dsdb_transaction_json_audit:3 dsdb_group_audit:3 dsdb_group_json_audit:3

On peut donc envisager un paramétrage normal effectué dans gen_config et un moyen de modifier temporairement ce niveau (prévoir une facilité pour le retour au niveau normal).

#8 Mis à jour par Benjamin Bohard il y a plus de 5 ans

  • Description mis à jour (diff)
  • Assigné à mis à Benjamin Bohard

#9 Mis à jour par Emmanuel IHRY il y a plus de 5 ans

*Vu le premier commit réalisé f478b38b, ça me parait une bonne solution ! * : çaa permet de configurer des niveaux de log à la carte et générer une syntaxe dans le smb.conf du type : log level = 1 auth_audit:3 auth_json_audit:9 dsdb_json_audit:9

QQ remarques ou questions :

1) Faut il ajouter un paramètre EOLE pour choisir la destination des logs (log file = )... ou bien sont ils dirigés naturellement dans rsyslog ?

2) Est-ce que c'est gênant dans le fichier de log d'avoir deux type de logs : json et pas json (voir ci après) ? Notamment si un jour on les exploite via outil spécifique.

Tout peut-il être au format Json ? Ou bien peut-on séparer dans deux fichiers les log json et les autres ?

[2019/01/10 16:23:11.226708,  0] ../source3/winbindd/winbindd_cache.c:3160(initialize_winbindd_cache)
  initialize_winbindd_cache: clearing cache and re-creating with version number 2
[2019/01/10 16:23:11.236819,  0] ../lib/util/become_daemon.c:138(daemon_ready)
  daemon_ready: STATUS=daemon 'winbindd' finished starting up and ready to serve connections
[2019/01/10 16:23:30.434487,  0] ../source4/dsdb/dns/dns_update.c:330(dnsupdate_nameupdate_done)
  ../source4/dsdb/dns/dns_update.c:330: Failed DNS update - with error code 110
[2019/01/10 16:23:51.357189,  5] ../lib/audit_logging/audit_logging.c:141(audit_log_json)
  JSON dsdbChange: {"timestamp": "2019-01-10T16:23:51.357081+0100", "type": "dsdbChange", "dsdbChange": {"version": {"major": 1, "minor": 0}, "statusCode": 0, "status": "Success", "operation": "Modify", "remoteAddress": "ipv4:192.168.227.169:49515", "performedAsSystem": false, "userSid": "S-1-5-21-2039604760-904587110-1313591226-500", "dn": "CN=p11.nfr", "transactionId": "7ac4b7f0-9a7f-4632-9a53-12b6fa5c970c", "sessionId": "52b4f932-7b9e-4963-bd38-87f036d773c8", "attributes": {"description": {"actions": [{"action": "replace", "values": [{"value": "rrrrrr"}]}]}}}}

3) Ca ne me gène pas qu'on laisse toutes ces valeurs dans la liste déroulante plutôt que de les rechercher en cas de besoin. Ce serait bien d'avoir une grande bulle d'aide qui explique ce qui se cache derrière chaque valeur mais je n'ai pas non plus la réponse !

<param>['all','tdb','printdrivers','lanman','smb','smb2','mb2_credits','rpc_parse','rpc_srv','rpc_cli','passdb','sam','auth','winbind','vfs','idmap','quota','acls','locking','msdfs','dmapi','registry','scavenger','dns','ldb','tevent','auth_audit','auth_json_audit','kerberos','dsdb_audit','dsdb_json_audit','dsdb_password_audit','dsdb_password_json_audit','dsdb_transaction_audit','dsdb_transaction_json_audit']</param>

#10 Mis à jour par Emmanuel IHRY il y a plus de 5 ans

Complément suite à lecture de https://www.samba.org/samba/history/samba-4.9.0.html

Supprimer ces valeurs dans la liste des valeurs possibles :

dsdb_audit
dsdb_password_audit
dsdb_group_audit

#11 Mis à jour par Benjamin Bohard il y a plus de 5 ans

La classe dsdb_group_audit n’était pas présente… Est-ce qu’il faut en ajouter d’autres qui seraient absentes ?

#12 Mis à jour par Benjamin Bohard il y a plus de 5 ans

Le passage des logs de Samba se fait toujours avec le même nom de programme et ne suffit pas à répartir en différents fichiers.
Il reste à tester le traitement des journaux au format json et l’utilisation du contenu du message pour répartir dans différents fichiers.

#13 Mis à jour par Scrum Master il y a plus de 5 ans

  • Statut changé de En cours à Résolu

#14 Mis à jour par Joël Cuissinat il y a environ 5 ans

  • Lié à Tâche #26609: Documenter les nouvelles options de journalisation Samba ajouté

#15 Mis à jour par Joël Cuissinat il y a environ 5 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0

#16 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Lié à Scénario #29588: Impossible de déclarer une "Catégorie d’événements à journaliser" avec Firefox 72/73 ajouté

Formats disponibles : Atom PDF