---
# System prepended metadata

title: 'Tìm hiểu về các loại syslog, security logs của windows/linux'

---

[toc]
# 1. Giới Thiệu

Trong các hệ thống công nghệ thông tin hiện đại, log đóng vai trò là nguồn dữ liệu cốt lõi phục vụ cho việc giám sát, phát hiện sự cố và điều tra an ninh. 
Thông qua log, quản trị viên và đội ngũ an ninh có thể theo dõi hoạt động của hệ điều hành, phát hiện hành vi bất thường cũng như phân tích nguyên nhân của các sự cố đã xảy ra.
 
Việc nắm rõ cấu trúc, nội dung và mục đích của từng loại log là nền tảng quan trọng cho các hoạt động giám sát an ninh, vận hành SOC và phân tích sự cố. 
# 2. Log là gì ?
Log là các bản ghi tự động, chi tiết về mọi sự kiện xảy ra trên hệ thống bao gồm máy chủ, ứng dụng, mạng nó giống như một chiếc "hộp đen" giúp phát hiện các hành vi đáng ngờ, truy cập trái phép, điều tra sự cố, đảm bảo tuân thủ các quy định bằng cách ghi lại thời gian, nguồn, loại sự kiện, mức độ nghiệm trọng và các dữ liệu có liên quan.
# 3. Window Event Log là gì ?

Window Event Log là một hệ thống ghi lại chi tiết các hoạt động, các sự kiện quan trọng xảy ra trên máy tính windows từ hành động người dùng, phần cứng, phần mềm, hệ điều hành để giúp cho quản trị viên hệ thống dễ dàng theo dõi các mối đe doạ tiềm ẩn để chẩn đoán và đưa ra biện pháp khắc phục phù hợp. Có thể sử dụng Windows Event Viewer để xem các Window Event Log

Trong môi trường SOC, Windows Event Log là nguồn dữ liệu đầu vào quan trọng cho các hệ thống SIEM nhằm phát hiện, phân tích và phản ứng trước các mối đe dọa an ninh.

