Trang chủ Kiến thức cơ bản

Sử dụng "ausearch" để thực hiện truy vấn các audit logs

Sử dụng

Audit dùng để theo dõi các thông tin liên quan đến bảo mật trên hệ thống. Audit tạo ra các log để ghi lại thông tin về sự kiện diễn ra trên hệ thống như việc thay đổi cơ sở dữ liệu, việc sử dụng các cơ chế xác thực...

Hệ thống audit sẽ thu thập thông tin liên quan đến bảo mật dựa trên các quy tắc được cấu hình sẵn.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sử dụng công cụ ausearch để lấy dữ liệu từ các tệp nhật ký auditd trên RHEL và CentOS.

Công cụ "ausearch" là gì?

Ausearch là câu lệnh đơn giản được sử dụng để tìm kiếm các tập tin audit daemon log dựa trên các sự kiện và các tiêu chí tìm kiếm khác nhau như xác thực key, kiến trúc CPU, hostname… Ausearch cũng chấp nhận dữ liệu từ stdin.

Mặc định, ausearch sẽ truy vấn file /var/log/audit/audit.log, bạn có thể xem tập tin này giống như bất kỳ tập tin nào khác. File có dạng như sau:

Ảnh 1.

Như bạn có thể thấy ở trên, có rất nhiều dữ liệu từ file log khiến bạn không thể biết được dữ liệu nào cần quan tâm. Đây chính là lúc chúng ta cần đến ausearch, công cụ giúp chúng ta tìm kiếm thông tin hiệu quả và dễ dàng hơn.

Cách sử dụng "ausearch"

Câu lệnh ausearch có cú pháp như sau:

#ausearch [option]

Kiểm tra các logs của tiến trình đang chạy

Sử dụng option -p và chỉ ra process ID để kiểm tra

#ausearch -p [Process ID]

Chúng ta hãy cùng thử kiểm tra logs của tiến trình có PID = 609 với câu lệnh:

#ausearch -p 609

Với câu lệnh này, tất cả các tiến trình có PID =609 sẽ được hiển thị

Ảnh 2.

Kiểm tra các log về các sự kiện

Với ausearch, ta có thể tìm kiếm các log về từng loại sự kiện nhất định với option -m. Để xem các message có thể kiểm tra, ta sử dụng lệnh:

#ausearch -m

Câu lệnh sẽ hiển thị các message type có thể dùng với option -m.

Ảnh 3.

Nếu muốn kiểm tra log tương ứng với message type được hỗ trợ, bạn có thể sử dụng lệnh

#ausearch -m [message_type]

Kiểm tra các lần đăng nhập thất bại

Ausearch có khả năng tìm kiếm các log về việc đăng nhập trên hệ thống của bạn. Để kiểm tra các lần đăng nhập thất bại bạn có thể sử dụng câu lệnh sau:

#ausearch -m USER_LOGIN --success no

-m: Tìm kiếm các log về 1 sự kiện nhất định

-sv (--success):  Giá trị thành công của sự kiện, có 2 option yes và no

Ảnh 4.

Tại đây hiển thị rõ thời gian, process id... của tất cả các lần đăng nhập thất bại

Tìm kiếm hoạt động của các user cụ thể

Chức năng -ua sẽ cho phép tìm kiếm tất cả các logs liên quan đến người dùng.

#ausearch -ua [username]
Ảnh 5.

Tìm kiếm logs với khoảng thời gian nhất định

Với ausearch bạn có thể truy vấn các logs của người dùng trong khoảng thời gian nhất định.

-ts: để xác định thời gian bắt đầu

-te: để xác định thời gian kết thúc

Với option -ts-te bắt buộc phải sử dụng thời gian định dạng 24h và có thể sử dụng các từ chỉ thời gian như now, recent, yesterday

#ausearch -ua root -ts yesterday -te now
Ảnh 6.

Tìm kiếm các audit log của file

Trong ausearch hỗ trợ chức năng -f để tìm kiếm audit log của file cụ thể

#ausearch -f [File]

Tìm kiếm các audit log về key value

Sử dụng option -k để xem các log liên quan đến sự kiện hoặc sửa đổi dựa trên key string đã khai báo.

Dùng câu lệnh dưới đây để ghi lại tất cả log về việc truy cập và thay đổi file /etc/passwd

#auditctl -w /etc/passwd -p rwa -k passwd_changes_vccloud

Chúng ta hãy thử mở tệp /etc/passwd bằng 1 trình editor bất kỳ, chỉnh sửa và đóng tệp lại.

#vim /etc/passwd

Bây giờ hãy sử dụng option -k với key string đã khai báo để kiểm tra, key string ở đây là passwd_changes_vccloud

#ausearch -k passwd_changes_vccloud

Và đây là kết quả:

Ảnh 7.

Trên đây là bài hướng dẫn sử dụng lệnh ausearch cơ bản để kiểm tra các audit log trong RHEL và CentOS.

Để biết thêm thông tin và cách sử dụng lệnh ausearch, hãy sử dụng man page:

#man ausearch


>> Tìm hiểu thêm: Tìm hiểu phương pháp Backup dữ liệu Offsite backup và Onsite backup