Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN


THU THẬP VÀ PHÂN TÍCH THÔNG TIN AN NINH MẠNG
ĐỀ TÀI:
THU THẬP VÀ PHÂN TÍCH THÔNG TIN AN NINH MẠNG

Sinh viên thực hiện : TRƯƠNG VĂN ĐỨC


BÌ VĂN ĐẠT
NGUYỄN NGỌC TIẾN
Giảng viên hướng dẫn : NGUYỄN KHÁNH TÙNG
Ngành : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : QUẢN TRỊ AN NINH MẠNG
Lớp : D14QTANM1
Khóa : 2019-2024

Hà Nội, tháng 12 năm 2022


PHIẾU CHẤM ĐIỂM

Họ và tên sinh
STT Điểm Chữ ký
viên

1 Trương Văn Đức

2 Bì Văn Đạt

3 Nguyễn Ngọc Tiến

Họ và tên giảng viên Chữ ký Ghi chú

Giảng viên chấm 1:

Giảng viên chấm 2:


MỤC LỤC
LỜI CẢM ƠN ............................................................................................................ 1
CHƯƠNG 1. TỔNG QUAN VỀ GIÁM SÁT AN TOÀN MẠNG ........................... 2
1.1 Khái niệm về giám sát an toàn mạng ................................................................... 2
1.2 Tìm hiểu một số kỹ thuật tấn công mạng phổ biến .............................................. 2
1.2.1 Malware – Tấn công bằng phần mềm độc hại .............................................. 2
1.2.2 Tấn công giả mạo (Phishing) ........................................................................ 3
1.2.3 Tấn công từ chối dịch vụ (Dos và DDoS) ..................................................... 5
1.2.4 Tấn công trung gian (Man-in-the-middle attack).......................................... 7
1.2.5 Khai thác lỗ hổng Zero-day (Zero day attack) .............................................. 8
1.3 Các kỹ thuật phát hiện xâm nhập mạng ............................................................... 9
1.3.1 Kỹ thuật phát hiện xâm nhập dựa trên chữ ký .............................................. 9
1.3.2 Kỹ thuật phát hiện xâm nhập dựa trên hành vi ........................................... 10
1.4 Quy trình giám sát an toàn mạng ....................................................................... 11
1.4.1 Thu thập dữ liệu (Collection) ...................................................................... 11
1.4.2 Phân tích dữ liệu (Analytic data) ................................................................ 12
1.4.3 Cảnh báo (Warning) .................................................................................... 12
CHƯƠNG 2. THU THẬP VÀ PHÂN TÍCH THÔNG TIN AN NINH MẠNG ..... 13
2.1 Mô hình hệ thống thu thập SIEM....................................................................... 13
2.1.1 Quản lý tập trung ......................................................................................... 13
2.1.2 Giám sát an toàn mạng ................................................................................ 14
2.1.3 Cải thiện hoạt động xử lý sự cố hiệu quả .................................................... 16
2.2 Phương pháp thu thập thông tin (log) ................................................................ 16
2.2.1 Máy chủ nhật ký hệ thống Kiwi SolarWinds ............................................ 16
2.2.2 Trình phân tích nhật ký sự kiện ManageEngineSyslog .............................. 17
2.2.3 Hộp lưu trữ Syslog-ng ................................................................................. 18
2.2.4 Graylog ........................................................................................................ 20
2.2.5 Nhật ký NX ................................................................................................. 20
2.3 Phương pháp phân tích log ................................................................................. 21
2.3.1 Phân tích log của windows.......................................................................... 21
2.3.2 Phân tích log của linux ................................................................................ 28
CHƯƠNG 3. CÀI ĐẶT, ĐÁNH GIÁ THỬ NGHIỆM ........................................... 30
3.1 Cài đặt và sử dụng Wireshark để phân tích gói tin mạng .................................. 30
3.1.1 Cài đặt Wireshark ........................................................................................ 30
3.1.2 Sử dụng Wireshark để phân tích gói tin mạng ............................................ 31
3.2 Cài đặt và sử dụng phần mềm hỗ trợ phân tích log ELK stack ......................... 38
3.2.1 Yêu cầu hệ thống, mô hình và IP planning ................................................. 38
3.2.2 Các bước cài đặt ELK stack ........................................................................ 39
3.2.2.1 Cài đặt Elasticsearch ............................................................................ 39
3.2.2.2 Cài đặt Kibana ...................................................................................... 41
3.2.2.3 Cài đặt Logstash ................................................................................... 43
3.2.2.4 Cài đặt Filebeat .................................................................................... 44
3.2.3 Thu thập và phân tích log ............................................................................ 46
KẾT LUẬN .............................................................................................................. 50
LỜI CẢM ƠN
Qua bài tập lớn này, chúng em xin gửi lời cảm ơn tới thầy cô khoa công nghệ
thông tin, đặc biệt là thầy Nguyễn Khánh Tùng rất cảm ơn thầy đã cho chúng em có
cơ hội được tìm hiểu một góc kiến thức mới, hay và bổ ích cùng với đó là sự tận
tâm dạy dỗ chúng em, giúp chúng em có thể hoàn thiện đề tài này. Trong quá trình
tìm hiểu và hoàn thiện, đề tài sẽ không thể tránh khỏi những sai sót, khuyết điểm.
Vì vậy, nhóm thực hiện chúng em hy vọng nhận được sự đánh giá và đóng góp
nhiệt tình từ phía thầy và các bạn để bài của nhóm chúng em được hoàn thiện hơn.

Qua bài tập lớn này, em xin cảm ơn các bạn bè lớp D14QTANM1 đã giúp đỡ
em trong quá trình học tập và làm bài tập lớn, đã chia sẻ kinh nghiệm kiến thức của
các bạn đã tạo nên nền tảng kiến thức cho chúng em.

Cuối cùng, chúng em xin gửi lời cảm ơn gia đình đặc biệt là cha mẹ đã tạo
điều kiện tốt nhất cho con có đủ khả năng thực hiện bài tập lớn này, trang trải học
phí, đông viên tinh thần cho em để học tập trong môi trường đại học tuyệt vời này.

1
CHƯƠNG 1. TỔNG QUAN VỀ GIÁM SÁT AN TOÀN MẠNG
1.1 Khái niệm về giám sát an toàn mạng
Network Security Monitoring: “Giám sát an ninh mạng là hoạt động thu
thập, phân tích tình hình nhằm xác định nguy cơ đe dọa an ninh mạng, sự cố an
ninh mạng, điểm yếu, lỗ hổng bảo mật, mã độc, phần cứng độc hại để cảnh báo,
khắc phục, xử lý”.
Đối tượng giám sát an toàn hệ thống thông tin gồm tường lửa, kiểm soát truy
nhập, tuyến thông tin chủ yếu, máy chủ quan trọng, thiết bị quan trọng hoặc thiết bị
đầu cuối quan trọng.
1.2 Tìm hiểu một số kỹ thuật tấn công mạng phổ biến

1.2.1 Malware – Tấn công bằng phần mềm độc hại


Tấn công Malware là một trong những hình thức tấn công qua mạng phổ
biến nhất hiện nay. Malware bao gồm:
 Spyware (phần mềm gián điệp)
 Ransomware (mã độc tống tiền)
 Virus
 Worm (phần mềm độc hại lây lan với tốc độ nhanh),…
Thông thường, Hacker sẽ tiến hành tấn công người dùng thông qua các lỗ
hổng bảo mật. Hoặc lừa người dùng Click vào một đường Link hoặc Email
(Phishing) để cài phần mềm độc hại tự động vào máy tính. Một khi được cài đặt
thành công, Malware sẽ gây ra những hậu quả nghiêm trọng:
 Chặn các truy cập vào hệ thống mạng và dữ liệu quan trọng
(Ransomware).
 Cài đặt thêm phần mềm độc hại khác vào máy tính người dùng.
 Đánh cắp dữ liệu (Spyware).

2
 Phá hoại phần cứng, phần mềm, làm hệ thống bị tê liệt, không thể hoạt
động.
Cách phòng chống Malware:
• Sao lưu dữ liệu thường xuyên: Việc này sẽ giúp bạn không phải lo lắng khi
dữ liệu bị phá hủy.
• Thường xuyên cập nhật phần mềm: Các bản cập nhật của phần mềm (trình
duyệt, hệ điều hành, phần mềm diệt Virus,…) sẽ vá lỗi bảo mật còn tồn tại
trên phiên bản cũ, đảm bảo an toàn thông tin cho người dùng.
• Cẩn thận với các Link hoặc File lạ: Đây là phương thức lừa đảo khá phổ biến
của Hacker. Chúng sẽ gửi Email hoặc nhắn tin qua Facebook, đính kèm Link
Download và nói rằng đó là File quan trọng hoặc chứa nội dung hấp dẫn. Khi
tải về, các File này thường nằm ở dạng .docx, .xlxs, .pptx hay .pdf, nhưng
thực chất là File .exe (chương trình có thể chạy được). Ngay lúc người dùng
Click mở File, mã độc sẽ lập tức bắt đầu hoạt động.

