Standards:SMIRK LOG1106
Statut de ce document discussion
Cette demande de commentaires (SMIRK pour SepaMail Internal Request for Komment) spécifie les règles communes de journalisation. Ce SMIRK est un standard de la communauté SEPAmail, spécifié et maintenu par le scheme SEPAmail.
Ce document est en statut discussion.
Introduction
La journalisation consiste à inscrire des informations permettant d'externaliser des fonctions de :
- supervision de l'exploitation
- vérification du fonctionnement protocolaire de SEPAmail
- réalisation de piste d'audit
- contrôle de la fraude interne
- authentification des échanges par contrôle d'huissier de justice
Cette journalisation doit permettre ces fonctions externes dans le respect des exigences fonctionnelles de l'exploitation SEPAmail, notamment en terme de sécurité, qualité de service et confidentialité.
Ce document spécifie les règles à mettre en œuvre dans le cadre énoncé ci-dessus.
Les principes
Les principes retenus pour la journalisation sont :
- l'agrégation possible avec la syslog du système d'exploitation
- le confinement personnalisé
- pas d'écriture possible si ce n'est à la fin du fichier
- la séparation possible des journaux sur paramétrage
- des niveaux
- un utilisateur dédié avec des droits restreints
- une rotation des journaux après archivage
- une piste sobre et claire, en anglais, complète permettant d'agréger des journaux sans confusion de doublons ou de perte d'information.
- un horodatage « Date Heure Format GMT »
- des bonnes pratiques conformes à la RFC 5424[1]
Les niveaux
On utilise la facilité et la sévérité de la RFC 5424, soit : 2 (mail system) pour la facilité et les sévérités résumées dans le tableau ci-dessous :
Sévérité | Description |
---|---|
0 | Emergency: system is unusable |
1 | Alert: action must be taken immediately |
2 | Critical: critical conditions |
3 | Error: error conditions |
4 | Warning: warning conditions |
5 | Notice: normal but significant condition |
6 | Informational: informational messages |
7 | Debug: debug-level messages |
Les niveaux 0 à 4 sont essentiellement utilisés pour prévenir l'exploitation de SEPAmail.
Les niveaux 5 et 6 sont utilisés respectivement pour les traces signifiantes autour du protocole d'échange SEPAmail (réception de missive, émission de missive etc...).
Le niveau 7 sert exclusivement à la recherche et la réparation d'anomalie.
La structure de l'information
L'information est structurée selon la RFC 5424 avec les éléments suivants.
The syslog message has the following ABNF [RFC5234] definition: SYSLOG-MSG = HEADER SP STRUCTURED-DATA [SP MSG] HEADER = PRI VERSION SP TIMESTAMP SP HOSTNAME SP APP-NAME SP PROCID SP MSGID PRI = "<" PRIVAL ">" PRIVAL = 1*3DIGIT ; range 0 .. 191 VERSION = NONZERO-DIGIT 0*2DIGIT HOSTNAME = NILVALUE / 1*255PRINTUSASCII APP-NAME = NILVALUE / 1*48PRINTUSASCII PROCID = NILVALUE / 1*128PRINTUSASCII MSGID = NILVALUE / 1*32PRINTUSASCII TIMESTAMP = NILVALUE / FULL-DATE "T" FULL-TIME FULL-DATE = DATE-FULLYEAR "-" DATE-MONTH "-" DATE-MDAY DATE-FULLYEAR = 4DIGIT DATE-MONTH = 2DIGIT ; 01-12 DATE-MDAY = 2DIGIT ; 01-28, 01-29, 01-30, 01-31 based on ; month/year FULL-TIME = PARTIAL-TIME TIME-OFFSET PARTIAL-TIME = TIME-HOUR ":" TIME-MINUTE ":" TIME-SECOND [TIME-SECFRAC] TIME-HOUR = 2DIGIT ; 00-23 TIME-MINUTE = 2DIGIT ; 00-59 TIME-SECOND = 2DIGIT ; 00-59 TIME-SECFRAC = "." 1*6DIGIT TIME-OFFSET = "Z" / TIME-NUMOFFSET TIME-NUMOFFSET = ("+" / "-") TIME-HOUR ":" TIME-MINUTE STRUCTURED-DATA = NILVALUE / 1*SD-ELEMENT SD-ELEMENT = "[" SD-ID *(SP SD-PARAM) "]" SD-PARAM = PARAM-NAME "=" %d34 PARAM-VALUE %d34 SD-ID = SD-NAME PARAM-NAME = SD-NAME PARAM-VALUE = UTF-8-STRING ; characters '"', '\' and ; ']' MUST be escaped. SD-NAME = 1*32PRINTUSASCII ; except '=', SP, ']', %d34 (") MSG = MSG-ANY / MSG-UTF8 MSG-ANY = *OCTET ; not starting with BOM MSG-UTF8 = BOM UTF-8-STRING BOM = %xEF.BB.BF
APP-NAME
Le nom de l'application est celui du composant logiciel SEPAmail qui génère la piste de journalisation :
- SMART
- SMILE
- RUBIS
- GEMME
- SAPPhire
PROCID
Remarque : reprendre la fonctionnalité de reprise en cas de reboot avec l'identifiant de l'id du processus ?
MSGID
Remarque : lister les différents types de messagepossibles : MsvNomIN, MsvNomOut, MsvAckIn etc...
STRUCTURED-DATA
Remarque : il faut spécifier les normes communes.
On y retrouve au moins l'information suivante, selon les cas :
- condensat de la missive
- signature de la missive
- champ to et from de l'enveloppe SMTP
- code erreur avec description succincte en anglais
- MsvRcv et MsvSnd (smart et smile)
- MsgRcv et MsgSbd (rubis, gemme et sapphire)