Tải bản đầy đủ (.docx) (38 trang)

Báo cáo thực tập OSSEC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 38 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH & TRUYỀN THÔNG

BÁO CÁO THỰC TẬP
TÌM HIỂU VỀ QUY TRÌNH ĐIỀU TRA CHỨNG CỨ TỘI PHẠM MẠNG VỚI OSSEC VÀ SPLUNK
Nơi thực tập: CÔNG TY CÔNG NGHỆ BẢO TÍN
Thực tập sinh: Nguyễn Hoàng Khánh
MSSV: 13520393
Lớp: ANTN2013

TP. HỒ CHÍ MINH – 09/2016


BÁO CÁO THỰC TẬP 2016

LỜI MỞ ĐẦU
Với sự phát triển đáng kể của Internet hiện nay, các cuộc tấn công mạng không
ngừng gia tăng gây ra những thiệt hại đáng kể cho người sử dụng. Những kỹ thuật tấn
công ngày càng đa dạng đặt ra những thách thức cho việc đảm bảo an toàn thông tin cũng
như điều tra truy tìm dấu vết của kẻ tấn công. Để có thể thực hiện hiệu quả việc điều tra
truy tìm dấu của kẻ xấu cần có những hiểu biết nhất định về kỹ thuật tấn công và những
dấu vết để lại của chúng, đồng thời cũng cần đến sự hỗ trợ từ những công cụ kỹ thuật
thích hợp. Với sự giúp đỡ của các anh chị trong công ty công nghệ Bảo Tín, em đã thực
hiện bài báo cáo trên.
Nhằm ghi nhận lại những gì đã học tập và nghiên cứu từ phía công ty thực tập, cũng
như mong muốn được giới thiệu công ty đến với nhà trường, đó là lý do của bài báo cáo
thực tập này.
Dưới đây là nội dung chính của bài báo cáo này:
Phần 1: Giới thiệu về công ty thực tập


Phần 2: Nội dung thực tập.
Phần 3: Kết luận.

NGUYỄN HOÀNG KHÁNH

2


BÁO CÁO THỰC TẬP 2016

LỜI CẢM ƠN

Trước hết, xin trân trọng gửi lời cảm ơn đến công ty công nghệ Bảo Tín đã tạo điều
kiện cho em có cơ hội thực tập tại công ty.
Sau thời gian ngắn tại công ty công nghệ Bảo Tín. Được sự giúp đỡ tận tình của các
anh trong công ty, em đã tìm hiểu vànghiên cứu một số vấn đề liên quan tới chuyên đề
nghiên cứu, được mở rộng kiến thức, được thử nghiệm và xem kết quả thực tế qua những
lần thực nghiệm về các kĩ thuật tấn công phổ biến hiện nay. Cùng với đó việc tiếp xúc
với môi trường làm việc chuyên nghiệp, thân thiện của mọi người trong công ty đã giúp
em hoàn thành báo cáo này. Xin được gửi lời cảm ơn đến các anh chị trong công ty Bảo
Tín đã tận tình chỉ bảo hướng dẫn em suốt thời gian qua.
Em cũng xin cảm ơn các thầy cô trong khoa Mạng Máy Tính & Truyền thông đã
nhiệt tình hỗ trợ và tạo điều kiện tốt cho em đã hoàn thành tốt bài báo cáo này.
Trong quá trình thực tập cũng như trong quá trình làm báo cáo khó tránh khỏi sai
sót, rất mong quí thầy cô bỏ qua. Em mong nhận được nhiều ý kiến đóng góp từ thầy cô
để có thêm nhiều kinh nghiệm và hoàn thành tốt hơn những bài báo cáo sắp tới.
Em xin chân thành cảm ơn!

TP Hồ Chí Minh, ngày 5 tháng 8 năm 2016
Sinh viên thực tập

Nguyễn Hoàng Khánh

NGUYỄN HOÀNG KHÁNH

3


BÁO CÁO THỰC TẬP 2016

NHẬN XÉT CỦA KHOA
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................

.......................................................................................................................................
.......................................................................................................................................

NGUYỄN HOÀNG KHÁNH

4


BÁO CÁO THỰC TẬP 2016

Nội dung

NGUYỄN HOÀNG KHÁNH

5


BÁO CÁO THỰC TẬP 2016

1 GIỚI THIỆU VỀ CÔNG TY THỰC TẬP