1.2.2 Tấn công giả mạo (Phishing)


Phishing (tấn công giả mạo) là hình thức tấn công mạng bằng giả mạo thành
một đơn vị uy tín để chiếm lòng tin và yêu cầu người dùng cung cấp thông tin cá
nhân cho chúng.
Thông thường, Hacker sẽ giả mạo là ngân hàng, ví điện tử, trang giao dịch
trực tuyến hoặc các công ty thẻ tín dụng để lừa người dùng chia sẻ các thông tin cá
nhân như: tài khoản & mật khẩu đăng nhập, mật khẩu giao dịch, thẻ tín dụng và các
thông tin quan trọng khác.
Phương thức tấn công này thường được thực hiện thông qua việc gửi Email
và tin nhắn. Người dùng khi mở Email và Click vào đường Link giả mạo sẽ được
yêu cầu đăng nhập. Nếu “cắn câu”, tin tặc sẽ có được thông tin cá nhân của người
dùng ngay tức khắc.

3
Phương thức Phishing được phát hiện lần đầu tiên vào năm 1987. Thuật ngữ
là sự kết hợp của 2 từ: Fishing For Information (câu thông tin) và Phreaking (trò
lừa đảo sử dụng điện thoại của người khác không trả phí). Do sự tương đồng trong
việc “câu cá” và “câu thông tin người dùng”, nên thuật ngữ Phishing ra đời.
Các phương thức tấn công Phishing:
Giả mạo Email
Đây là hình thức Phishing khá căn bản. Tin tặc sẽ gửi Email đến người dùng
dưới danh nghĩa của một đơn vị/tổ chức uy tín nhằm dẫn dụ người dùng truy cập
đến Website giả mạo.
Những Email giả mạo thường rất tinh vi và rất giống với Email chính chủ,
khiến người dùng nhầm lẫn và trở thành nạn nhân của cuộc tấn công. Dưới đây là
một số cách mà tin tặc thường ngụy trang:
• Địa chỉ người gửi (VD: Địa chỉ đúng là sales.congtyA@gmail.com thì
sẽ được giả mạo thành sale.congtyA@gmail.com)
• Thiết kế các cửa sổ Pop-up giống hệt bản gốc (cả màu sắc, Font
chữ,…)
• Sử dụng kỹ thuật giả mạo đường dẫn để lừa người dùng (VD: đường
dẫn là congtyB.com nhưng khi nhấn vào thì điều hướng đến
contyB.com)
• Sử dụng hình ảnh thương hiệu của các tổ chức lớn để tăng độ tin cậy.
Giả mạo Website
Giả mạo Website trong tấn công Phishing là làm giả một trang chứ không
phải toàn bộ Website. Trang được làm giả thường là trang đăng nhập để cướp
thông tin của người dùng.
Website giả thường có những đặc điểm sau:

4
• Thiết kế giống đến 99% so với Website gốc.
• Đường dẫn chỉ khác 1 ký tự duy nhất (VD: facebook.com và
fakebook.com, microsoft.com và mircosoft.com,…)
• Luôn có những thông điệp khuyến khích người dùng cung cấp thông
tin cá nhân.
Cách phòng chống tấn công Phishing:
• Cảnh giác với các Email có xu hướng thúc giục bạn nhập thông tin cá
nhân, thông tin nhạy cảm (thông tin thẻ tín dụng, thông tin tài khoản,..)
• Không Click vào các đường dẫn được gửi đến Email nếu không chắc
chắn an toàn.
• Không trả lời những thư rác, lừa đảo.
• Luôn cập nhật phần mềm, ứng dụng đề phòng các lỗ hổng bảo mật có
thể bị tấn công.
Các công cụ hạn chế Phishing: SpoofGuard, Anti-phishing Domain Advisor,
Netcraft Anti-phishing Extension.

1.2.3 Tấn công từ chối dịch vụ (Dos và DDoS)


DoS (Denial of Service) là “Từ chối dịch vụ” của hệ thống, máy chủ hoặc
mạng nội bộ. Để thực hiện được điều này, các Hacker thường tạo ra một lượng
Traffic/Request khổng lồ ở cùng một thời điểm, khiến cho hệ thống bị quá tải. Theo
đó, người dùng sẽ không thể truy cập vào dịch vụ trong khoảng thời gian mà cuộc
tấn công DoS diễn ra.
Một hình thức biến thể của DoS là DDoS (Distributed Denial of Service):
Tin tặc sử dụng một mạng lưới các máy tính (Botnet) để tấn công người dùng.vấn
đề ở đây là chính các máy tính thuộc mạng lưới Botnet sẽ không biết bản thân đang
bị lợi dụng trở thành công cụ tấn công.
Một số hình thức tấn công DDoS

5
Tấn công gây nghẽn mạng (UDP Flood và Ping Flood)
 Mục tiêu: Gây quá tải hệ thống mạng bằng lượng truy cập lớn đến từ
nhiều nguồn để chặn các truy cập thực của người dùng.
 Phương thức: Gây nghẽn đối tượng bằng các gói UDP và ICMP.
Tấn công SYN flood (TCP)
 Mục tiêu: Gây cạn tài nguyên máy chủ, ngăn chặn việc nhận các yêu
cầu kết nối mới.
 Phương thức: Lợi dụng quá trình “bắt tay” 3 chặng TCP, gửi đi yêu
cầu SYN đến máy chủ và được phản hồi bằng một gói SYN-ACK.
Nhưng không gửi lại gói ACK, điều này khiến cho tài nguyên máy chủ
bị sử dụng hết vào việc đợi gói ACK gửi về.
Tấn công khuếch đại DNS
 Mục tiêu: Làm quá tải hệ thống bằng phản hồi từ các bộ giải mã DNS.
 Phương thức: Mạo danh địa chỉ IP của máy bị tấn công để gửi yêu cầu
nhiều bộ giải mã DNS. Các bộ giải mã hồi đáp về IP của máy có kích
thước gói dữ liệu có thể lớn hơn kích thước của yêu cầu tới 50 lần.
Cách phòng chống tấn công DdoS:
• Theo dõi lưu lượng truy cập của bạn: Với cách này, bạn có thể phát
hiện được các vụ tấn công DDoS nhỏ mà tin tặc vẫn thường dùng để
Test năng lực của mạng lưới trước khi tấn công thật sự.
• Nếu bạn có thể xác định được địa chỉ của các máy tính thực hiện tấn
công: có thể tạo một ACL (danh sách quản lý truy cập) trong tường
lửa để thực hiện chặn các IP này.

6
1.2.4 Tấn công trung gian (Man-in-the-middle attack)
Tấn công trung gian (MitM), còn gọi là tấn công nghe lén, xảy ra khi kẻ tấn
công xâm nhập vào một giao dịch/sự giao tiếp giữa 2 đối tượng. Một khi đã chen
vào thành công, chúng có thể đánh cắp dữ liệu trong giao dịch đó.
Các hình thức tấn công trung gian
 Sniffing: Sniffing hoặc Packet Sniffing là kỹ thuật được sử dụng để
nắm bắt các gói dữ liệu vào và ra của hệ thống. Packet Sniffing cũng
tương tự với việc nghe trộm trong điện thoại. Sniffing được xem là
hợp pháp nếu được sử dụng đúng cách. Doanh nghiệp có thể thực hiện
để tăng cường bảo mật.
 Packet Injection: Kẻ tấn công sẽ đưa các gói dữ liệu độc hại vào với
dữ liệu thông thường. Bằng cách này, người dùng thậm chí không
nhận thấy tệp/phần mềm độc hại bởi chúng đến như một phần của
luồng truyền thông hợp pháp. Những tập tin này rất phổ biến trong các
cuộc tấn công trung gian cũng như các cuộc tấn công từ chối dịch vụ.
 Gỡ rối phiên: Bạn đã từng gặp thông báo “Phiên hoạt động đã hết
hạn” chưa? Nếu đã từng thực hiện thanh toán trực tuyến hoặc điền vào
biểu mẫu, hẳn bạn sẽ biết thuật ngữ này. Khoản thời gian từ lúc bạn
đăng nhập vào tài khoản ngân hàng của bạn đến khi đăng xuất khỏi tài
khoản đó được gọi là một phiên. Các phiên này là mục tiêu của tin tặc.
Bởi chúng có khả năng chứa thông tin kín đáo. Trong hầu hết các
trường hợp, một Hacker thiết lập sự hiện diện của mình trong phiên.
Và cuối cùng nắm quyền kiểm soát nó. Các cuộc tấn công này có thể
được thực thi theo nhiều cách khác nhau.
 Loại bỏ SSL: SSL Stripping hoặc SSL Downgrade Attack là một loài