## 3.1 Các thành phần của một bản ghi Window Event Log
Một bản ghi về Window Event Log sẽ có các thành phần sau:
![image](https://hackmd.io/_uploads/SksHNNZSZx.png)
Log Name: Xác định log mà event được ghi vào
Source: Thành phần, dịch vụ của Windows phát ra event
Event ID: Mã định danh duy nhất cho event
Level: Mức độ nghiệm trọng của event
User: Tên user liên quan đến event
OpCode: Mô tả loại thao tác của event
Logged: Thời điểm event được ghi nhận
Task Category: nhóm các event có cùng loại hoạt động hoặc tính năng
keyword: thuộc tính phân loại event, đặc biệt dùng cho Security Log
Computer: Máy phát sinh event

## 3.2 Các nhóm Event Log phổ biến
Các event log được phân thành 4 loại phổ biến bao gồm application, security, setup, system, bên cạnh đó còn một loại là Forwarded Events
![image](https://hackmd.io/_uploads/B1hU_NbSZe.png)

Application Log: Ghi lại hoạt động và các lỗi liên quan đến ứng dụng, nhóm này chứa các event do phần mềm và các ứng dụng trên máy tính tạo ra ví dụ như:
* Ứng dụng bị crash
* Lỗi khi khởi động trương trình

Setup log: Theo dõi quá trình cài đặt và cấu hình hệ thống, nhóm này ghi lại các event xảy ra trong quá trình:
* Cài đặt Windows
* Cập nhật hệ điều hành
* Thay đổi cấu hình hệ thống

System log: Chứa các event liên quan đến hoạt động của các thành phần hệ điều hành 
* Lỗi driver
* Dịch vụ khởi động hoặc dừng
* Sự cố phần cứng

Security log: Chứa các event liên quan đến bảo mật, sự an toàn của hệ thống, Security log ghi lại các hành vi có liên quan trực tiếp đến xác thức, quyền truy cập và quản lí tài khoản 
* Đăng nhập thành công / thất bại
* Thay đổi mật khẩu
* Thêm hoặc xóa tài khoản
* Thay đổi quyền và nhóm người dùng

Một số Event ID tiêu biểu thường hay gặp:
* 4624: Đăng nhập thành công
* 4625: Đăng nhập thất bại
* 4634: Logoff
* 4688: Tạo process mới
* 4720: Tạo user mới
* 4732: Thêm user vào group

Đây là nhóm log quan trọng nhất vì giúp phát hiện sớm mối đe dọa, ứng phó sự cố, điều tra nguyên nhân gốc rễ, phục hồi hệ thống, đảm bảo tuân thủ quy định

Forwarded Event: Nhóm này chứa đựng các sự kiện được chuyển tiếp từ các máy khác thông qua cơ chế Windows Event Fowarding một tính năng có sẵn của Windows cho phép tập trung các bản ghi sự kiện từ nhiều máy tính về một máy chủ thu thập trung tâm

## 3.3 Các mức độ nghiêm trọng của Window Event

Window Event Levels cho biết các mức độ nghiệm trong của các event được ghi lại, được phân thành 5 loại như sau:

* Information: Thường mang tính chất thông tin về một event, không mang vấn đề nghiêm trọng
* Verbose: Thông báo thành công cho một event cụ thể
* Warning: Chỉ ra event có dấu hiệu bất thường, có thể có vấn đề tiềm ẩn cần được quản trị mạng theo dõi
* Error: Mô tả vấn đề của một dịch vụ hoặc hệ thống, biểu thị lỗi rõ ràng cần phân tích, có thể chưa cần thực hiện gấp các biện pháp khắc phục
* Critical: Đây là mức độ nghiêm trọng nhất, có thể xảy ra ở trong hệ thống hoặc ứng dụng nào đó cần được khắc phục sự cố một cách nhanh nhất

## 3.4 Những hạn chế của Window Event Log
Window Event Log cũng có những hạn chế nhất định như:
* Quá tải thông tin: Việc một máy chủ thu thập nhiều log từ hàng nghìn máy(endpoint) có thể khiến chìm trong log và gây ra hiện tượng Alert Fatigue - có quá nhiều cảnh báo dẫn đến các SOC analyst bị mệt mỏi và giảm khả năng phản ứng và điều tra đối với các mối đe doạ thật sự
* Thiếu sự tương quan: Các cuộc tấn công mạng hiện nay thường diễn ra trên nhiều hệ thống khác nhau khiến các log bị phân tán và khó liên kết thành chuỗi sự kiện hoàn chỉnh
* Mất mát và xoá dữ liệu: Các log trên máy local có dung lượng giới hạn và có thể bị ghi đè hoặc nghiệm trọng hơn nếu attacker chiếm quyền cao hơn việc đầu tiên là xoá toàn bộ log

# 4. Linux log là gì ?
Linux log là các hệ thống ghi nhận và lưu trữ các sự kiện phát sinh trong quá trình hoạt động của hệ điều hành Linux, bao gồm các hoạt động của kernel, các dịch vụ hệ thống cũng như ứng dụng và người dùng nhằm phục vụ quá trình giám sát, khắc phục sự cố, đảm bảo an toàn thông tin

Các bản ghi log trong linux có thể được tổ chức và lưu trữ dưới nhiều hình thức khác nhau, phổ biến nhất là các file log riêng lẻ truyền thống như system log, authentication log, kernel log

## 4.1 Các cơ chế ghi log trong Linux
Linux có nhiều cơ chế ghi log nhưng chủ yếu xoay quanh 2 hệ thống là Rsyslog/Syslog-ng và systemd-journald. Tuỳ theo các bản phân phối Linux khác nhau và cách cấu hình hệ thống, hai cơ chế này có thể được sử dụng độc lập hoặc kết hợp để giám sát hệ thống một cách tốt nhất

### 4.1.1 Cơ chế truyền thống

Cơ chế truyền thống trong Linux đã được sử dụng từ sớm, và vẫn được sử dụng cho đến ngày nay. Theo đó, các log được sinh ra từ kernel, các dịch vụ hệ thống và ứng dụng sẽ được gửi tới một syslog daemon phổ biến có thể kể đến là Rsyslog và Syslog-ng. Syslog daemon có nhiệm vụ tiếp nhận, phân loại và lưu trữ các log này vào các file văn bản ở trong thư mục /var/log

Các log được ghi theo cơ chế truyền thống này sẽ được phân loại theo mục đích sử dụng chẳng hạn có các nhóm chính như system log, authentication log, kernel log giúp cho việc giám sát hệ thống, điều tra sự cố trở nên thuận tiện hơn. Việc sử dụng định dạng văn bản giúp cho người dùng dễ dàng phân tích các log, hữu dụng khi tích hợp với các hệ thốgn giám sát

### 4.1.2 Cơ chế hiện đại

Cơ chế ghi log hiện đại được triển khai cùng với hệ thống quản lí dịch vụ systemd. Theo đó các log được thu tập trung lại bởi systemd journal, thay vì ghi trực tiếp ra các file văn bản riêng lẻ. Journal tiếp nhận log từ nhiều nguồn khác nhau như kernel, dịch vụ hệ thống và ứng dụng, đồng thời lưu trữ kèm theo các thông tin bổ sung (metadata) như thời gian, tiến trình, người dùng và dịch vụ liên quan.

Khác với cơ chế ghi log truyền thống, log trong systemd journal được lưu trữ dưới dạng nhị phân có lập chỉ mục, cho phép truy vấn, lọc log theo các tiêu chí khác nhau dễ dàng cho việc giám sát, chẩn đoán sự cố một cách nhanh chóng.

## 4.2 Các loại log trong linux
Trong linux(Ubuntu) có một số loại log chính có thể kể đến như:

System log: Đây là loại log bao gồm các thông tin về hoạt động của hệ thống bao gồm thông báo khởi động, thông báo hệ điều hành, và thông tin phần cứng và mạng, đóng vai trò ghi nhận thông điệp từ nhiều dịch vụ

Authentication log: Loại log này chứa các thông tin về đăng xuất, đăng nhập, cố gắng thử mật khẩu, cấp quyền sudo, giúp kiểm tra xem ai đã đăng nhập hệ thống, khi nào và làm cách nào.

Kernel log: Ghi lại các sự kiện quan trọng, thông báo lỗi, các hoạt động liên quan đến kernel của hệ điều hành, giúp các quản trị viên khắc phục sự cố hiệu quả.

Application log: Loại này chỉ ra thông báo, các hoạt động liên quan đến một trương trình hoặc một ứng dụng cụ thể.


# 5. Syslog là gì ?

Syslog là một tiêu chuẩn để ghi log cho phép phần mềm hệ thống, các thiết bị gửi log đến hệ thống quản lí log tập trung. Được giới thiệu vào những năm 1980s như một phần của hệ điều hành Unix, từ đó được áp dụng rộng rãi cho nhiều nền tảng bao gồm linux, windows, các thiết bị mạng. 

Mục đích chính của syslog là thu thập và quản lí log từ nhiều nguồn khác nhau như server, các thiết bị mạng, các ứng dụng về một nơi tập trung. Phương pháp quản lí log tập trung này sẽ giúp việc phân tích, giám sát các sự cố mạng trở nên dễ dàng hơn

## 5.1 Syslog hoạt động như thế nào ?
Syslog hoạt động theo mô hình Client-Server. Syslog client chịu trách nhiệm cho việc chuẩn hoá và gửi log đến Syslog server. Sau đó Syslog server nhận và lưu trữ, giúp các đoạn log có thể phân tích và giám sát được
Các bước trong quá trình hoạt động của Syslog:

1. Log Generation: Các log được tạo ra từ ứng dụng, phần mềm, các thiết bị do đã kích hoạt điều kiện đã được viết sẵn trong rule, trong log có các nội dung bao gồm thời gian tạo log, nguồn xuất phát từ đâu, nội dung của tin nhắn. Tất cả được syslog chuẩn hoá thành một định dạng để dễ giải thích
1. Log Forwarding: Syslog phía client sẽ chuyển các log đã được chuẩn hoá đến syslog server đã được chỉ định, sử dụng 2 giao thức truyền tải dữ liệu là TCP port 601  và UDP port 514
1. Log Reception: Syslog server lắng nghe trên port 601 hoặc 514 để nhận các log được gửi từ nhiều client khác nhau
1. Log Storage: Syslog server lưu trữ các log đã nhận được vào file hoặc cơ sở dữ liệu đã được cấu hình từ trước
1. Log Analysis: Giai đoạn này các nhà phân tích có thể truy cập và xem xét toàn bộ các log đã thu thập được để có cái nhìn toàn diện, xác định các vấn đề, giám sát hệ thống một cách toàn diện


## 5.2 Giải thích về các thông báo của Syslog

Các thông báo của syslog tuân theo một định dạng nhất định để giúp xác định nguồn, thời gian, mức độ nghiêm trọng một cách hiệu quả.

Mã cơ sở(Facility Codes) được sử dụng để phân loại các thông báo log. Giúp xác định phần mềm, hay các thành phần tạo ra log. Một số mã cơ sở syslog phổ biến bao gồm:

* 0(kern): Thông báo nhân hệ điều hành
* 1(user): Thông báo cấp người dùng
* 2(mail): Thông báo hệ thống thư điện tử
* 3(daemon): Thông báo tiến trình nền hệ thống
* 4(auth): Thông báo xác thực và ủy quyền
* 5(syslog): Thông báo do chính tiến trình syslog tạo ra
* 6(lpr): Thông báo line printer subsystem
* 7(news): Thông báo network news subsystem

Bên cạnh đó mỗi đoạn syslog cũng được gắn một severity level - mức độ nghiệm trọng, để biểu thị xem sự kiện đó có nghiệm trọng, hay khẩn cấp không. Có 8 mức độ nghiêm trọng như sau:

* 0(Emergency): Hệ thống không thể sử dụng được
* 1(Alert): Cần hành động ngay lập tức
* 2(Critical): Tình trạng nghiêm trọng
* 3(Error): Tình trạng lỗi
* 4(Warning): Tình trạng cảnh báo
* 5(Notice): Tình trạng bình thường nhưng quan trọng
* 6(Informational): Thông báo thông tin
* 7(Debug): Thông báo ở cấp độ gỡ lỗi

Các mức độ nghiệm trong giúp quản trị viên mạng dễ dàng xác định và phân loại các vấn đề nghiệm trọng một cách nhanh chóng và xử lí trước

Một đoạn thông báo syslog tiêu biểu bao gồm các thành phần sau:\

Priority Timestamp Hostname Process[PID]: Message

Priority: Mức độ ưu tiên, đây là sự kết hợp của facility codes và severity levels. Ta sử dụng công thức  PRI = (Facility * 8) + Severity. Ví dụ 165 ta áp dụng công thức có thể tính 165:8 = 20 dư 5
Timestamp: Thời gian thông báo log được tạo ra
Hostname: Tên, địa chỉ của thiết bị tạo ra thông báo
Process[PID]: Tên hoặc tiến trình của ứng dụng đã tạo thông báo
Message: Đoạn tin nhắn mô tả sự kiện đã được ghi

## 5.3 Sử dụng Syslog trong hệ điều hành Linux

Trong môi trường Linux, syslog được triển khai thông qua các syslog daemon khác nhau nhưng phổ biến nhất là syslogd, rsyslog và syslog-ng

* syslogd: Syslogd là một triển khai lâu đời nhất trên hệ thống linux, syslogd chịu trách nhiệm thu thập và ghi log từ kernel và các dịch vụ hệ thống theo chuẩn syslog cơ bản. Nhưng do hạn chế về khả năng mở rộng, cơ chế truyền tải không an toàn, thiếu xác thực. Nó đã dần bị thay thế 
* rsyslog: Rsyslog là một triển khai syslog mã nguồn mở, được sử dụng phổ biến và mặc định trên nhiều bản phân phối của linux. Rsyslog hỗ trợ nhiều module input/output, cho phép thu log từ nhiều nguồn khác nhau, ghi log ra file, chuyển tiếp sang hệ thống khác. Ngoài ra, rsyslog hỗ trợ cả UDP và TCP, có khả năng lọc, xử lý log linh hoạt.
* syslog-ng: Syslog-ng là một triển khai syslog mã nguồn mở khác, nổi bật với tính linh hoạt và bảo mật cao. Syslog-ng hỗ trợ nhiều định dạng log, nhiều cơ chế truyền tải và cho phép lọc log theo nội dung, ghi đè hoặc chỉnh sửa message, cũng như cân bằng tải log. Điểm mạnh của syslog-ng là hỗ trợ các cơ chế bảo mật như TLS và xác thực khi truyền log, phù hợp với các môi trường phức tạp.


## 5.4 Ưu và nhược điểm của syslog

Ưu điểm của Syslog:

* Chuẩn hóa log: Cung cấp định dạng log thống nhất, giúp dễ thu thập và phân tích log từ nhiều hệ thống và thiết bị khác nhau.
* Dễ triển khai và phổ biến: Được hỗ trợ rộng rãi trên Linux, Unix và thiết bị mạng, thuận tiện cho việc xây dựng hệ thống log tập trung.

Nhược điểm của Syslog:

* Thiếu bảo mật mặc định: Giao thức syslog không có cơ chế mã hóa hay xác thực sẵn, dễ bị nghe lén hoặc giả mạo log nếu không cấu hình bổ sung.
* Không đảm bảo độ tin cậy khi dùng UDP: Việc truyền log qua UDP có thể gây mất log trong môi trường tải cao hoặc mạng không ổn định.

## 5.5 Các trường hợp sử dụng Syslog

Syslog là một hệ thống quản lí log tập trung nên được sử dụng nhiều trong các trường hợp:

Giám sát hệ thống và mạng: Syslog cho phép thu thập và phân tích log từ máy chủ, thiết bị mạng và ứng dụng, giúp hỗ trợ giám sát tình trạng hoạt động, hiệu năng và tính sẵn sàng của hệ thống. Việc sử dụng định dạng syslog thống nhất giúp dễ dàng liên kết và so sánh các sự kiện giữa nhiều nền tảng khác nhau.

Ghi log bảo mật: Syslog được sử dụng để tập trung các log liên quan đến bảo mật từ firewall, hệ thống phát hiện xâm nhập và các thiết bị an ninh khác. Điều này hỗ trợ phát hiện mối đe dọa, phản ứng sự cố, đảm bảo các sự kiện bảo mật quan trọng được ghi nhận và lưu trữ phục vụ phân tích.


# Tài liệu tham khảo
https://bizflycloud.vn/tin-tuc/syslog-la-gi-kien-thuc-co-ban-ve-nhat-ky-he-thong-20220811095754902.htm
https://sematext.com/glossary/syslog/
https://www.solarwinds.com/resources/it-glossary/windows-event-log
https://stackify.com/linux-logs/