Giới thiệu:
Công ty công nghệ Bảo Tín(BTIT-Bảo Tín Information Security) được thành lập
năm 2015, là một công ty startup hoạt động trong lĩnh vực An toàn thông tin. BTIS tập
hợp đội ngũ những chuyên viên tốt nghiệp từ những trường Đại học uy tín của cả nước.
Cùng với kinh nghiệm làm việc, nghiên cứu trong lĩnh vực bảo mật, triển khai hệ thống
kết hợp với sức trẻ của đội ngũ nhân viên, BTIS hướng đến sẽ cung cấp cho khách hàng
những dịch vụ an toàn thông tin đáp ứng những nhu cầu khác nhau từ thị trường.
Các lĩnh vực hoạt động:
1.

2.
3.
4.

An toàn thông tin
Tư vấn giải pháp
Đào tạo và bồi dường nhân lực
Nghiên cứu, phát triển công nghệ và sản phẩm
Các dịch vụ:
An toàn thông tin:

1.
2.
3.
4.

Đánh giá bảo mật ứng dụng web
Đánh giá bảo mật di động
Đánh giá bảo mật hệ thống
Kiểm định an toàn hệ thống
Tư vấn và triển khai:

1.
2.
3.
4.

Tư vấn an toàn thông tin
Triển khai hệ thống
ISO 27001

PCI DSS

Cơ cấu tổ chức:
NGUYỄN HOÀNG KHÁNH

6


BÁO CÁO THỰC TẬP 2016

Giám đốc điều hành: Khổng Văn Cường
Địa chỉ liên hệ: Công ty công nghệ BẢO TÍN
Số 5A Trần Văn Dư, Phường 11, Quận Tân Bình, TP. Hồ Chí Minh.

NGUYỄN HOÀNG KHÁNH

7


BÁO CÁO THỰC TẬP 2016

2 NỘI DUNG THỰC TẬP
Công ty Công nghệ Bảo Tín là công ty chuyên về an toàn thông tin, các giải pháp
và triển khai công nghệ. Do đó nhằm bắt kịp với xu hướng công nghệ thông tin không
ngừng phát triển, đòi hỏi luôn phải tìm hiểu, nghiên cứu những điều mới công nghệ mới,
phương pháp tấn công cũng như là phòng thủ hệ thống. Do vậy mà việc phải nắm bắt
được những kiến thức căn bản rất quan trọng và cốt yếu.
Nhằm tạo điều kiện cho sinh viên tiếp cận với phong cách làm việc, và những kiến
thức cần nắm khi bước vào môi trường thực tế trong lĩnh vực công nghệ thông tin một
cách tốt nhất. Nên trong thời gian thực tập, em được phân công một số nội dung sau:

1.
2.
3.
4.
5.

Tổng quan về Digital Forensic
Tìm hiểu và triển khai OSSEC kết hợp với Splunk
Nghiên cứu cơ chế giải mã sự kiện và qui tắc duyệt sự kiện của OSSEC
Ứng dụng OSSEC và Splunk để truy dấu kẻ tấn công thông qua file log
Tìm hiểu cách kiểm tra tính toàn vẹn của hệ thống với OSSEC
Quá trình thực tập diễn ra trong thời gian 8 tuần, từ ngày 4/7/2016 cho đến
4/9/2016.

2.1 Giới thiệu về điều tra số và ứng dụng trong thực tế
Điều tra số là một nhánh của ngành điều tra bao gồm việc phục hồi và điều tra các dữ liệu
tìm thấy trong các thiết bị điện thường, thường có liên quan đến tội phạm mạng. Khái
niệm điều tra số được bắt nguồn từ điều tra máy tính nhưng được mở rộng để bao gồm
việc điều tra tất cả các thiết bị có khả năng chứa dữ liệu số.
Điều tra số có nhiều ứng dụng. Thông dụng nhất là việc hỗ trợ hoặc bác bỏ một lý thuyết
trước tòa án dân sự hoặc hình sự. Điều tra số còn góp mặt ở các lĩnh vực cá nhân, ví dụ
như trong quá trình điều tra nội bộ hay trong quá trình điều tra đột nhập.

2.1.1

Các loại hình điều tra số

Điều tra số có thể được chia ra thành các hướng khác nhau dựa vào mục đích hay dựa vào
hệ thống của thiết bị cần điều tra. Ta có thể chia chúng thành 3 loại chính như sau: Điều
tra máy tính ( Computer Forensics ), Điều tra mạng ( Network Forensics ) và Điều tra

thiết bị di động ( Mobile Forensics )