hiếm khi nói đến các cuộc tấn công MiTM, nhưng cũng là một trong
những nguy hiểm nhất. Chứng chỉ SSL/TLS giữ liên lạc của chúng tôi
an toàn trực tuyến thông qua mã hóa. Trong các cuộc tấn công SSL, kẻ

7
tấn công loại bỏ kết nối SSL/TLS và chuyển giao thức từ HTTPS an
toàn sang HTTP không an toàn.
Cách phòng chống tấn công trung gian:
• Đảm bảo các Website bạn truy cập đã cài SSL.
• Không mua hàng hoặc gửi dữ liệu nhạy cảm khi dùng mạng công
cộng.
• Không nhấp vào Link hoặc Email độc hại.
• Có các công cụ bảo mật thích hợp được cài đặt trên hệ thống của bạn.
• Tăng cường bảo mật cho hệ thống mạng của gia đình bạn.

1.2.5 Khai thác lỗ hổng Zero-day (Zero day attack)


Lỗ hổng zero-day (0-day Vulnerability) thực chất là những lỗ hổng bảo mật
của phần mềm hoặc phần cứng mà người dùng chưa phát hiện ra. Chúng tồn tại
trong nhiều môi trường khác nhau như: Website, Mobile Apps, hệ thống mạng
doanh nghiệp, phần mềm – phần cứng máy tính, thiết bị IoT, Cloud, …
Sự khác nhau giữa một lỗ hổng bảo mật thông thường và một lỗ hổng Zero-
day nằm ở chỗ: Lỗ hổng Zero-day là những lỗ hổng chưa được biết tới bởi đối
tượng sở hữu hoặc cung cấp sản phẩm chứa lỗ hổng.
Thông thường ngay sau khi phát hiện ra lỗ hổng 0-day, bên cung cấp sản
phẩm sẽ tung ra bản vá bảo mật cho lỗ hổng này để người dùng được bảo mật tốt
hơn. Tuy nhiên trên thực tế, người dùng ít khi cập nhật phiên bản mới của phần
mềm ngay lập tức. Điều đó khiến cho Zero-day được biết đến là những lỗ hổng rất
nguy hiểm. Có thể gây thiệt hại nghiêm trọng cho doanh nghiệp và người dùng.
Một khi được công bố rộng rãi ra công chúng, lỗ hổng 0-day trở thành lỗ
hổng n-day.
Cách phòng chống lỗ hổng Zero-day:
• Thường xuyên cập nhật phần mềm và hệ điều hành

8
• Triển khai giám sát bảo mật theo thời gian thực
• Triển khai hệ thống IDS và IPS
• Sử dụng phần mềm quét lỗ hổng bảo mật
1.3 Các kỹ thuật phát hiện xâm nhập mạng

1.3.1 Kỹ thuật phát hiện xâm nhập dựa trên chữ ký


Ban đầu được sử dụng bởi các nhà phát triển phần mềm chống vi-rút, "chữ
ký tấn công" được sử dụng để quét các tệp hệ thống để tìm bằng chứng về hoạt
động độc hại. Giải pháp IDS dựa trên chữ ký thường giám sát lưu lượng mạng gửi
đến để tìm các chuỗi và mẫu phù hợp với một chữ ký tấn công cụ thể. Chúng có thể
được tìm thấy trong tiêu đề gói mạng cũng như trong chuỗi dữ liệu khớp với phần
mềm độc hại đã biết hoặc các mẫu độc hại khác. Dấu hiệu tấn công cũng có thể
được tìm thấy trong các địa chỉ mạng đích hoặc nguồn cũng như trong các chuỗi dữ
liệu hoặc chuỗi gói cụ thể.

Phát hiện dựa trên chữ ký sử dụng danh sách các chỉ số thỏa hiệp (IOC) đã
biết. Chúng có thể bao gồm các hành vi tấn công mạng cụ thể, chuỗi byte đã biết và
miền độc hại. Chúng cũng có thể bao gồm các dòng tiêu đề email và tệp băm.

Một trong những hạn chế lớn nhất của các giải pháp IDS dựa trên chữ ký là
không có khả năng phát hiện các cuộc tấn công chưa biết. Các tác nhân độc hại có
thể chỉ cần sửa đổi trình tự tấn công của chúng trong phần mềm độc hại và các loại
tấn công khác để tránh bị phát hiện. Lưu lượng cũng có thể được mã hóa để bỏ qua
hoàn toàn các công cụ phát hiện dựa trên chữ ký. Ngoài ra, APT thường liên quan
đến các tác nhân đe dọa thay đổi chữ ký của chúng hơn 60% thời gian.

9
1.3.2 Kỹ thuật phát hiện xâm nhập dựa trên hành vi
Một giải pháp IDS dựa trên hành vi hoặc sự bất thường vượt xa việc xác định
các dấu hiệu tấn công cụ thể để phát hiện và phân tích các kiểu hành vi độc hại
hoặc bất thường. Loại hệ thống này áp dụng Thống kê, trí tuệ nhân tạo và học máy
để phân tích lượng dữ liệu khổng lồ và lưu lượng truy cập mạng cũng như xác định
chính xác các điểm bất thường.

Thay vì tìm kiếm các mẫu liên kết với các kiểu tấn công cụ thể, các giải pháp
IDS dựa trên hành vi giám sát các hành vi có thể liên quan đến các cuộc tấn công,
tăng khả năng xác định và giảm thiểu hành động nguy hiểm trước khi mạng bị xâm
phạm.

Bằng cách phân tích dữ liệu một cách thông minh bằng trí tuệ nhân tạo và
máy học, các giải pháp IDS dựa trên hành vi cung cấp tuyến phòng thủ tốt nhất
chống lại các vi phạm mạng. Chúng cung cấp cái nhìn toàn diện về các mạng phức
tạp, trải dài ngày nay từ cơ sở đến trung tâm dữ liệu và đám mây. Điều đó có nghĩa
là lưu lượng độc hại và bất thường sẽ được phát hiện trên toàn bộ bề mặt tấn công
mạng vật lý và mạng ảo.

Nhiều hệ thống IDS thế hệ tiếp theo sử dụng phân tích lưu lượng mạng để
phân tích hành vi lưu lượng mạng một cách thông minh. Điều này bao gồm phân
tích các mẫu hành vi được quy cho tất cả các thực thể được liên kết với mạng. Các
thuộc tính như địa chỉ IP nguồn và đích, cờ TCP, cổng nguồn và đích cũng như
byte vào, byte ra được sử dụng để giám sát và xây dựng đường cơ sở hành vi. Tất
cả hoạt động mới của mỗi thực thể sau đó được so sánh với đường cơ sở của nó để
xác định hành vi bất thường và sai lệch so với chuẩn lịch sử.

Các giải pháp IDS dựa trên hành vi rất quan trọng đối với các mạng có lưu
lượng truy cập lớn. Khi được sử dụng song song với bảo vệ vành đai, các dịch vụ
10
này cung cấp khả năng hiển thị đầy đủ lưu lượng mạng cũng như cảnh báo nếu phát
hiện hành vi đáng ngờ.

1.4 Quy trình giám sát an toàn mạng

1.4.1 Thu thập dữ liệu (Collection)


Việc thu thập dữ liệu ở đây chính là việc lấy các thông tin liên quan đến tình
trạng hoạt động của các thiết bị trong hệ thống mạng. Tuy nhiên, trong những hệ
thống mạng lớn thì các dịch vụ hay các thiết bị không đặt tại trên máy, một địa
điểm mà nằm trên các máy chủ, các hệ thống con riêng biệt nhau. Các thành phần
hệ thống cũng hoạt động trên những nền tảng hoàn toàn khác nhau. Mô hình Log
tập trung được đưa ra để giải quyết vấn đề này. Cụ thể, là tất cả Log sẽ được
chuyển về một trung tâm để phân tích và xử lý.
Với mỗi thiết bị có những đặc điểm riêng và các loại log cũng khác nhau.
Như log của các thiết bị mạng như: Router, Swich. Log của các thiết bị phát hiện
xâm nhập: IDS, IPS, Snort … Log của các Web Server, Application Server, Log
Event, Log Registry của các Server Windows, Unix/Linux.
Cách thức thu thập dữ liệu trong hệ thống NSM
 The Push Method (Phương pháp đẩy): Các sự kiện từ các thiết bị,
