Berbagi teknologi

[Operasi dan pemeliharaan keamanan Linux] rsyslog

2024-07-08

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

rsyslog

1. Apa itu rsyslog

rsyslog adalah kinerja tinggipenangan log , mampu menerima, memproses, dan meneruskan pesan log. Ini banyak digunakan dalam sistem UNIX dan Linux untuk pencatatan dan manajemen sistem.

2. Fungsi utama rsyslog

  1. kinerja tinggi: Mampu memproses pesan log dalam jumlah besar, cocok untuk kebutuhan pengelolaan log skala besar.
  2. Arsitektur modular: Mendukung berbagai modul input dan output dan dapat memperluas fungsi secara fleksibel.
  3. Pemfilteran dan penulisan ulang log: Mendukung pemfilteran log yang rumit dan aturan penulisan ulang untuk memfasilitasi kontrol aliran log yang tepat.
  4. Mendukung banyak protokol: Mampu menangani beberapa protokol transmisi log, seperti TCP, UDP, TLS, dll.
  5. keamanan: Mendukung transmisi terenkripsi dan otentikasi untuk memastikan keamanan pesan log.

3. Konfigurasi dasar rsyslog

File konfigurasi untuk rsyslog biasanya terletak di /etc/rsyslog.conf atau/etc/rsyslog.d/ Di bawah konten. File konfigurasinya mengadopsi struktur aturan-tindakan.

Memesan:

systemctl status rsyslog.service

Contoh konfigurasi

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

# 接收本地日志并写入文件
*.* /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. Mencatat prioritas dan fasilitas

rsyslog menggunakan fasilitas dan prioritas untuk mengklasifikasikan dan memproses pesan log.

fasilitas

Fasilitas umum meliputi:

  • auth, authpriv: pesan terkait otentikasi dan keamanan
  • cron: pesan yang terkait dengan tugas terjadwal
  • daemon: pesan terkait proses latar belakang sistem
  • kern: Pesan terkait kernel
  • mail: pesan terkait sistem email
  • syslog: Pesan terkait pemrosesan log internal

prioritas

Prioritas dari tinggi ke rendah meliputi:

  • muncul: Situasi darurat yang memerlukan pemberitahuan segera kepada semua pengguna
  • alert: masalah yang perlu segera ditangani
  • kritik: situasi serius
  • salah: kesalahan
  • peringatan: peringatan
  • perhatikan: berita biasa tapi penting
  • info: pesan informasi
  • debug: pesan debug

5. Perintah umum

  • Mulai rsyslogsudo systemctl start rsyslog
  • Hentikan rsyslogsudo systemctl stop rsyslog
  • Mulai ulang rsyslogsudo systemctl restart rsyslog
  • Periksa status rsyslogsudo systemctl status rsyslog
  • Muat ulang konfigurasisudo systemctl reload rsyslog

6. Fitur lanjutan

  • Penerusan log: Meneruskan pesan log ke server jauh
  • Penulisan ulang log: Memodifikasi konten pesan log sesuai aturan
  • Arsip catatan: Arsipkan pesan log untuk menghemat ruang penyimpanan
  • Analisis log: Mengintegrasikan alat pihak ketiga untuk analisis dan visualisasi log

Contoh konfigurasi

  1. Konfigurasi klien
    Di server klien, konfigurasikan rsyslog untuk meneruskan pesan log ke server log terpusat:

    # 配置远程日志传输(UDP)
    *.* @logs.example.com:514
    
    # 配置远程日志传输(TCP)
    *.* @@logs.example.com:514
    
  2. konfigurasi server
    Di server log terpusat, konfigurasikan rsyslog untuk menerima pesan log dari klien:

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