NGUYỄN HOÀNG KHÁNH

8


BÁO CÁO THỰC TẬP 2016
- Điều tra máy tính ( Computer Forensics ): Mục đích chính của việc điều tra máy tính
là để giải thích trạng thái hiện tại của một thiết bị kỹ thuật số, ví dụ như một hệ thống
máy tính, thiết bị lưu trữ kỹ thuật số hay các tài liệu số. Điều tra máy tính có thể được
chia nhỏ thành các loại hình khác nhau dựa trên nền tảng của thiết bị đó:










Windows Forensics: Điều tra hệ thống máy tính bao gồm dữ liệu lưu trữ trên
máy, dữ liệu đã bị xóa, hoạt động của người dùng,... Hệ điều hành Windows sử
dụng 2 hệ thống lưu trữ file riêng biệt đó là FAT ( File Allocation Table ) và
NTFS. Bên cạnh đó Windows còn một hệ thống Registry chứa nhiều thông tin
quan trọng về người dùng. Thông qua điều tra Registry, có thể thu thập được
những dữ liệu quan trọng về những thay đổi ( chỉnh sửa, thêm bớt ) trên các ứng
dụng của hệ thống mà người dùng để lại.
Linux Forensics: Những năm gần đây, các thiết bị sử dụng nền tảng Linux đã trở

nên khá phổ biến trên thế giới, chỉ sau Windows của Microsoft và OS X của
Apple. Phần lớn các cuộc tấn công và các lỗ hổng đều xuất phát từ các hệ thống
Linux. Các điều tra viên có được lợi thế với nền tảng Linux khi nó lưu trữ lại
toàn bộ quá trình người dùng tương tác với nó, từ đó dễ tìm ra các dấu vết từ các
cuộc tấn công. Tuy nhiên, kẻ xấu cũng có khả năng chỉnh sửa lại hệ điều hành để
che giấu dữ liệu hay thực hiện các hoạt động ở kernel, rất khó để điều tra.
Mac OS X: Hệ điều hành OS X của Apple hiện chỉ đứng thứ 2 sau Windows về
sự phổ biến, ta có thể thấy được các thiết bị của Apple ở khắp mọi nơi. Mac OS
X có các sự khác biệt nhất định so với 2 nền tảng còn lại như về hệ thống lưu trữ
file HFS và HFS+, việc này sẽ gây ra một số khó khăn nhất định về việc điều tra
kỹ thuật số.
Memory Forensic: Bên cạnh sự khác biệt về nền tảng của thiết bị, đặc điểm về
các loại bộ nhớ khác nhau cũng gây ra một số khó khăn trong việc điều tra số. Bộ
nhớ khả biến ( RAM ) của hệ thống là bộ nhớ sẽ bị mất dữ liệu khi nguồn năng
lượng cung cấp cho nó mất đi, đồng nghĩa với việc dữ liệu lưu trữ trên nó như
các tương tác của người dùng với hệ thống sẽ bị mất. Từ đó, các kỹ thuật bảo
quản dữ liệu cần phải được áp dụng để đảm bảo không bị thất thoát bằng chứng
khi sao lưu dữ liệu.
Disk Forensic: các phương tiện lưu trữ dữ liệu cũng đóng một vai trong quan
trọng trong quá trình điều tra kỹ thuật số, dữ liệu nằm trên các thiết bị này có thể
bị xóa, ẩn đi hoặc bị mã hóa. Dựa vào việc phân tích các dữ liệu này, ta có thể
đưa ra các kết luận về người đã tạo ra và thay đổi chúng.

- Điều tra mạng ( Network Forensics ): Điều tra mạng là quá trình giám sát và phân
tích lưu lượng mạng nội và cả mạng internet nhằm mục đích thu thập thông tin, chứng cứ
và phát hiện xâm nhập. Lưu lượng mạng thường bị can thiệp ở mức gói tin, có thể được
lưu trữ lại cho phép phân tích sau này hay được dùng để theo dõi theo thời gian thực.
Khác với các lĩnh vực khác của điều tra số, dữ liệu trên mạng thường khả biến và hiếm
khi lưu lại, khiến cho điều tra viên phải ứng biến ở nhiều trường hợp.


NGUYỄN HOÀNG KHÁNH

9