Các máy trạm, Server sẽ được tự động chuyển về các Collector theo
thời gian thực hoặc sau mỗi khoảng thời gian phụ thuộc vào việc cấu
hình trên các thiết bị tương ứng. Các Collector của Log Server sẽ thực
hiện việc nghe và nhận các sự kiện khi chúng xảy ra. Ví dụ như:
NetFlow, Syslog-ng Message(Syslog-ng gồm 2 thành phần là Syslog-
Agent và Syslog-Server), Access-list (ACL) logs …
 The Pull Method (Phương pháp kéo): Các Collector thu tập các sự
kiện được phát sinh và lưu trữ trên chính các thiết bị và sẽ được lấy về
bởi các bộ Collector. Hai giao thức phổ biến để thu thập được các sự
kiện là Security Device Event Exchange (SDEE – Gồm các thiết bị
nằm trong hệ thống các thiết bị phát hiện xâm nhập được phát triển bởi
11
ICSA) và SNMP (Simple Network Management Protocol – Giao thức
hỗ trợ việc quản lý các thiết bị từ xa).

1.4.2 Phân tích dữ liệu (Analytic data)


Khi đã thu thập được những thông tin về hệ thống thì công việc tiếp theo là
phân tích thông tin, cụ thể là việc thực hiện chỉ mục hóa dữ liệu, phát hiện những
điều bất thường, những mối đe dọa của hệ thống. Dựa trên những thông tin về lưu
lượng truy cập, trạng thái truy cập, định dạng request… Ví dụ như lưu lượng truy
cập bỗng dưng tăng vọt tại một thời điểm.

1.4.3 Cảnh báo (Warning)


Sau khi đã thực hiện việc phân tích dữ liệu từ các thông tin thu thập được
việc tiếp theo là thực hiện việc đánh giá, đưa thông tin cảnh báo tới người quản trị
và thực hiện những công tác nhằm chống lại những mối đe dọa, khắc phục các sự
cố có thể xảy ra.
Cảnh báo có thể thông qua email, SMS, hoặc thực thi các mã script nhằm
hạn chế hậu quả của sự cố. Khi xảy ra sự cố, hệ thống sẽ tự động gửi email, sms
cho người quản trị và cũng có thể chạy script để thêm một địa chỉ IP có biểu hiện
tấn công và danh sách đen của Firewall. Việc này đòi hỏi người lập trình phải có
hiểu biết sâu và kinh nghiệm về hệ thống.

12
CHƯƠNG 2. THU THẬP VÀ PHÂN TÍCH THÔNG TIN AN
NINH MẠNG

2.1 Mô hình hệ thống thu thập SIEM


SIEM (Security Information and Event Management) quản lý log và sự kiện
tập trung, cung cấp các chức năng chính như: Thu thập và lưu trữ tập trung dữ liệu
log và các sự kiện từ tất cả các thiết bị dài hạn, bảo mật, an toàn và chuẩn hóa giúp
cho người quản trị dễ dàng hiểu được các vấn đề đang xảy ra trong hệ thống.
Giải pháp SIEM được xem là cách toàn diện, hoàn chỉnh và hiệu quả giúp
các cơ quan tổ chức thực hiện việc giám sát an toàn thông tin cho hệ thống. Đây là
giải pháp được ngày càng nhiều doanh nghiệp tổ chức áp dụng nhằm đảm bảo an
toàn tuyệt đối và tính nhất quán, linh hoạt trong việc lắp đặt và sử dụng thiết bị hơn
cho hệ thống an ninh mạng công nghệ thông tin.
Các tổ chức khác nhau sử dụng hệ thống SIEM với mục đích khác nhau, do
đó lợi ích thu được cũng khác nhau. Bài viết sẽ làm rõ ba lợi ích lớn nhất của
SIEM:
o Quản lý tập trung
o Giám sát an toàn mạng
o Cải thiện hiệu quả trong hoạt động xử lý sự cố

2.1.1 Quản lý tập trung


SIEM quản lý log và sự kiện tập trung, cung cấp các chức năng chính như:
 Thu thập và lưu trữ tập trung dữ liệu log và các sự kiện từ tất cả các
thiết bị dài hạn, bảo mật, an toàn và chuẩn hóa giúp cho người quản trị
dễ dàng hiểu được các vấn đề đang xảy ra trong hệ thống.
 Hỗ trợ phân tích và kết hợp các thông tin khác về ứng dụng, người
dùng, máy chủ, … giúp phát hiện nhanh các vấn đề về bảo mật, hoạt

13
động xâm nhập trên toàn bộ thiết bị trong hệ thống một cách nhanh
chóng
 Đưa ra các cảnh báo các sự cố bảo mật kịp thời và chính xác cao
 Xây dựng sẵn các chuẩn báo cáo như PCI-DSS, HIPAA, NERC-CIP,
FISMA, GLBA, SOX, ISO27001 hay có thể tùy biến theo nhu cầu của
khách hàng.

Một lí do khác cho thấy tại sao SIEM rất hữu ích trong việc quản lý và báo
cáo tập trung là việc hỗ trợ sẵn các mẫu báo cáo phù hợp với các chuẩn quốc tế như
Health Insurance Portability and Accountability Act (HIPAA), Payment Card
Industry Data Security Standard (PCI DSS) và Sarbanes-Oxley Act (SOX). Nhờ
SIEM, một tổ chức có thể tiết kiệm đáng kể thời gian, nguồn lực để đạt được đủ các
yêu cầu về báo cáo an ninh định kỳ.

2.1.2 Giám sát an toàn mạng


Quản lý sự kiện bảo mật : Khi các sự kiện đã ghi được thu thập bởi một
điểm tổng hợp tập trung, hệ thống Quản lý sự kiện bảo mật (SEM) sử dụng các
thuật toán của riêng nó để xác định lưu lượng đáng ngờ từ lưu lượng người dùng
14
thông thường. SEM chủ yếu tập trung vào phân tích thời gian thực các tài nguyên
mạng dành riêng cho bảo mật như tường lửa và hệ thống phát hiện xâm nhập, thay
vì các hệ thống quản lý nhật ký tiêu chuẩn được sử dụng trong pháp y và điều tra
các sự cố trong quá khứ từ tất cả các tài nguyên. Các hệ thống SEC cũng có thể
được sử dụng để giám sát và có thể gửi thông báo khi phát hiện thấy các sự kiện
đáng ngờ.

Quản lý thông tin bảo mật : Một thành phần trong giám sát và phân tích
được sử dụng trong phần mềm SIEM là hệ thống Quản lý thông tin bảo mật (SIM),
tập trung vào việc thu thập dữ liệu từ các điểm cuối và điểm cuối máy chủ khác
nhau. Những tài nguyên này có thể là mục tiêu của những kẻ tấn công, nhưng mục
đích của chúng không phải là để bảo mật mạng mà là để hỗ trợ năng suất của công
ty. Chúng thường có thể là trọng tâm chính của những kẻ tấn công do các tệp và
thông tin nhạy cảm mà chúng lưu trữ. SEM tập trung vào các tài nguyên bảo mật
nhưng hệ thống SIM tập trung vào các tài sản như máy chủ, ứng dụng, thiết bị
người dùng, thiết bị đầu cuối, proxy và các tài nguyên môi trường mạng cơ bản
khác.

Tương quan sự kiện bảo mật : Để xác định một sự cố đang diễn ra, SIEM
sử dụng hệ thống Tương quan sự kiện bảo mật (SEC). Hệ thống SEC này xác định
các mẫu phổ biến trong các sự kiện được ghi lại tổng hợp để xác định xem tổ chức
có bị xâm phạm hay không. Các sự kiện đáng ngờ có thể được gắn cờ để xem xét
thêm từ một nhà phân tích con người. Điều quan trọng là thành phần này không có
quá nhiều thông báo sai vì nó khiến nhà phân tích mệt mỏi, đây là hiện tượng phổ
biến trong phân tích bảo mật khi người đánh giá không tin tưởng vào thông báo
SIEM và bỏ qua các vi phạm tiềm ẩn. Các nhà phân tích con người bị mệt mỏi
thường trở nên mất nhạy cảm với các cảnh báo và có thể bỏ lỡ các thông báo quan

15
trọng về sự cố bảo mật đang diễn ra, vì vậy, bất kỳ hệ thống cảnh báo nào cũng nên
nhắm đến việc có ít thông báo sai.

2.1.3 Cải thiện hoạt động xử lý sự cố hiệu quả


