Theo dõi nhật ký hệ thống với Logwatch

Tác giả: 18/03/2023
I.Giới thiệu

Logwatch là một phần mềm phân tích và tạo các report logfile hệ thống Linux / Unix có thể dễ dàng tùy chỉnh và nó cũng cho phép System Admin thêm các bổ sung, tạo các tập lệnh tùy chỉnh phục vụ nhu cầu ghi nhật ký cụ thể.

Mặc dù Logwatch không cung cấp những cảnh báo thời gian thực (Real Time), nhưng thay vào đó nó sẽ tạo một bản report rút gọn được tổ chức cụ thể giúp ta dễ dàng review lại. Với bản report rút gọn này, người dùng có thể ghép nối Logwatch với các script của họ để tùy chỉnh các report này sao cho phù hợp với mục đích sử dụng

Điều này rất hữu ích cho việc theo dõi và phát hiện xâm nhập. Nếu ai đó truy cập vào máy chủ của bạn, các bản ghi được gửi qua email cho bạn sẽ rất hữu ích trong việc xác định những gì đã xảy ra và khi máy chủ của bạn có thể đã bị xâm nhập.

Mặc định thì Logwatch sử dụng Sendmail để gửi các Report.

Một số hệ thống quản lý ghi log mã nguồn mở được sử dụng nhiều nhất trong Linux hiện nay ví dụ như :

  • Graylog 2 (Dashboard)
  • Logcheck ( Đăng nhập )
  • Logstash (Dashboard)
  • Logwatch
II .Cài Đặt Logwatch và Sendmail

1.Cài đặt

1.1 CentOS :

  • Update hệ thống
yum update -y
  • Cài đặt Logwatch và Sendmail
yum install logwatch sendmail -y

 

  • Khởi động Sendmail
systemctl start sendmail

 

1.2 Ubuntu :

  • Update hệ thống
apt-get update && apt-get upgrade -y
  • Cài đặt Logwatch và Sendmail
apt-get install logwatch sendmail -y

 

III.Chỉnh sửa cấu hình postfix cần thiết

Sau khi cài đặt xong Logwatch và sendmail cần chỉnh sửa một số cấu hình sau đây:

Chỉnh sửa trong /etc/postfix/main.cf để thêm thông về domain của bạn, và cho phép send-only mail, thay thế hostname.example.com với hostname và domain của bạn như sau :

  • myhostname = hostname.example.com
  • inet_interfaces = loopback-only

Cuối cùng là start postfix

systemctl start postfix

Ví dụ test send mail :

echo "Subject: test send logwatch" | /usr/lib/sendmail -v <Nhập email của bạn>
IV. Cấu hình Logwatch

Tập tin cấu hình mặc định cho Logwatch được đặt tại /usr/share/logwatch/default.conf/logwatch.conf. Trong tập tin này chứa đầy đủ các cấu hình ví dụ như cấu hình để logwatch có thể theo dõi tập tin log nào…

Chúng ta cần cấu hình những phần sau:

1.Log Directories

Mặc định thì logwatch sẽ tóm lược lại tất cả mọi thông tin chứa trong thư mục /var/log nhưng nếu bạn có bất kỳ một thư mục log nào khác cần được logwatch theo dõi.

Ví dụ như thư mục website thì các bạn chỉ cần thêm các dòng LogDir và trỏ đường dẫn tới thư mục đó như ví dụ dưới đây:

  • LogDir = /var/log
  • LogDir = /var/www/example.com/logs

2. Cấu hình hiển thị tóm lược log ra Console

Mặc định thì Logwatch cấu hình output = stdout. Lựa chọn này cũng chỉ phù hợp đối với các trường hợp bạn muốn xem một cách thủ công không cần lưu lại các bản tóm lực và gửi logs cho bạn để xem sau

3.Cấu hình Email Logwatch Digest ( Gửi bản tóm lược log ra email)

Logwatch có cơ chế gửi bản tóm lược Logs tới các User Local hoặc một địa chỉ email, nội dung được truyền đi có thể là plaintext hoặc định dạng html. Để làm được việc này ta cấu hình như sau:

  • Trước tiên chúng ta cần chỉnh sửa giá trị Output = mail. Nếu bạn muốn nhận tin nhắn với định dạng HTML thì thay giá trị format = html còn mặc định thì là text.
  • Sau đó ta cần thay đổi giá trị MailTo bằng một địa chỉ email hợp lệ hoặc một user local. Ở ví dụ này ta sẽ cấu hình gửi mail tới user root như sau:

MailTo = root

  • Tiếp theo ta cần sửa cấu hình MailForm với một địa chỉ email hợp lệ hoặc một user local.

 

4. Cấu hình lưu bản tóm lược log ra một file

Cũng giống như thao tác cấu hình gửi bản tóm lược ra mail chúng ta cần chỉnh sửa giá trị Output tới một file.

  • Thay đổi Output giá trị thành file
  • Tìm và bỏ ghi chú (xóa dấu thăng [ # ]) Filename giá trị. Đặt đường dẫn và tên tệp mà bạn muốn lưu thông báo Logwatch của mình.

Sau khi cấu hình các thông số tùy chỉnh ở trên chúng ta cần khởi chạy Logwatch

Running Manual (chạy thủ công)

Chạy câu lệnh logwacth với các options sau:

–detail: Có thể set về low, med, high để chỉ định thông báo chi tiết sẽ hiển thị như thế nào

–logdir: Thư mục mà bạn muốn nhận thông báo

–services: chỉ định dịch vụ mà bạn muốn nó report

–output: chỉ định phương thức hiển thị: stdout, mail, hoặc file

–format: plain text hoặc html

–mailto: gửi report local user hoặc địa chỉ email

Ví dụ :

logwatch --output mail --mailto <Nhập email của bạn> --detail high

 

Running với Crontab

Mở crontab

crontab -e

Thêm một dòng để chạy Logwatch vào 01:30 hàng ngày

30 1 * * * /usr/sbin/logwatch

 

V.Tổng kết

Qua bài này các bạn đã nắm được cách cài đặt và sử dụng Logwatch.Hy vọng bài viết này sẽ giúp ích được cho các bạn.

Chúc các bạn có thể thực hiện thành công!

Các bạn có thể xem các bài viết hữu ích khác theo link https://wiki.nhanhoa.com/

Để lại một bình luận