BÁO CÁO THỰC TẬP 2016
- Điều tra thiết bị di động ( Mobile Device Forensics ): Một nhánh của điều tra số, là
quá trình khôi phục chứng cứ hay dữ liệu từ một thiết bị di động. Sự khác biệt của nó đối
với điều tra máy tính đó là các thiết bị di động sẽ có sẵn một hệ thống liên lạc ( vd như
GSM hay CDMA ) và các cơ chế lưu trữ dữ liệu riêng biệt. Quá trình điều tra sẽ bao gồm
việc thu thập dữ liệu từ các cuộc gọi, tin nhắn SMS hay email cùng với việc khôi phục dữ
liệu đã bị xóa. Bên cạnh đó, dữ liệu thu được từ các thiết bị di động cũng cung cấp thêm
các thông tin về địa điểm của chủ thiết bị đó qua dữ liệu của hệ thống GPS hay các hệ
thống định vị khác có sẵn trong điện thoại và từ thông tin cuộc gọi lưu lại của nhà cung
cấp mạng.

2.1.2

Các nền tảng và ứng dụng trong việc điều tra số.

- The Sleuth Kit + Autopsy
The Sleuth Kit ( TSK ) là một bộ các công cụ dạng command line dùng để phân tích sâu
vào các hệ thống tập tin khác nhau. Autopsy là phiên bản có giao diện của TSK. TSK hỗ
trợ các tính năng như lọc hash trong hệ thống, phân tích file system và tìm keyword.
Ngoài ra, phiên bản giao diện của TSK còn tạo từng case riêng biệt cho từng tình huống
khác nhau và xuất báo cáo cho chúng.

TSK được sắp xếp theo lớp. Lớp data chú trọng đến sự lưu trữ của dữ liệu trên ổ đĩa và
lớp metadata chú trọng tới các cây thư mục hay các inode ( một dạng cấu trúc dữ liệu lưu
trữ thông tin của file trong hệ điều hành Linux ), ngoài ra còn có lớp xử lý dữ liệu ở các

block ( ô nhớ trong các ổ đĩa ). Các câu lệnh liên quan tới lớp data bắt đầu bằng chữ cái

NGUYỄN HOÀNG KHÁNH

10


BÁO CÁO THỰC TẬP 2016
‘d’, các câu lệnh xử lý dữ liệu ở lớp metadata bắt đầu bằng chữ cái ‘i’ và các câu lệnh xử
lý dữ liệu ở các ô nhớ bắt đầu bẵng ‘blk’. Một số câu lệnh của TSK bao gồm:








Blkcat: Hiển thị dữ liệu của 1 ô nhớ.
Blkls: Liệt kê các ô nhớ chưa được cấp phát.
Blkcalc: Vị trí của các ô nhớ chưa được cấp phát.
Blkstat: Chi tiết về 1 ô nhớ chỉ định nào đó.
Icat: Nội dung của 1 file với một giá trị inode hay số cluster cho sẵn.
Ils: Kích thước của các file trên ổ đĩa.
Istat: Thông tin về một số inode nào đó
- Volatility
Là một bộ công cụ mã nguồn mở và hoàn toàn miễn phí được viết bằng Python hỗ trợ
việc trích xuất dữ liệu từ các bộ nhớ khả biến ( volatile ) như RAM. Quá trình trích xuất
dữ liệu được thực hiện hoàn toàn tách biệt so với hệ thống đang được điều tra nhưng
Volatility cung cấp khả năng theo dõi một cách rõ ràng nhất vào trạng thái sẵn có của hệ

thống.
Volatility cung cấp khả năng điều tra dữ liệu memory dump của toàn bộ các hệ điều hành
Windows phiên bản 32 và 64 bit từ XP, 2003 Server cho đến Windows 7, 8, 10. Nó có
thể làm việc trên tất cả memory dump đang ở tình trạng raw ( toàn bộ bộ nhớ được sao
lưu lại ), file crash dump của Microsoft hay bản snapshot của một máy ảo nào đó. Hiện
tại, Volatility cũng đã hỗ trợ memory dump từ các kernel Linux từ 2.6.11 tới 3.5.x và các
phiên bản khác nhau như Debian, Ubuntu,... và kể cả các thiết bị di động chạy hệ điều
hành Android với bộ xử lý ARM cũng đã được hỗ trợ.
Một số plugin đáng chú ý của Volatility có thể kể đến như:
 Dlllist: Là một công cụ để hiển thị các DLL được sử dụng bởi các process đang
chạy ở thời điểm của file memory dump
 Dlldump: Được dùng để dump thông tin của các DLL trong file memory dump