Một lợi ích khác của các sản phẩm SIEM là gia tăng đáng kể hiệu quả việc
xử lý sự cố, tiết kiệm đáng kể thời gian và nguồn lực đối cho các nhân viên xử lý
sự cố. SIEM cải thiện điều này bằng cách cung cấp một giao diện đơn giản để xem
xét tất cả dữ liệu nhật ký an ninh từ nhiều thiết bị đầu cuối.
Ví dụ:
 Cho phép nhân viên xử lý sự cố nhanh chóng phát hiện một mũi của
cuộc tấn công vào doanh nghiệp.
 Cho phép xác định nhanh chóng tất cả thiết bị đầu cuối bị ảnh hưởng
bởi cuộc tấn công.
 Cung cấp cơ chế tự động nhằm ngăn chặn các cuộc tấn công đang diễn
ra và cách ly các thiết bị đầu cuối đã bị xâm hại.
2.2 Phương pháp thu thập thông tin (log)

2.2.1 Máy chủ nhật ký hệ thống Kiwi SolarWinds


Công cụ này có thể tự động thu thập và hợp nhất các thông báo nhật ký (bao
gồm dữ liệu nhật ký hệ thống và bẫy SNMP) từ một số thiết bị mạng (bao gồm
tường lửa, hệ điều hành, máy trạm, v.v.) và các máy chủ, bao gồm các máy chủ Sự
kiện Windows và Linux/Unix, đưa chúng vào một , bảng điều khiển dễ điều hướng.
Điều này có thể giúp bạn tiết kiệm thời gian và công sức vì bạn không còn phải
kiểm tra riêng lẻ từng thông báo tường trình của hệ thống—một nhiệm vụ rất mệt
mỏi và tệ nhất là không thể thực hiện được. Từ bảng điều khiển, thật đơn giản để
chuyển đổi giữa tổng quan về dữ liệu nhật ký của bạn và chế độ xem chi tiết hiển
thị chi tiết về nhật ký và hệ thống cụ thể.

16
Ngoài việc giúp bạn duy trì bảo mật và khắc phục lỗi khi chúng xảy ra với sự
trợ giúp của các cảnh báo thông minh theo thời gian thực, Kiwi Syslog Server giúp
bạn dễ dàng lưu trữ dữ liệu nhật ký hệ thống để tuân thủ và tăng cường bảo mật hệ
thống. Bạn có thể dễ dàng tạo lịch biểu, vì vậy công cụ sẽ tự động lưu trữ các thông
báo nhật ký hệ thống của bạn theo các tiêu chuẩn bảo mật dữ liệu như HIPAA,
SOX, PCI DSS, v.v. Sau đó, bạn có thể truy cập thông tin nhật ký được lưu trữ từ
bất kỳ đâu—tất cả những gì bạn cần là kết nối internet

2.2.2 Trình phân tích nhật ký sự kiện ManageEngineSyslog


ManageEngine EventLog Analyzer là một giải pháp lưu trữ và thu thập nhật
ký tuyệt vời khác. Nó được thiết kế để thu thập dữ liệu từ khắp cơ sở dữ liệu, tệp và
máy chủ web, ứng dụng và thiết bị mạng của bạn. Giống như Máy chủ Kiwi
Syslog, nó được xây dựng để giúp bạn hiểu dữ liệu nhật ký của mình dễ dàng hơn
bất kể nguồn gốc của nó. Trình phân tích nhật ký sự kiện giúp dễ dàng phân tích cú

17
pháp và xác thực bất kỳ định dạng nhật ký tùy chỉnh nào, vì vậy bạn có thể nhập tất
cả các loại sự kiện nhật ký vào công cụ.

Trình phân tích nhật ký sự kiện không chỉ thu thập dữ liệu nhật ký hệ thống
theo thời gian thực (và tự động hóa cảnh báo dựa trên dữ liệu), mà còn thu thập và
lưu trữ nhật ký lịch sử. Bạn có thể sử dụng thông tin này để xem cả xu hướng hiện
tại và lịch sử cũng như để thực hiện phân tích dự đoán. Công cụ này cũng tự động
tạo các báo cáo dựa trên dữ liệu nhật ký của bạn để giúp bạn theo dõi việc tuân thủ
các tiêu chuẩn bảo mật dữ liệu khác nhau.

2.2.3 Hộp lưu trữ Syslog-ng


Syslog-ng là một giải pháp thu thập nhật ký tuyệt vời khác và tự quảng cáo là
“con dao quản lý nhật ký của quân đội Thụy Sĩ”. Cả phiên bản miễn phí và phiên
bản cao cấp của công cụ thu thập nhật ký này đều có sẵn. Syslog-ng cho phép bạn
thu thập nhật ký từ bất kỳ nguồn nào trên thực tế, giúp bạn linh hoạt phân tích cú
pháp, viết lại, phân loại và tương quan nhật ký của mình trước khi lưu trữ hoặc gửi
18
chúng đến một giải pháp phân tích nhật ký. Điều này giúp dễ hiểu dữ liệu nhật ký
của bạn hơn.

Cả phiên bản miễn phí và cao cấp của Syslog-ng đều không bao gồm lưu trữ;
tuy nhiên, Syslog-ng cung cấp giải pháp Hộp lưu trữ để lưu trữ tự động cùng với
lưu trữ được mã hóa và kiểm soát truy cập chi tiết để giúp bạn bảo mật dữ liệu. Khi
bạn sử dụng trình thu thập nhật ký Syslog-ng cùng với Hộp lưu trữ, bạn sẽ có được
trải nghiệm lưu trữ và thu thập nhật ký hợp nhất giống như khi sử dụng một công
cụ duy nhất như Máy chủ Kiwi Syslog.

19
2.2.4 Graylog

Graylog thu thập và tổng hợp dữ liệu nhật ký từ khắp các hệ thống của bạn
để tạo bảng điều khiển đơn giản hóa cho phép bạn xem dữ liệu của mình từ xa đồng
thời cung cấp cho bạn tùy chọn xem chi tiết nhật ký. Nó cũng cho phép bạn tạo các
điều kiện cảnh báo để đảm bảo bạn được thông báo khi nhật ký chỉ ra sự cố hệ
thống tiềm ẩn. Bạn có thể viết các hành động sẽ được thực hiện tự động trong
trường hợp có cảnh báo cụ thể

2.2.5 Nhật ký NX
Nếu bạn đang tìm kiếm một trình thu thập nhật ký duy nhất có thể thu thập
các nhật ký hiện tại từ nhiều nguồn khác nhau, thì không đâu khác ngoài NXLog,
một trình thu thập nhật ký mã nguồn mở miễn phí. Phiên bản Cộng đồng miễn phí
của NXLog hoạt động trên mọi hệ điều hành chính và tương thích với hầu hết các
sản phẩm SIEM và phân tích nhật ký. Nó xử lý nhiều nguồn dữ liệu mà các công cụ
miễn phí khác không thể quản lý, mang lại khả năng hiển thị ở mức độ cao cho các
hoạt động và hệ thống của bạn. Mặc dù NXLog không lưu trữ các tệp nhật ký của

20
bạn nhưng đây vẫn là một giải pháp tuyệt vời nếu bạn đang tìm kiếm một công cụ
để lấy tất cả nhật ký của mình ở một nơi duy nhất.

Nếu bạn muốn các tính năng bổ sung, bạn có thể sử dụng NXLog Enterprise
Edition, bao gồm các tính năng bổ sung hữu ích cho việc triển khai lớn hơn. Phiên
bản này vẫn không có khả năng lưu trữ, nhưng nó có thể lọc nhật ký tại nguồn để
tăng chất lượng của dữ liệu nhật ký đã thu thập nhằm giúp hợp lý hóa phân tích của
bạn. Ngoài ra, công cụ được quản lý tập trung giúp đảm bảo tất cả nhật ký của bạn
được chuyển một cách an toàn và đáng tin cậy.

2.3 Phương pháp phân tích log

2.3.1 Phân tích log của windows


Trong điều tra số, một trong những vị trí đem đến những thông tin vô cùng
hữu ích cho người điều tra là Windows Event Logs.
21
Windows Event Logs gồm những sự kiện liên quan đến software, hardware,
OS, security. Service Windows Event Log chịu trách nhiệm quản lý các sự kiện,
nhật ký sự kiện; nó thu thập các sự kiện từ nhiều nguồn khác nhau và lưu trự tập
chung tại một thư mục. Các sự kiện này có thể giúp người điều tra biết được
chuyện gì đã xảy ra trên hệ thống, chúng xảy ra vào thời gian nào, tham chiếu đến
người dùng cụ thể liên quan đến những hành vi đó hay các thông tin của các hệ
thống, tài nguyên truy cập từ xa.

Ban đầu, ở những phiên bản hệ điều hành cũ (trước Windows Vista) event
log sẽ được lưu trữ tập chung tại systemroot%\System32\config ở định dạng nhị
phân và với phần mở rộng đuôi .evt.

