Partage de technologie

[Exploitation et maintenance de la sécurité Linux] rsyslog

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

journal rsys

1. Qu'est-ce que rsyslog

rsyslog est un outil hautes performancesgestionnaire de journaux , capable de recevoir, traiter et transférer les messages de journal. Il est largement utilisé dans les systèmes UNIX et Linux pour la journalisation et la gestion du système.

2. Principales fonctions de rsyslog

  1. haute performance: Capable de traiter un grand nombre de messages de journal, adapté aux besoins de gestion des journaux à grande échelle.
  2. Architecture modulaire: Prend en charge une variété de modules d'entrée et de sortie et peut étendre les fonctions de manière flexible.
  3. Filtrage et réécriture des journaux: Prend en charge les règles complexes de filtrage et de réécriture des journaux pour faciliter un contrôle précis du flux de journaux.
  4. Prend en charge plusieurs protocoles: Capable de gérer plusieurs protocoles de transmission de journaux, tels que TCP, UDP, TLS, etc.
  5. sécurité: Prend en charge la transmission cryptée et l'authentification pour garantir la sécurité des messages du journal.

3. Configuration de base de rsyslog

Le fichier de configuration de rsyslog se trouve généralement dans /etc/rsyslog.conf ou/etc/rsyslog.d/ Sous contenu. Son fichier de configuration adopte une structure règles-actions.

Commande:

systemctl status rsyslog.service

Exemple de configuration

# 基本格式
# :规则:动作

# 接收本地日志并写入文件
*.* /var/log/all.log

# 接收远程日志(UDP)并写入文件
$ModLoad imudp
$UDPServerRun 514
*.* /var/log/remote.log

# 接收远程日志(TCP)并写入文件
$ModLoad imtcp
$InputTCPServerRun 514
*.* /var/log/remote_tcp.log

# 基于消息优先级的日志过滤
authpriv.* /var/log/secure.log

# 基于消息内容的日志过滤
:msg, contains, "error" /var/log/error.log

4. Priorité et installations du journal

rsyslog utilise des fonctionnalités et des priorités pour classer et traiter les messages du journal.

facilité

Les installations communes comprennent :

  • auth, authpriv : messages liés à l'authentification et à la sécurité
  • cron : messages liés aux tâches planifiées
  • démon : messages liés au processus en arrière-plan du système
  • kern : messages liés au noyau
  • mail : messages liés au système de messagerie
  • syslog : messages liés au traitement des journaux internes

priorité

La priorité de haut en bas comprend :

  • emerg : situation d'urgence qui nécessite une notification immédiate à tous les utilisateurs
  • alerte : un problème qui doit être traité immédiatement
  • critique : situation grave
  • err : erreur
  • avertissement : avertissement
  • avis : une nouvelle ordinaire mais importante
  • info : message d'information
  • débogage : message de débogage

5. Commandes communes

  • Démarrer rsyslogsudo systemctl start rsyslog
  • Arrêtez rsyslogsudo systemctl stop rsyslog
  • Redémarrez rsyslogsudo systemctl restart rsyslog
  • Vérifier l'état de rsyslogsudo systemctl status rsyslog
  • Recharger la configurationsudo systemctl reload rsyslog

6. Fonctionnalités avancées

  • Transfert de journaux : Transférer les messages du journal vers le serveur distant
  • Réécriture du journal: Modifier le contenu des messages du journal selon les règles
  • Archives des journaux : Archiver les messages du journal pour économiser de l'espace de stockage
  • Analyse des journaux: Intégrer des outils tiers pour l'analyse et la visualisation des journaux

Exemple de configuration

  1. Configuration des clients
    Sur le serveur client, configurez rsyslog pour transférer les messages de journal vers le serveur de journaux centralisé :

    # 配置远程日志传输(UDP)
    *.* @logs.example.com:514
    
    # 配置远程日志传输(TCP)
    *.* @@logs.example.com:514
    
  2. configuration du serveur
    Sur le serveur de journaux centralisé, configurez rsyslog pour recevoir les messages de journal des clients :

    # 加载输入模块
    $ModLoad imudp
    $UDPServerRun 514
    
    $ModLoad imtcp
    $InputTCPServerRun 514
    
    # 将接收到的日志写入文件
    *.* /var/log/centralized.log