thu được hay các file DLL được sử dụng từ một process bất kì.
 Pstree: Công cụ tương tự như Pstree của Linux, hiển tị các process theo dạng cây
 Connscan: Được sử dụng để tìm các kết nối đang ở trạng thái active hay đã bị
terminate.
 Hivescan: Dùng để tìm địa chỉ vật lý của các hive của registry trong bộ nhớ.
- Công cụ ‘dd’ của Linux
‘dd’ là một công cụ mặc định của nhiều phiên bản Linux khác nhau ( Ubuntu, Fedora,... ).
dd được sử dụng để xử lý nhiều giai đoạn khác nhau của quá trình điều tra số như xóa
toàn bộ dữ liệu của 1 ổ đĩa một cách an toàn hay tạo một file ảnh của một ổ đĩa.
Ví dụ, để có thể xóa toàn bộ dữ liệu trong một ổ đĩa ta có thể sử dụng câu lệnh sau, với
if=/dev/zero là một file đặc biệt với một chuỗi chứa giá trị null với độ dài nhất định,
of=/dev/sbd1 là tên ổ đĩa cần xóa dữ liệu và bs=1024 là kích thước của 1 block.
NGUYỄN HOÀNG KHÁNH

11


BÁO CÁO THỰC TẬP 2016

dd if=/dev/zero of=/dev/sdb1 bs=1024

- WireShark
Một công cụ rất nổi tiếng với nhiều công dụng khác nhau, Wireshark có khả năng bắt
được các gói tin trực tiếp từ quá trình truyền tải thông tin ở các interface định sẵn. Ngoài
ra, Wireshark còn hỗ trợ một bộ lọc đa dạng để có thể tinh chỉnh các dữ liệu hiển thị,
giúp người điều tra có thể thấy được những gì đã diễn ra trong một phiên làm việc của
một hệ thống mạng.
- SANS SIFT
SIFT ( SANS Investigative Forensic Toolkit ) là hệ điều hành dựa trên nền tảng Ubuntu
và có thể chạy dưới dạng Live CD với một bộ các công cụ đa dạng cho phép thực hiện
một cuộc điều tra số đầy đủ hay một cuộc điều tra nhanh tại hiện trường. Nó hỗ trợ nhiều
định dạng khác nhau của các file chứng cứ như Expert Witness Format ( EO1 ),
Advanced Forensic Format ( AFF ) và RAW ( dữ liệu trích xuất từ công cụ dd ). SIFT
còn cung cấp các công cụ như log2timeline để tạo ra 1 dòng thời gian từ file log của hệ
thống, Scalpel để khôi phục các file đã xóa và có thể bị ghi đè một phần và rất nhiều các
công cụ khác. Ngoài ra, SIFT còn cung cấp một loạt các tài liệu tóm tắt quá trình của
từng kiểu điều tra số như Memory Forensics, Mobile Forensic ngay trên Desktop để giúp
người dùng có thể nhanh chóng xác định công cụ nào được sử dụng cho việc nào.

- Kali Linux
Nền tảng với công dụng chính là penetration testing này cũng hỗ trợ một số công cụ cho
việc điều tra số như Foremost, một công cụ hỗ trợ việc khôi phục file đã xóa, volafox,

NGUYỄN HOÀNG KHÁNH

12


BÁO CÁO THỰC TẬP 2016

một bộ công cụ dùng để phân tích bộ nhớ của các máy chạy hệ điều hành Mac OS X, hay
chkrootkit, công cụ để kiểm tra sự tồn tại của rootkit.

2.2 Tìm hiểu và triển khai OSSEC kết hợp với Splunk
2.2.1
Giới thiệu
OSSEC là một HIDS, hệ thống phát hiện xâm nhập được cài trên một máy tính, nó
được dùng để theo dõi hoạt động của server như phân tích log, kiểm tra và theo dõi
registry của Windows, phát hiện rootkit,... OSSEC cung cấp khả năng theo dõi
hoạt động của máy chủ theo thời gian thực trên một hoặc nhiều máy chủ khác nhau
theo dạng máy chủ - máy khách.
2.2.2

Cài đặt và triển khai OSSEC trên Ubuntu 15.10

2.2.2.1 Cài đặt

- Thêm vào apt-get repository key

- Thêm repo vào source của apt

- Update apt-get

- Cài đặt OSSEC HIDS trên máy chủ

- Cài đặt OSSEC HIDS agent ( trên các máy được giám sát )

2.2.2.2 Cấu hình OSSEC

OSSEC nằm ở thư mục /var/ossec. Thư mục của nó có chứa các thư mục nhỏ với