Nhưng bắt đầu từ Win server 2008 và Windwos Vista thì đã có sự thay đổi
về định dạng log và vị trí lưu trữ của chúng. Event log được chuyển sang định dạng
XML và với phần mở rộng .evtx và chúng được lưu trữ tại
%systemroot%\System32\winevt\logs.

22
Vị trí lưu của từng loại log có thể tìm thấy trong Registry:

Chẳng hạn như trong hình trên với các event liên quan đến Application sẽ
được lưu trữ trong %systemroot%\System32\winevt\Logs\Application.evtx

Và người quản trị có thể thay đổi được vị trí này bằng cách thay đổi data
value của registry key.

Format log

Với Win2008 trở về trước toàn bộ tệp log sẽ được ánh xạ vào bộ nhớ và điều
này thực sự là một vấn đề với việc quản lý bộ nhớ, bộ nhớ luôn phải dành một
không gian tối đa tới 300MB để cấp phát chỉ cho Event Log và tất nhiên hiệu suất
sẽ bị giảm nhất là đối với thời điểm đó khi mà dung lượng bộ nhớ thực sự không

23
lớn. Và đôi khi có thể dẫn đến vấn đề là người dùng sẽ tắt logging đi để nâng cao
hiệu suất.

Nhưng với các bản windows OS mới hơn thì điều này đã được khắc phục,
service Windows Event Log quản lý các event và event logs (logging events,
querying events, subscribing to events, archiving event logs, and managing event
metadata). Trong bộ nhớ lúc này chỉ chứa hững header nhỏ với các đoạn mã 64KB
nằm trong bộ nhớ và nó thực sự đã giải quyết được vấn đề quản lý bộ nhớ mà
không làm giảm hiệu suất.

Định dạng của event log cũng thay đổi với extension là .EVTX và được lưu
trữ ở định dạng XML, giúp việc giải mã cấu trúc nhật ký trở nên trực quan hơn và
cũng dễ dàng để tạo bộ lọc hỗ trợ việc tìm kiếm. VD với 1 event dưới đây:

24
Số lượng log đã tăng lên rất nhiều và cũng có các tùy chọn ghi log chi tiết
hơn với sự tùy chỉnh của Advanced Audit Policy Configuration.

Event Types

Có năm loại sự kiện có thể được ghi lại. Mỗi sự kiện phải thuộc một loại nào
đó trong 5 loại này và mỗi loại sẽ có một t biểu tượng khác nhau. VD như hình
dưới:

Bảng sau đây mô tả năm loại sự kiện được sử dụng trong ghi nhật ký sự kiện.

25
Các loại log

Event log gồm các nhật ký tiêu chuẩn (Security, System và Application)
ngoài ra còn có các bản additional logs đã được thêm vào log chuyên biệt (Custom
log) chẳng hạn như PowerShell, Task Scheduler,…

Application Log: Ghi lại những sự kiện sinh ra bởi ứng dụng. Ví dụ: Lỗi khi
khởi động ứng dụng.

26
Security Log: Ghi lại các sự kiện dựa trên các tiêu chí trong local hay global
group policies. Nó ghi lại thông tin về kiểm soát truy cập chẳng hạn như các lần
login fail, folder access.

System Log: Các sự kiện được ghi lại bởi hệ điều hành hoặc các thành phần
của nó, chẳng hạn như lỗi dịch vụ không thể khởi động trong quá trình khởi động.

Khi mở bằng Event Viewer bạn có thể thấy ngoài ra còn có một số Logs
khác như Setup, Forwarded Events hay cả Applications and Services. Đây là một
số loại log mới:

27
Setup: Nó xác định các bản cập nhật bảo mật Windows, các bản vá lỗi và các
hotfix đã được thêm vào hệ thống.

Forwarded Events: log này là một phần mới, rất cần thiết, log được gửi từ
các hệ thống khác về 1 hệ thống tạm gọi là hệ thống “thu thập” sẽ xuất hiện trong
Forwarded Events log của hệ thống đó. Windows Audit Collection Service chịu
trách nhiệm thu thập và chuyển tiếp log.

Applications and Services: bao gồm tất cả các log “custom” mới được giới
thiệu trong Win2008. Phần lớn log được tìm thấy trong thư mục Microsoft trong
Event Viewer.

2.3.2 Phân tích log của linux


Hệ điều hành Linux cung cấp một số tính năng độc đáo khiến nó trở nên phổ
biến trong cơ sở người dùng chuyên dụng của nó. Ngoài việc miễn phí sử dụng,
nhờ mô hình phát triển mã nguồn mở với cộng đồng đông đảo và hỗ trợ, Linux tự
động tạo và lưu các tệp nhật ký giúp quản trị viên máy chủ dễ dàng theo dõi các sự
kiện quan trọng diễn ra trên máy chủ, trong kernel hoặc bất kỳ dịch vụ hoặc ứng
dụng đang hoạt động nào.

Phân tích nhật ký là một hoạt động quan trọng đối với quản trị viên máy chủ,
những người coi trọng cách tiếp cận chủ động đối với CNTT. Bằng cách theo dõi
và giám sát các tệp nhật ký Linux, quản trị viên có thể theo dõi hiệu suất của máy
chủ, khám phá lỗi, phát hiện các mối đe dọa tiềm ẩn đối với các vấn đề về bảo mật
và quyền riêng tư và thậm chí dự đoán các sự cố trong tương lai trước khi chúng
xảy ra. Linux giữ bốn loại nhật ký mà quản trị viên hệ thống có thể xem xét và
phân tích:

28
 Nhật ký ứng dụng - Linux tạo các tệp nhật ký theo dõi hành vi của
một số ứng dụng. Nhật ký ứng dụng chứa các bản ghi sự kiện, lỗi,
cảnh báo và các thông báo khác đến từ ứng dụng.

 Nhật ký sự kiện - mục đích của nhật ký sự kiện là ghi lại các sự kiện
diễn ra trong quá trình thực thi hệ thống. Nhật ký sự kiện cung cấp dấu
vết kiểm tra, cho phép quản trị viên hệ thống hiểu cách hệ thống đang
hoạt động và chẩn đoán các sự cố tiềm ẩn.

 Nhật ký dịch vụ - Hệ điều hành Linux tạo tệp nhật ký có tên


/var/log/daemon.log để theo dõi các dịch vụ nền quan trọng không có
đầu ra đồ họa. Việc ghi nhật ký đặc biệt hữu ích đối với các dịch vụ
thiếu giao diện người dùng, vì có rất ít phương pháp khác để người
dùng kiểm tra các hoạt động và hiệu suất của dịch vụ.

 Nhật ký hệ thống - Tệp nhật ký hệ thống chứa các sự kiện được ghi
lại bởi các thành phần hệ điều hành. Điều này bao gồm những thứ như
thay đổi thiết bị, sự kiện, cập nhật trình điều khiển thiết bị và các hoạt
động khác. Trong Linux, tệp /var/log/Syslog chứa hầu hết nhật ký hoạt
động hệ thống điển hình. Người dùng có thể phân tích các nhật ký này
để khám phá những thứ như lỗi khởi động không phải kernel, thông
báo khởi động hệ thống và lỗi ứng dụng.

29
CHƯƠNG 3. CÀI ĐẶT, ĐÁNH GIÁ THỬ NGHIỆM
3.1 Cài đặt và sử dụng Wireshark để phân tích gói tin mạng

3.1.1 Cài đặt Wireshark


Đối với Windows

Chọn Trình thiết đặt window Wireshark phù hợp với loại hệ thống của bạn,
32 bit hoặc 64 bit như đã xác định.

 Tải xuống và thiết đặt Wireshark

 Quá trình tải sẽ tự động mở màn sau khi bạn chọn Trình thiết đặt
windows tương xứng cho nền tảng hệ điều hành windows của mình.

 Lưu chương trình trong folder download , sau đó Đóng trình duyệt web.

Hệ điều hành macOs

Bản cài đặt chính thức cho macOS đã được Wireshark cung cấp trên trang
chủ của họ, bạn chỉ việc download và mở file .dmg để bắt đầu cài đặt. Bạn nên kéo
thả biểu tượng của Wireshark vào thư mục “Applications” để hoàn thành.

30
Đối với Kali Linux

Hiện tại, Wireshark đã được tích hợp sẵn trong các bản phân phối Kali
Linux. Bạn chỉ cần vào Menu ở mục Option -> bạn nhấn chọn “Sniffing &
Spoofing” để sử dụng.

Hệ điều hành Ubuntu

Từ mục “terminal prompt” , bạn chạy các mã lệnh như sau:

sudo apt-get install Wireshark

sudo dpkg-reconfigure Wireshark-common

