Κοινή χρήση τεχνολογίας

[Λειτουργία και συντήρηση ασφαλείας Linux] rsyslog

2024-07-08

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

rsyslog

1. Τι είναι το rsyslog

Το rsyslog είναι ένα υψηλής απόδοσηςχειριστής κορμών , με δυνατότητα λήψης, επεξεργασίας και προώθησης μηνυμάτων αρχείου καταγραφής. Χρησιμοποιείται ευρέως σε συστήματα UNIX και Linux για καταγραφή και διαχείριση συστήματος.

2. Κύριες λειτουργίες του rsyslog

  1. υψηλή απόδοση: Δυνατότητα επεξεργασίας μεγάλου αριθμού μηνυμάτων καταγραφής, κατάλληλα για ανάγκες διαχείρισης αρχείων καταγραφής μεγάλης κλίμακας.
  2. Αρθρωτή αρχιτεκτονική: Υποστηρίζει μια ποικιλία μονάδων εισόδου και εξόδου και μπορεί να επεκτείνει ευέλικτα τις λειτουργίες.
  3. Φιλτράρισμα και επανεγγραφή αρχείων καταγραφής: Υποστηρίζει περίπλοκους κανόνες φιλτραρίσματος και επανεγγραφής αρχείων καταγραφής για να διευκολύνει τον ακριβή έλεγχο της ροής των αρχείων καταγραφής.
  4. Υποστήριξη πολλαπλών πρωτοκόλλων: Δυνατότητα χειρισμού πολλαπλών πρωτοκόλλων μετάδοσης αρχείων καταγραφής, όπως TCP, UDP, TLS κ.λπ.
  5. ασφάλεια: Υποστηρίζει κρυπτογραφημένη μετάδοση και έλεγχο ταυτότητας για τη διασφάλιση της ασφάλειας των μηνυμάτων καταγραφής.

3. Βασική διαμόρφωση του rsyslog

Το αρχείο ρυθμίσεων για το rsyslog βρίσκεται συνήθως στο /etc/rsyslog.conf ή/etc/rsyslog.d/ Κάτω από το περιεχόμενο. Το αρχείο διαμόρφωσής του υιοθετεί μια δομή κανόνων-δράσεων.

Σειρά:

systemctl status rsyslog.service

Παράδειγμα διαμόρφωσης

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

# 接收本地日志并写入文件
*.* /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. Καταγραφή προτεραιότητας και εγκαταστάσεις

Το rsyslog χρησιμοποιεί εγκαταστάσεις και προτεραιότητες για την ταξινόμηση και επεξεργασία μηνυμάτων καταγραφής.

ευκολία

Οι κοινές εγκαταστάσεις περιλαμβάνουν:

  • auth, authpriv: μηνύματα που σχετίζονται με έλεγχο ταυτότητας και ασφάλεια
  • cron: μηνύματα που σχετίζονται με προγραμματισμένες εργασίες
  • daemon: μηνύματα που σχετίζονται με τη διαδικασία παρασκηνίου του συστήματος
  • kern: Μηνύματα που σχετίζονται με τον πυρήνα
  • mail: μηνύματα που σχετίζονται με το σύστημα αλληλογραφίας
  • syslog: Εσωτερικό αρχείο καταγραφής που επεξεργάζεται σχετικά μηνύματα

προτεραιότητα

Η προτεραιότητα από το υψηλό στο χαμηλό περιλαμβάνει:

  • emerg: κατάσταση έκτακτης ανάγκης που απαιτεί άμεση ειδοποίηση σε όλους τους χρήστες
  • alert: ένα πρόβλημα που πρέπει να αντιμετωπιστεί άμεσα
  • crit: σοβαρή κατάσταση
  • err: λάθος
  • προειδοποίηση: προειδοποίηση
  • ειδοποίηση: συνηθισμένα αλλά σημαντικά νέα
  • info: ενημερωτικό μήνυμα
  • εντοπισμός σφαλμάτων: μήνυμα εντοπισμού σφαλμάτων

5. Κοινές εντολές

  • Ξεκινήστε το rsyslogsudo systemctl start rsyslog
  • Σταματήστε το rsyslogsudo systemctl stop rsyslog
  • Επανεκκινήστε το rsyslogsudo systemctl restart rsyslog
  • Ελέγξτε την κατάσταση rsyslogsudo systemctl status rsyslog
  • Επαναφόρτωση διαμόρφωσηςsudo systemctl reload rsyslog

6. Προηγμένες δυνατότητες

  • Προώθηση αρχείων καταγραφής: Προώθηση μηνυμάτων καταγραφής σε απομακρυσμένο διακομιστή
  • Επαναγραφή ημερολογίου: Τροποποιήστε το περιεχόμενο του μηνύματος καταγραφής σύμφωνα με κανόνες
  • Αρχείο καταγραφής: Αρχειοθέτηση μηνυμάτων αρχείου καταγραφής για εξοικονόμηση χώρου αποθήκευσης
  • Ανάλυση ημερολογίου: Ενσωματώστε εργαλεία τρίτων για ανάλυση και οπτικοποίηση αρχείων καταγραφής

Παράδειγμα διαμόρφωσης

  1. Διαμόρφωση πελάτη
    Στον διακομιστή πελάτη, διαμορφώστε το rsyslog για να προωθήσει μηνύματα καταγραφής στον κεντρικό διακομιστή καταγραφής:

    # 配置远程日志传输(UDP)
    *.* @logs.example.com:514
    
    # 配置远程日志传输(TCP)
    *.* @@logs.example.com:514
    
  2. διαμόρφωση διακομιστή
    Στον κεντρικό διακομιστή καταγραφής, διαμορφώστε το rsyslog ώστε να λαμβάνει μηνύματα καταγραφής από πελάτες:

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