công dụng khác nhau, trong đó quan trọng nhất là 3 thư mục etc, logs và rules:

NGUYỄN HOÀNG KHÁNH

13


BÁO CÁO THỰC TẬP 2016

- bin: Chứa tất cả các file thực thi để quản lý OSSEC và các agent của nó.
- etc: Chứa các file cấu hình của OSSEC, trong đó quan trọng nhất là ossec.conf file cấu hình chính của OSSEC.
- logs: Các file log như ossec.log - output của OSSEC, alerts.log - các cảnh báo
được tạo ra bởi OSSEC hay decoder.xml - sử dụng để giải mã các log đưa vào
OSSEC.
- queue: Hệ thống giao tiếp giữa các tiến trình( FIFO sockets, vv).
- rules: Các rule được sử dụng bởi OSSEC để tạo ra cảnh báo.
- stats: Các thống kê của OSSEC.
- tmp
- var
Chú ý đến file ossec.conf ở folder /var/ossec/etc/, file cấu hình này được sử dụng
bởi OSSEC và hoạt động như sau:

Ossec.log bao gồm 6 phần:
- global

NGUYỄN HOÀNG KHÁNH

14



BÁO CÁO THỰC TẬP 2016

- rules
- syscheck
- alerts
- active-response
- collector
 Global:

Là các thông tin cơ bản về email như SMTP Server, địa chỉ email để nhận cảnh
báo hay cho phép các host/ip hoạt động
 Collector

NGUYỄN HOÀNG KHÁNH

15


BÁO CÁO THỰC TẬP 2016

Là các file được OSSEC sử dụng để giám sát và đưa ra các công báo.
 Syscheck:

NGUYỄN HOÀNG KHÁNH

16


BÁO CÁO THỰC TẬP 2016


Cấu hình thời gian để thực hiện các syscheck hay các đường dẫn cần phải kiểm tra,
các file không cần kiểm tra.
 Rules

Các file rule mà OSSEC sử dụng để kiểm tra.
 Alerts

Các cảnh báo đưa ra bởi OSSEC có mức độ từ 0 ( không cần thiết ) đến 16 ( nguy
hiểm ). Khi một rule được kích hoạt, nó sẽ có một mức nguy hiểm riêng và dựa
vào các level đó OSSEC sẽ đưa ra lựa chọn để lưu vào file log hay gửi email cảnh
báo.
2.2.3
Cấu hình OSSEC để hoạt động dưới dạng client-server
OSSEC có thể hoạt động dưới dạng chủ-khách sử dụng giao thức UDP port 1514.
- Agents là các đối tượng được máy chủ OSSEC giám sát, nó chỉ có nhiệm vụ gửi
log về cho máy chủ và nhận chỉ dẫn từ máy chủ.
- Máy chủ thu tập tất cả các thông tin từ các máy nó giám sát và kích hoạt các rule,
tạo thông báo và tạo các active-response cho để gửi đến các agents ở các máy mà
nó giám sát.

NGUYỄN HOÀNG KHÁNH

17


BÁO CÁO THỰC TẬP 2016

Các active-response được cấu hình để có thể hoạt động:
- Ở các máy được giám sát tạo ra các cảnh báo.
- Trên máy chủ ( để đưa vào cơ sở dữ liệu, ...)

- Ở trên tất cả các máy được giám sát ( ví dụ như trên 1 cụm web server để ngăn
ngừa khả năng bị tấn công toàn bộ ).
 Cài đặt trên máy chủ:

Mở port UDP 1514 để OSSEC có thể trao đổi với các client của nó.

 Cài đặt agent:
A) Thêm thông tin về máy được giám sát vào cơ sở dữ liệu của server:

Trên terminal, thực thi câu lệnh sau:

IP Address là địa chỉ IP của máy được giám sát, nó có thể là một địa chỉ hoặc một
khoảng địa chỉ. Mỗi máy cần có một tên riêng cũng như 1 ID riêng để dễ quản lý.
NGUYỄN HOÀNG KHÁNH

18


BÁO CÁO THỰC TẬP 2016

B) Trên server: trích xuất khóa để kết nối với được giám sát

C) Quay trở lại máy được giám sát và thêm khóa vào để kết nối với máy chủ:

D) Khởi động lại OSSEC trên máy được theo dõi:

NGUYỄN HOÀNG KHÁNH

19



BÁO CÁO THỰC TẬP 2016

E) Trên server: kiểm tra xem 2 máy đã kết nối với nhau chưa