sudo adduser $USER Wireshark

Đối với RedHat Fedora

Từ mục “terminal prompt”, bạn chạy các mã lệnh như sau:

sudo dnf install Wireshark-qt

sudo usermod -a -G Wireshark username

3.1.2 Sử dụng Wireshark để phân tích gói tin mạng


Tìm kiếm gói tin (Find Packet)

Để tìm kiếm gói tin, chúng ta có thể sử dụng thanh công cụ “Find Packet”
bằng cách bấm phím Ctrl + F, một hộp thoại mới sẽ xuất hiện nằm giữa thanh Filter
và Packet List:

31
Tìm kiếm gói tin

Chúng ta có thể tìm kiếm packet dựa vào:

 Display Filter: nhập vào một biểu thức filter (expression-based filter),
Wireshark sẽ tìm kiếm các gói tin khớp với biểu thức này.

 Hex value: Tìm kiếm dựa trên giá trị Hex.

 String: tìm kiếm dựa trên chuỗi dữ liệu.

 Regular Expression: Tìm kiếm dựa trên biểu thức Regex.

32
Wireshark Filter

Filter cho phép bạn lọc ra những packet nào sẽ dùng để phân tích. Sử dụng
Wireshark filter bằng cách khai báo một biểu thức để quy định việc thêm vào
(inclusion) hoặc loại bỏ (exclusion) các gói tin. Nếu có những gói tin bạn không
cần phân tích, có thể viết filter để loại bỏ chúng. Ngược lại, có những gói tin quan
trọng bạn muốn phân tích kỹ, có thể viết filter để lọc riêng chúng ra. Có hai loại
filter chính:

 Capture Filters: Chỉ định các packet sẽ được capture và quá trình bắt gói tin
chỉ capture những packet thỏa điều kiện này.

 Display filters: Áp dụng filter lên các gói tin đã được capture, mục tiêu là để
ẩn đi những packet không cần thiết và chỉ thể hiện những packet thỏa điều
kiện chỉ định.

Capture Filter và Display Filter sử dụng cấu trúc ngữ pháp khác nhau nên chúng
ta sẽ xem xét chi tiết từng loại.

33
Capture Filter

Được áp dụng trong quá trình bắt gói tin để giới hạn số lượng gói tin sẽ được
bắt. Lý do chính để sử dụng filter này nhằm cải thiện performance và giới hạn số
lượng dữ liệu capture được chỉ chứa các thông tin chúng ta quan tâm, giúp việc
phân tích trở nên hiệu quả hơn. Điều này cực kỳ hữu ích khi áp dụng bắt gói tin
bằng Wireshark trên các hệ thống có lưu lượng mạng cao, dữ liệu trao đổi lớn.

Chúng ta có thể khai báo biểu thức cho Capture Filter ở “Capture > Capture
Filters” hoặc khai báo ở phần “…using this filter” khi lựa chọn card mạng:

Khai báo Capture Filter

Wireshark Capture Filter sử dụng cú pháp của Berkeley Packet Filter (BPF):

 Mỗi filter gọi là một expression.

 Mỗi expression chứa một hoặc nhiều primitives. Các primitives được kết hợp
với nhau bằng các “Logical Operator” như AND (&&), OR (||) và NOT (!) .

 Mỗi primitives chứa một hoặc nhiều qualifiers, theo sau là một ID name
hoặc number. Các BPF Qualifiers bao gồm:

34
 Cú pháp tổng quan: Bắt các gói tin gửi đến host 192.168.0.10 và sử dụng
giao thức TCP, port 80:

Cú pháp tổng quan để bắt gói tin

Display Filter

Display Filter giúp lọc ra những packet thỏa điều kiện trong file capture để
thể hiện lên cho người dùng. Display filter chỉ lọc và thể hiện packet thỏa điều kiện
chứ không xóa bỏ những packet không thỏa điều kiện, dữ liệu trong file capture
hoàn toàn không bị ảnh hưởng.

35
Sử dụng Display Filter bằng cách nhập biểu thức (expression) vào Filter
textbox phía trên phần Packet List. Bạn cũng có thể nhấp vào phần “Expression” để
lựa chọn các pre-defined filters có sẵn ứng với từng giao thức.

Nhập expression vào Filter textbox

Cú pháp của Wireshark Display Filter phần lớn tuân theo cú pháp:

protocol.feature.subfeature COMPARISION_OPERATOR value


LOGICAL_OPERATOR

protocol.feature.subfeature COMPARISION_OPERATOR value

Ví dụ: ip.addr==192.168.0.1 and tcp.flags.syn==1

36
Ngoài ra, người dùng có thể Click vào Analyze > Display Filters để chọn
một filter trong các filter mặc định. Từ đây, ta có thể thêm hoặc custom các filter và
lưu chúng để có thể dễ dàng truy cập sau này.

Chọn Filter mặc định trong WireShark

Một tính năng hữu ích khác là “Follow TCP stream”, chọn một packet rồi
click chuột phải vào packet chọn “Follow > TCP Stream”. Sau đó, một hộp thoại sẽ
hiện ra cho thấy dữ liệu trao đổi giữa Client và Server trong luồng tương ứng và
các packet liên quan. Ta có thể click vào các giao thức khác trong menu Follow để
xem đầy đủ các đoạn hội thoại, nếu có thể.

Xem đầy đủ đoạn hội thoại trong Display Filter


37
Cuối cùng, đóng cửa sổ lại và một filter sẽ được áp dụng tự động. Bây giờ,
Wireshark đang hiển thị các packet tạo nên đoạn hội thoại đó.

Hiển thị các packet trong đoạn hội thoại

3.2 Cài đặt và sử dụng phần mềm hỗ trợ phân tích log ELK stack
3.2.1 Yêu cầu hệ thống, mô hình và IP planning
1 máy Ubuntu 20.04 cài đặt ELK gọi là server : RAM 8GB, 466GB HDD.
Các máy client có OS là windows.
Mô hình

38
Phân hoạch địa chỉ IP
Yêu cầu về phần
Phân hoạch địa chỉ cho các máy chủ
cứng
Hostname IP Address Gateway Subnet DNSS CPU Ram Disk

Ubuntu 192.168.70.131 192.168.70.1 /24 8.8.8.8 1 2Gb 60Gb

Windows 192.168.0.102 192.168.0.1 /24 8.8.8.8 1 8Gb 466Gb

3.2.2 Các bước cài đặt ELK stack

3.2.2.1 Cài đặt Elasticsearch


Cài đặt các thành phần phụ thuộc
Để cài đặt Elasticsearch, bạn sẽ cần cài đặt Java trước vào hệ thống, dùng câu lệnh
sau để tiến hành cài đặt Java JDK.
apt-get install openjdk-11-jdk -y

Một khi cài đặt thành công, dùng câu lệnh sau để xác minh lại phiên bản Java:
java -version

Bạn sẽ nhìn thấy Output như sau:


openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-
3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1,
mixed mode, sharing)

Tiếp theo, chúng ta sẽ cài đặt các thành phần phụ thuộc khác với câu lệnh sau:
apt-get install nginx curl gnupg2 wget -y

Trước khi bắt đầu, bạn sẽ cần cài đặt Elasticsearch vào hệ thống. Nó sẽ dùng để lưu
trữ log và các sự kiện được Logstash đẩy về theo thời gian thực.
Đầu tiên, thêm Elastic repoitory vào hệ thống của bạn với câu lệnh sau:
39
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch |
apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable
main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

Tiếp theo, cập lại repository và cài đặt Elasticsearch với câu lệnh sau:
apt-get update -y
apt-get install elasticsearch -y

Khi đã cài đặt, chỉnh sửa tệp tin cấu hình mặc định của Elasticsearch:
nano /etc/elasticsearch/elasticsearch.yml

Bỏ dấu “#” và lưu lại cho các dòng sau:


network.host: localhost

Lưu và đóng lại tệp tin, sau đó start Elasticsearch và cho phép nó khởi động cùng
hệ thống với câu lệnh sau:
systemctl start elasticsearch
systemctl enable elasticsearch

Tại thời điểm này, Elasticsearch đã được cài đặt và đang lắng nghe với port 9200.
Bạn bây giờ có thể kiểm tra xem nó có đang hoạt động không bằng câu lệnh:
curl -X GET "localhost:9200"

Nếu mọi thứ đều ổn, bạn sẽ thấy các tham số output như sau:
{
"name" : "ubuntu2004",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AVRzLjAbQTK-ayYQc0GaMA",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "deb",
40
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}

3.2.2.2 Cài đặt Kibana