2.2.4
Splunk và OSSEC
Splunk là một ứng dụng tổng hợp và báo cáo theo thời gian thực về các log mà nó
nhận được. Splunk có khả năng tổng hợp một lượng các log file lớn, đánh số thứ tự
và đưa nó vào một cơ sở dữ liệu để người dùng có thể dễ dàng tìm kiếm, hay nói
một cách khác, Splunk có thể được coi là “Google cho log file”. Với lượng dữ liệu
mà Splunk tiếp nhận, nó có thể cung cấp các biểu đồ và báo cáo chi tiết về dữ liệu
mà nó nhận được. Với bản quyền miễn phí, Splunk cung cấp khả năng phân tích
500 Mb dữ liệu một ngày,
A) Download Splunk và công cụ quản lý dành cho OSSEC

/>Truy cập trang chủ Splunk, đăng ký tài khoản và tải 2 file sau:
- splunk-*.*.*-*-linux-2.6-x86_64.rpm
- reporting-and-management-for-ossec_1189.tgz
B) Cài đặt Splunk
Dựa vào bài hướng dẫn sau để cài đặt Splunk

NGUYỄN HOÀNG KHÁNH

20


BÁO CÁO THỰC TẬP 2016

/>Sau đó giải nén và chép công cụ quản lý OSSEC dành cho Splunk vào folder app

của Splunk:
tar -xvzf /root/reporting-and-management-for-ossec_1189.tgz
cp -r ossec /opt/splunk/etc/apps/
C) Cấu hình
Truy cập http://localhost:8000, đổi password

D) Sử dụng
Splunk cung cấp các báo cáo và biểu đồ về những gì OSSEC thu thập được khá
đầy đủ, dưới đây là một số biểu đồ mà Splunk cung cấp:

NGUYỄN HOÀNG KHÁNH

21


BÁO CÁO THỰC TẬP 2016

Biểu đồ trên thể hiện các signature mà Splunk nhận được từ các sự phát hiện của
OSSEC với trục tung là tổng số lượng signature và trục hoành là thời gian của các
signature đó. Mỗi signature sẽ tương ứng với một sự kiện đáng chú ý ở các máy
đang được theo dõi bởi OSSEC, ví dụ như một phiên đăng nhập mới ở Linux hay
các thông báo lỗi ở máy Windows.

Tiếp theo là một biểu đồ tròn thể hiện thống kê về các sự kiện mà OSSEC đã phát
hiện. Một số sự kiện đáng chú ý thường xuất hiện như các thông báo lỗi của
Windows, các đăng nhập và đăng xuất vào phiên làm việc của Linux và đáng chú ý
là các lần đăng nhập không đúng của người dùng hệ thống.

NGUYỄN HOÀNG KHÁNH


22


BÁO CÁO THỰC TẬP 2016

Biểu đồ tròn này thể hiện thống kê về mức nghiêm trọng của các sự kiện mà
OSSEC phát hiện và tần xuất xuất hiện của chúng. Sự kiện có mức độ nghiêm
trọng càng cao sẽ đồng nghĩa với nguy cơ về một cuộc tấn công đang diễn ra.
2.3

Nghiên cứu cơ chế giải mã sự kiện và qui tắc duyệt sự kiện của
OSSEC

Ngay sau khi một sự kiện đi vào OSSEC, nó sẽ tiến hành giải mã và trích xuất tất
cả các thông tin đáng chú ý của sự kiện đó. Quá trình giải mã bao gồm 2 giai đoạn
là tiền giải mã và giãi mã. Các thông tin có thể trích xuất được từ các sự kiện này
là rất đa dạng, từ địa điểm xuất phát của sự kiện ( apache log, system log, ... ), nội
dung của log, IP nguồn, IP đích, Port nguồn, Port đích, trạng thái,vv… Dựa vào
các thông tin trích xuất được từ các sự kiện này, OSSEC sẽ tiến hành so sánh với
bộ qui tắc ( Rule ) có sẵn của nó để đưa ra các thông báo/cảnh báo thích hợp.
2.3.1
Pre-decoding – Tiền giải mã:
Quá trình tiền giải mã diễn ra khá đơn giản, nó sẽ trích xuất các thông tin tĩnh từ
các trường phổ biến của một sự kiện đến từ các giao thức thông dụng như system
log hay apache log,… Các thông tin trích xuất được trong giai đoạn này có thể kể
đến như thời gian, ngày tháng, tên chương trình và nội dung của log. Ví dụ như
dòng log đến từ hệ thống như sau:
• Hostname: ubuntu

NGUYỄN HOÀNG KHÁNH


23


BÁO CÁO THỰC TẬP 2016
• Tên chương trình: systemd
• Nội dung: Started LSB: Apache2 web server.
• Thời gian/ngày tháng: 10:53:01, 5/9

2.3.2
Decoding – Giải mã
Sau quá trình tiền giải mã để trích xuất các thông tin tĩnh từ một sự kiện là giải mã.
Mục đích của quá trình này là trích xuất các thông tin không tĩnh mà quá trình tiền
giải mã không trích xuất được để phục vụ cho việc so sánh với bộ qui tắc sau này.
Các thông tin cần lấy ở phần này là địa chỉ IP, tên người dùng và các thông tin
tương tự như đã nêu ở trên.
Để có thể trích xuất được thông tin ở các trường không tĩnh khác nhau xuất phát từ
các sự kiện khác nhau, OSSEC cần dùng đến một bộ giải mã có tên là decoder.xml
đặt ở folder /etc thuộc nơi cài đặt OSSEC, thường là /var/ossec/etc/decoder.xml






Ảnh trên là một bộ giải mã các sự kiện thuộc chương trình sshd nằm trong file
decoder.xml, các tùy chọn ở đây có thể kể đến như:
program_name: Thực hiện việc giải mã với bộ giải mã tương ứng cho sự kiện đến
từ chương trình có tên trùng với giá trị ở program_name.
prematch: Sử dụng bộ giải mã tương ứng nếu giá trị prematch trùng với một đoạn

trong nội dung của sự kiện.
regex: Đoạn regular expression để xác định vị trí của từng trường.
offset: Đặc tính của regex, có thể là after_prematch hay after_parent. Có nhiệm vụ
chỉ cho regex nơi bắt đầu tính toán.
NGUYỄN HOÀNG KHÁNH

24


BÁO CÁO THỰC TẬP 2016
• order: Thứ tự của các trường trong regex, có thể là srcip (địa chỉ nguồn), user, dstip

(địa chỉ đích),…
• parent: Decoder cần được gọi trước khi decoder này được gọi.
• fts: First Time Seen – lần đầu được nhìn thấy
Xét ví dụ sau:
Đây là một đoạn log xuất phát từ chương trình sshd, như vậy nó tương ứng với bộ
giải mã có tên “sshd” như hình trên, cụ thể hơn, nó tương ứng với bộ giải mã
“sshd-success” thỏa mãn các tùy chọn sau:
• parent: sshd – xuất phát từ bộ giải mã sshd.
• prematch: ^Accepted – nội dung của log bắt đầu với từ “Accepted”.
• regex offset=”after_prematch” ^ \S+ for (\S+) from (\S+) port – trích xuất các giá

trị nằm trong ngoặc tròn () tương ứng với tên đăng nhập và địa chỉ IP từ nội dung
của log.
• order: user, srcip – các giá trị đã trích xuất được từ phần regex được gán theo thứ
tự đầu tiên là tên đăng thập và địa chỉ IP nguồn.
• fts: name, user, location – nếu đây là lần đầu tiên đối với người dùng này truy cập
vào một tài nguyên nào đó, OSSEC sẽ lưu giá trị này lại nhằm đưa ra cảnh báo.
Như vậy, sau khi đã qua bộ giải mã “sshd-success”, các thông tin trích xuất được

từ sự kiện nêu trên là địa chỉ IP đã đăng nhập thành công vào hệ thống ssh cùng
với tên tài khoản đã đăng nhập. Hình dưới thể hiện các thông tin mà OSSEC trích
xuất được từ đoạn log như trên sau khi đã qua 2 giai đoạn tiền giải mã và giải mã.

2.3.3
Rule Matching – So sánh với bộ qui tắc
Sau khi trải qua 2 giai đoạn giải mã như đã nêu ở trên, OSSEC sẽ tiến hành so sánh
các sự kiện với bộ qui tắc có sẵn của nó để xác định xem liệu sự kiện đó có tạo ra 1
cảnh báo đến người dùng hay nó chỉ đóng vai trò là thành phần của 1 chuỗi sự kiện
lớn hơn. Bộ qui tắc của OSSEC thường nằm ở đường dẫn /var/ossec/rules và nó
bao gồm rất nhiều file dành riêng cho từng trường hợp khác nhau.

NGUYỄN HOÀNG KHÁNH

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×