Tiếp theo, bạn sẽ cần cài đặt Kibana. Đây là chương trình cho phép bạn phân tích
dữ liệu đã được lưu trữ trên Elasticsearch. Bạn có thể cài đặt bằng câu lệnh sau:
apt-get install kibana -y

Mội khi Kibana đã được cài đặt, tiến hành Khởi động dịch vụ Kibana và cho phép
nó khởi động cùng hệ thống với câu lệnh sau:
systemctl start kibana
systemctl enable kibana

Tiếp theo, bạn sẽ cần tạo một user quản trị cho Kibana để truy cập vào giao diện
web. Chạy câu lệnh sau để tạo user và password, và lưu nó vào tệp tin
htpasswd.users
echo "admin:`openssl passwd -apr1`" | tee -a
/etc/nginx/htpasswd.users

Bạn sẽ được yêu cầu cung cấp password, trông như sau:
Password:
Verifying - Password:
admin:$apr1$8d05.YO1$E0Q8QjfNxxxPtD.unmDs7/

Tiếp theo, tạo một tệp tin cấu hình cho máy chủ ảo trên Nginx cho Kibana:
41
nano /etc/nginx/sites-available/kibana

Thêm vào những dòng sau:


server {
listen 80;
server_name kibana.example.com;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

Lưu và đóng lại file, sau đó cho phép Nginx đọc vào tệp tin cấu hình vừa tạo, với
câu lệnh sau:
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/

Tiến hành khởi động lại dịch vụ nginx để áp dụng những thay đổi:
systemctl restart nginx

Tiếp theo, mở trình duyệt và kiểm tra trạng thái của Kibana tại URL:
http://kibana.example.com/status
Bạn sẽ được yêu cầu cung cấp username và password.
Cung cấp thông tin đăng nhập, và nhấp vào Sign in. Bạn sẽ truy cập được Kibana.

42
Tại thời điểm này, Kibana dashboard đã được cài đặt trên hệ thống của bạn. Bạn có
thể tiến hành xử lý các bước tiếp theo
3.2.2.3 Cài đặt Logstash
Logstash được sử dụng để xử lý logs được gửi về từ Beat. Bạn sẽ cài đặt nó với câu
lệnh sau:
apt-get install logstash -y

Một khi Logstash được cài đặt, tạo ra một tệp tin cấu hình mới với câu lệnh sau:
nano /etc/logstash/conf.d/02-beats-input.conf

Thêm vào những dòng sau:


input {
beats {
port => 5044
}
}

Lưu và thoát tệp, sau đó tạo một tệp cấu hình Elasticsearch mới:
nano /etc/logstash/conf.d/30-elasticsearch-output.conf

Thêm vào những dòng sau:


output {
if [@metadata][pipeline] {
elasticsearch {
hosts => ["localhost:9200"]
manage_template => false
index => "%{[@metadata][beat]}-%{[@metadata][version]}-
%{+YYYY.MM.dd}"
pipeline => "%{[@metadata][pipeline]}"
}

43
} else {
elasticsearch {
hosts => ["localhost:9200"]
manage_template => false
index => "%{[@metadata][beat]}-%{[@metadata][version]}-
%{+YYYY.MM.dd}"
}
}
}

Lưu và thoát, đồng thời xác nhận cấu hình Logstash


sudo -u logstash /usr/share/logstash/bin/logstash --path.settings
/etc/logstash -t

Nếu mọi thứ đều ổn, bạn sẽ nhìn thấy Output như sau:
Config Validation Result: OK. Exiting Logstash

Tiếp theo, start dịch vụ Logstash và cho phép nó khởi động cùng hệ thống:
systemctl start logstash
systemctl enable logstash

3.2.2.4 Cài đặt Filebeat


ELK sử dụng Filebeat để thu thập dữ liệu từ nhiều nguồn khác nhau và chuyển nó
vào Logstash.
Bạn có thể cài đặt Filebeat với câu lệnh sau:
apt-get install filebeat -y

Một khi cài đặt hoàn tất, bạn sẽ cần tạo một tệp cấu hình Filebeat để kết nối tới
Logstash:
nano /etc/filebeat/filebeat.yml

Dùng dấu “#” để rào lại các dòng như sau:

44
#output.elasticsearch:
# Array of hosts to connect to.
# hosts: ["localhost:9200"]

Sau đó, bỏ “#” cho các dòng sau:


output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]

Lưu và đóng lại tệp, sau đó bật module system với câu lệnh sau:
filebeat modules enable system

Mặc định, Filebeat được cấu hình để sử dụng đường dẫn mặc định tới syslog và
authen logs.
Bạn có thể load lên các pipeline đầu vào cho module hệ thống với câu lệnh sau:
filebeat setup --pipelines --modules system

Tiếp theo, load template với câu lệnh:


filebeat setup --index-management -E
output.logstash.enabled=false -E
'output.elasticsearch.hosts=["localhost:9200"]'

Bạn sẽ nhìn thấy các giá trị output:


Index setup finished.

Mặc định, Filebeat được đóng gói với những dashboard mẫu cho phép bạn có thể
xem được dữ liệu của Filebeat trong Kibana. Vì vậy, bạn cần tắt Logstash Output đi
và Bật Elasticsearch Ouput.
filebeat setup -E output.logstash.enabled=false -E
output.elasticsearch.hosts=['localhost:9200'] -E
setup.kibana.host=localhost:5601

Bạn sẽ nhìn thấy output như sau:

45
Overwriting ILM policy is disabled. Set
`setup.ilm.overwrite:true` for enabling.
Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Setting up ML using setup --machine-learning is going to be
removed in 8.0.0. Please use the ML app instead.
See more: https://www.elastic.co/guide/en/elastic-stack-
overview/current/xpack-ml.html
Loaded machine learning job configurations
Loaded Ingest pipelines

Bây giờ, start dịch vụ Filebeat và cho phép khởi động cùng hệ thống:
systemctl start filebeat
systemctl enable filebeat

3.2.3 Thu thập và phân tích log


Thu thập log thông qua filebeat và phân tích trên Kibana
Ta sẽ truy cập vào Kibana Menu > Observability > Log > Add data

46
Sau đó làm theo các bước sau đây

Copy câu lệnh trên vào terminal và enter


Tiếp đến thực hiện chỉnh sửa file cấu hình để filebeat gửi log về logstash

47
Khởi động dịch vụ filebeat

Kiểm tra trạng thái hoạt động của dịch vụ

Sau khi sử dụng beat để gửi log lên logstash thì t kiểm tra trên kibana xem các
thông tin được hiển thị

48
Giám sát lưu lượng mạng của host đang giám sát

49
KẾT LUẬN
Qua quá trình tìm hiểu, phân tích nghiên cứu “Phần mềm ELK”, chúng em
đã xây dựng hoàn thành đề tài: “Thu thập và phân tích thông tin an ninh mạng bằng
phần mềm ELK stack” Với việc chính là kiểm tra , giám sát hoạt động của các host
trong mạng và các thiết bị mạng có hoạt động tốt hay không và các máy host có bị
tấn công hay không.

Báo cáo đã thu được một số kết quả như sau:

− Mô hình đã ứng dụng được một cách chính xác các yêu cầu đã đề ra, bám sát
thực tế.
− Mô hình đảm bảo lưu trữ chính xác những thông tin cần thiết và chi tiết về
thông tin. Và có thể cập nhật thường xuyên và dễ dàng chỉnh sửa thông tin khi cần
thiết.
− Xử lý thông tin một cách chính xác, đầy đủ, kiểm tra thông tin khi cần thiết.
− Đảm bảo được tính bảo mật cũng như an toàn về dữ liệu.
− Chương trình có thể sử lý đc rất nhiều dữ liệu.

Tuy nhiên mô hình còn một số mặt hạn chế:

− Mô hình chưa có tính chuyên nghiệp cao.


− Chưa giải quyết được trọn vẹn một số vấn đề nảy sinh .

Trên đây là toàn bộ đề tài của chúng em trong quá trình xây dựng đề tài “Thu
thập và phân tích thông tin an ninh mạng sử dụng phần mềm ELK stack”. Tuy đã
hoàn thành đề tài nhưng do kinh nghiệm còn thiếu, trong quá trình khảo sát, phân
tích thiết kế còn gặp nhiều khó khăn nên mô hình chưa được toàn diện. Ngoài ra, đề
tài khi đem áp dụng vào thực tế tuy đã đáp ứng được một số yêu cầu được đặt ra,
song còn xuất hiện một số vấn đề nảy sinh, đòi hỏi mô hình cần phải được nâng
cấp. Vì vậy nếu có cơ hội, chúng em hi vọng sẽ được sửa chữa và nâng cấp mô
hình sao cho phù hợp và đáp ứng đầy đủ với yêu cầu thực tế một cách tốt nhất.

50

You might also like