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

Giới thiệu về 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 (198.14 KB, 11 trang )

Mục lục :
Giới thiệu hệ thống IDS
Giới thiệu về OSSEC và tính năng OSSEC
Kiến trúc hệ thống OSSEC
Luật và tạo luật trong OSSEC

++ Giới thiệu hệ thống phát hiện xâm nhập IDS
IDS là hệ thống phát hiện các dấu hiệu của tấn cơng xâm nhập, đồng thời có
thể khởi tạo các hành động trên các thiết bị khác để ngăn chặn tấn công . Khác với
tường lửa , IDS không thực hiện thao tác ngăn chặn mà chỉ theo dõi các hoạt động
trên mạng . IDS sẽ đánh giá sự xâm nhập đáng ngờ khi nó đã diễn ra đồng thời
phát ra cảnh báo , nó theo dõi được các cuộc tấn công từ bên trong hệ thống .
Chức năng ban đầu IDS chỉ là phát hiện các dấu hiệu xâm nhập do đó nó chỉ có
thể tạo ra các cảnh báo tấn công khi tấn công đang diễn ra hoặc thậm chí sau khi
tấn cơng đã hồn tất . Sau càng hiện đại IDS có thể có khả năng dự đốn tấn cơng
(prediction) và thậm chí phản ứng chủ động các tấn công đang diễn ra (active
response )

I.

Giới thiệu về OSSEC

OSSEC là hệ thống phát hiện xâm nhập dựa trên host (HIDS) dựa trên log mã nguồn mở, miễn phí,
đa nền tảng có thể mở rộng và có nhiều cơ chế bảo mật khác nhau. OSSEC có thể phát hiện xâm nhập
bằng cả chữ ký hoặc dấu hiệu bất thường. Các dấu hiệu bình thường và bất thường được mơ tả trong
bộ luật của OSSEC. OSSEC có một cơng cụ phân tích và tương quan mạnh mẽ, tích hợp giám sát và
phân tích log, kiểm tra tính tồn vẹn của file, kiểm tra registry của Windows, thực thi chính sách tập
trung, giám sát chính sách, phát hiện rootkit, cảnh báo thời gian thực và phản ứng một cách chủ động
cuộc tấn công đang diễn ra. Các hành động này cũng có thể được định nghĩa trước bằng luật trong
OSSEC để OSSEC hoạt động theo ý muốn của người quản trị. OSSEC chỉ có thể cài đặt trên Windows
với tư cách là một agent.


Các tính năng nổi bật của OSSEC là :
+ Theo dõi và phân tích các log : OSSEC thu nhập log theo thời gian thực từ nhiều nguồn khác
nhau để phân tích và đưa ra cảnh báo . OSSEC phát hiện các cuộc tấn công trên mạng ,hệ thống
hoặc ứng dụng cụ thể bằng cách sử dụng log hàm nguồn thơng tin chính. Log cũng rất hữu ích để phát
hiện khai thác lỗ hổng phần mềm , vi phạm chính sách và các hoạt động khơng phù hợp khác


+ Kiểm tra tính tồn vẹn của file : Sử dụng hàm bằng mật mã có thể tính tốn giá trị băm của
mỗi file trong hệ điều hành dựa trên tên file , nội dung file và giá trị băm này là duy nhất . OSSEC có
thể giám sát các ổ đĩa để phát hiện các thay đổi của giá trị băm này khi có ai đó hoặc điều gì đó , sửa
đổi nội dung file hoặ thay thế phiên bản file này bằng phiên bản file khác
+ Giám sát Registry : Hệ thống Rgistry là danh sách thư mục tất cả các cài đặt phần cứng và phần
mềm , các cầu hình hệ điều hành , người dùng , nhóm người dùng và các preference trên một hệ
thống Microsoft Windows . Các thay đổi được thực hiện bởi người dùng và quản trị viên đối với hệ
thống được ghi lại trong các khóa registry để các hoạt động thay đổi được lưu khi người dùng đăng
xuất hoặc hệ thống được khởi động lại . Registry cũng cho thấy Kernel của hệ điều hành tương tác
phần cứng và phần mềm máy tính. HIDS có thể giám sát những thay đổi này đối với các khóa registry
quan trọng để đảm bảo rằng người dùng hoặc ứng dụng không cài đặt một chương trình mới hoặc
sửa đổi chương trình hiện có với mục đích xấu
+ Phát hiện Rootkit : OSSEC phát hiện rootkit dựa trên chữ kí rootkit là cơng cụ cho phép kẻ đột
nhập khả năng xâm nhập vào máy tính bị cài rootkit và xóa dấu vết về sự tồn tại của nó . OSSEC có
khả năng phát hiện root bằng cách đọc file cơ sở dữ lệu về root và tiến hành quét hệ thống định kì ,
thực hiện các lời gọi hệ thống để phát hiện các file khơng bình thường , các tiến trình ấn và so sánh
chúng với cơ sở dữ liệu để phát hiện root
+ Phản ứng chủ động : chúng cho phép các IDS nói chung và OSSEC nói riêng tự động thực thi các
lệnh hoặc phản ứng khi một sự kiện hoặc tập hợp sự kiện cụ thể được kích hoạt . Phản ứng chủ động
có thể được xác định bằng luật . Các lợi ích của phản ứng chủ động là rất lớn nhưng cũng rất nguy
hiểm có thể ngăn chặn kết nối hợp pháp hoặc là lỗ hổng để kẻ tấn công khai thác.

Kiến trúc hệ thống ossec


II.

OSSEC được thiết ké theo mơ hình client – server, gồm 2 thành phần chính là OSSEC server và
OSSEC agent .



OSSEC SEVER
Đây là phần trung tâm và quan trọng nhất của OSSEC. Server là nơi lưu trữ dữ liệu. Tất

cả các luật, bộ giải mã (decoder) cũng được lưu trữ trên server .

Server còn đảm nhận nhiệm vụ quản lý các agent. Các agent kết nối với máy chủ trên
cổng 1514 hoặc 514, giao thức UDP. Kết nối với cổng này phải được cho phép để các agent
kết nối với manager
Nhiệm vụ quan trọng nhất của server là phân tích các log nhận được từ các agent hay
agentless (gọi chung là client) và xuất ra các cảnh báo. Các cảnh báo này có thể xuất ra cho
các các công cụ xử lý log như Logstash, Elastic Search để hiển thị cho người quản trị bằng
Kibana, lưu trữ trong cơ sở dữ liệu.


OSSEC AGENT


Agent (đầy đủ là installable agent) là một chương trình nhỏ, hoặc tập hợp các chương
trình, được cài đặt trên các hệ thống được giám sát.
Agent sẽ thu thập thông tin và gửi cho manager để phân tích và so sánh. Một số thông
tin được thu thập trong thời gian thực, những thơng tin khác theo định kỳ.
Agent có một bộ nhớ rất nhỏ và sử dụng rất ít CPU, không ảnh hưởng đến việc sử dụng

của hệ thống. Server cấu hình cho các agent. Các agent được cài đặt trên các host và chúng
gửi lại các log cho server thơng qua giao thức thơng điệp được mã hóa OSSEC.
Các modul chức năng của agent là: giám sát host, kiểm tra tính tồn vện file trên máy
host mà nó được cài, phát hiện rootkit trên máy host, đọc các log và gửi các log cho server.
Agentless là tính năng hỗ trợ cho các thiết bị không cài đặt được agent theo cách bình
thường như router, switch, tường lửa. Nó có chức năng như agent. Agentless kết nối để gửi
thông điệp, log cho manager bằng các phương thức RPC.

Tính năng bổ sung :


Ảo hóa/Vmware ESX: OSSEC cho phép người quản trị cài đặt agent trên các hệ
điều hành guest. Agent cũng có thể được cài đặt bên trong một số phiên bản
của VMWare ESX, nhưng điều này có thể gây ra các vấn đề kỹ thuật. Với agent
được cài đặt bên trong VMware ESX, người quản trị có thể nhận được thơng báo
về thời điểm một máy khách VM đang được cài đặt, gỡ bỏ, khởi động, vv…Agent
cũng giám sát các đăng nhập, đăng xuất và lỗi bên trong máy chủ ESX.Thêm
nữa, OSSEC cịn có thể thực hiện kiểm tra an ninh (CIS) cho VMware, cảnh báo
nếu có tùy chọn cấu hình khơng an tồn nào được bật hoặc bất kỳ vấn đề nào
khác.
Router, tường lửa và switch: OSSEC có thể nhận và phân tích các sự kiện trong
syslog từ rất nhiều router, tường lửa và switch. Đây có thể là nguồn thu thập log rất
hiệu quả để manager phân tích, đưa ra các dấu hiệu, cảnh báo về các cuộc xâm
nhâp trên mạng cho quản trị viên vì OSSEC khơng phải là NIDS.
III . Luật và tạo luật trong OSSEC
Luật (rules) là một phần vô cùng quan trọng trong hệ thống OSSEC, nó chính là cốt lõi trong
việc đảm bảo hệ thống OSSEC có được hoạt động theo quy trình, chính xác và hiệu quả hay khơng.
Rules có định dạng XML, được cấu hình trong ossec server /var/ossec/etc/ossec.config và nằm
trong thẻ <ossec_config>. Rules được lưu trong /var/ossec/rules.



OSSEC có 16 cấp độ luật:
00 - Ignored: Không thực hiện hành động nào. Khi gặp luật có cấp độ này thì sẽ khơng có thông
báo. Các luật này được quét trước tất cả các luật khác. Chúng bao gồm các sự kiện khơng có sự
liên quan về bảo mật.
01 - None (không).
02 - System low priority notification (hệ thống thông báo ưu tiên thấp): Thơng báo hệ thống hoặc
thơng báo trạng thái. Khơng có sự liên quan về bảo mật.
03 - Successful/Authorized events (sự kiện thành công/được ủy quyền): Bao gồm các lần đăng
nhập thành công, tường lửa cho phép sự kiện, v.v.
04 - System low priority error(lỗi ưu tiên hệ thống thấp): Các lỗi liên quan đến cấu hình hoặc thiết
bị/ứng dụng khơng sử dụng. Chúng khơng có sự liên quan về bảo mật và thường được gây ra bởi
các cài đặt mặc định hoặc kiểm thử phần mềm.
05 - User generated error(lỗi do người dùng tạo): Chúng bao gồm mật khẩu bị bỏ lỡ, hành động bị
từ chối, v.v. Chính chúng khơng có sự liên quan về bảo mật.
06 - Low relevance attack (tấn công mức độ liên quan thấp): Chúng chỉ ra một con sâu hoặc virus
không ảnh hưởng đến hệ thống (như mã màu đỏ cho các máy chủ apache, vv). Chúng cũng bao
gồm các sự kiện IDS thường xuyên và các lỗi thường xuyên.


07 - “Bad word” matching (kết hợp “Từ xấu”): Chúng bao gồm các từ như "bad", "error", v.v.
Những sự kiện này hầu như khơng được phân loại và có thể có một số mức độ liên quan về bảo
mật.
08 - First time seen (lần đầu tiên nhìn thấy): Bao gồm các sự kiện lần đầu tiên được xem. Lần đầu
tiên một sự kiện IDS được kích hoạt hoặc lần đầu tiên người dùng đăng nhập. Nếu bạn mới bắt
đầu sử dụng OSSEC HIDS, những thơng báo này có thể sẽ thường xuyên. Sau một thời gian sẽ
giảm dần, Nó cũng bao gồm các hành động bảo mật có liên quan (như bắt đầu của một sniffer).
09 - Error from invalid source(lỗi từ nguồn không hợp lệ): Bao gồm các lần đăng nhập dưới dạng
người dùng không xác định hoặc từ nguồn khơng hợp lệ. Có thể có sự liên quan về bảo mật (đặc
biệt nếu được lặp lại). Chúng cũng bao gồm các lỗi liên quan đến tài khoản "quản trị" (root).

10 - Multiple user generated errors (tập hợp lỗi do người dùng tạo): Chúng bao gồm nhiều mật
khẩu không hợp lệ, nhiều lần đăng nhập không thành công, v.v. Họ có thể chỉ ra một cuộc tấn
cơng hoặc có thể chỉ là người dùng vừa quên thông tin đăng nhập của mình.
11 - Integrity checking warning (cảnh báo kiểm tra tính tồn vẹn): Chúng bao gồm các thơng báo
liên quan đến việc sửa đổi các tệp nhị phân hoặc sự hiện diện của rootkit (bằng kiểm tra root).
Nếu bạn chỉ cần sửa đổi cấu hình hệ thống của bạn, bạn sẽ được báo về các thơng báo
"syscheck". Nó có thể chỉ ra một cuộc tấn công thành công. Cũng bao gồm các sự kiện IDS sẽ bị bỏ
qua (số lần lặp lại cao).
12 - High importancy event (sự kiện quan trọng cao): Chúng bao gồm các thông báo lỗi hoặc cảnh
báo từ hệ thống, hạt nhân, v.v. Chúng có thể chỉ ra một cuộc tấn công chống lại một ứng dụng cụ
thể.
13 - Unusual error (high importance) - Lỗi bất thường (mức độ quan trọng cao): Hầu hết các lần
khớp với một kiểu tấn công chung.
14 - High importance security event (sự kiện bảo mật quan trọng cao): Hầu hết thời gian được
thực hiện với sự tương quan và nó chỉ ra một cuộc tấn cơng.
15 - Severe attack (tấn cơng nghiêm trọng): Cần chú ý ngay lập tức.


Rules trong OSSEC được hỗ trợ quản lý theo nhóm, các bộ luật được xây dựng sẵn trong hệ thống
OSSEC thuộc 12 nhóm sau:

Invalid_login

Authentication_success

Authentication_failed

Connection_attempt

attacks


adduser

sshd

ids

firewall

squid

apache

syslog


 Đặc biệt: admin có thể tự tạo một group chứa một hoặc nhiều bộ luật mới


Một vài thuộc tính của 1 rule trong OSSEC:
Level (bắt buộc phải có): thể hiện mức độ của rule, ossec có 16 cấp độ từ 0-15.
Id (bắt buộc phải có): id của rule, mỗi rule sẽ có một id riêng biệt khơng trùng lặp và là 1 trong các
số từ 100-99999. (Khi tạo một luật mới nên đặt ip từ khoảng 100.000).
Maxsize: chỉ định kích thước tối đa của sự kiện tiến hành, là 1 trong các số từ 1-99999.
Frequency: chỉ định số lần rules được kiểm tra trước khi thực hiện. Số lần kích hoạt phải gấp đơi
số lần cài đặt. Ví dụ: tần sô = 2 => rule phải được so sánh 4 lần.
Timeframe: khung thời gian tính bằng giây, được sử dụng để kết hợp với frequency.
Ignore: thời gian (s) bỏ qua rule này.
Overwrite: Cho phép chỉnh sửa rule.



Trong OSSEC, luật được chia thành 2 loại: Luật nguyên tố và luật kết hợp:


Luật nguyên tố - các luật xử lý 1 sự kiện: cảnh báo, thông báo hay hành động ứng phó sẽ xuất
hiện khi có 1 sự kiện thỏa mãn. Ví dụ: Bao nhiêu lần đăng nhập thất bại sẽ xuất hiện bấy nhiêu
lần thông báo.

<rule id="100000" level="7">


<list lookup="match_key" field="srcip">path/to/list/file</list>
<description>Checking srcip against cdb list file</description>
</rule>



Luật kết hợp – xử lý nhiều sự kiện một lúc trong 1 luật:
o

Có thể sử dụng với thẻ Frequency và Timeframe để xử lý một xự kiện được diễn ra nhiều
lần.

o

Các luật được kết hợp với nhau thông qua id, sử dụng thẻ <if_sid> hoặc
(<if_matched_sid> hoặc <same_id> hoặc <same_source_ip> - các thẻ này được kết hợp
với Frequency và Timeframe).

<rule id="100103" level="7">

<if_sid>100102</if_sid>
<match>^Failed</match>
<description>Fakeinc Custom: Failed password</description>
</rule>

Tạo luật trong OSSEC:
Trước khi bắt đầu viết các quy tắc chúng ta nên biết một số quy tắc cần tuân thủ :
1: khi viết các quy tắc tùy chỉnh là không bao giờ sửa đổi các tệp quy tắc hiện có trong thư
mục /var/ossec/rules ngoại trừ local_rules.xml . Những thay đổi đối với các quy tắc đó có
thể sửa đổi hành vi của toàn bộ chuỗi quy tắc và làm phức tạp thêm việc khắc phục sự cố
2: khi viết quy tắc tùy chỉnh là sử dụng các ID ở trên 100000 làm các ID bên dưới được dung
riêng . Việc can thiệp vào các ID đó cũng giống như việc can thiệp vào chính các tệp quy tắc
được phân phối . Bạn có nguy cơ cập nhật OSSEC làm tắc nghẽn mọi cơng việc khó khăn của
bạn
3: duy trì trật tự trong các quy tắc của bạn . Khi trìn phân tích cú pháp quy tắc đang tải các
quy tắc khi khởi động , nó xác nhận sự tồn tại của các quy tắc và nhóm được tham chiếu . Nếu
bạn tham chiếu đến một quy tắc chưa được tải , trình phân tích cú pháp sẽ thành công


Lưu ý ba nguyên tắc giúp đảm bảo rằng các cài đặt của chúng tôi sẽ không bị hư hỏng khi nâng cấp
và chúng tơi ln có thể quay lai OSSEC bằng cách xóa local_rules.xml

Chúng ta đã thành thạo với các giao thức của các quy tắc , xử lí 1 số dữ liệu từ việc ghi application
logging tùy chỉnh thông qua syslog như sau :
May

4

19:12:03 server custom - app : Startup initiated


May 4 19:12:07 server custom - app : No error detected during startup!
May 4 19:12:08 server custom - app : Startup completed, processing data
May 4

19:12:08 server custom - app : Failed login from ‘4.5.6.7’ as testuser

Chúng tôi nhận được thông báo về các lỗi không xác định và lỗi xác thực từ ứng dụng tùy chỉnh
của chúng tôi . Chúng tôi muốn tắt các thông báo không xác định này và đảm bảo rằng chúng tôi
không cung cấp cảnh báo cho các lần đăng nhập không thành công từ 4.5.6.7. máy quét lỗ hổng
bảo mật của chúng tôi .
Để tìm ra bước đầu tiên , chúng ta cần tìm hiểu điều gì đang xảy ra để tạo cảnh báo:
1: sử dụng ossec – logtest công cụ do ossec cung cấp . Nó hoạt động bằng cách chấp nhận
thơng báo nhật kí trên STDIN ( đầu vào thiết bị đầu cuối của bạn) và giải thích đường dẫn
thơng qua các quy tắc . Đây là cách có thể chạy nó :
$ sudo /var/ossec/bin/ossec-logtest
2 : sau đó chúng ta có thể dán vào các dòng nhật ký dể xem dòng nào đang tạo cảnh báo:
Ossec – testrule : Type one log per line.
May 4 19:12:03 server custom-app : Startup initiated .
** Phase 1: Completed pre-decoding.
Full event : ‘May 4 19:12:03 server custom-app: Startup initiated .’
Hostname : ‘ server’
Program_name : ‘ custom-app’
Log : ‘ Startup initiated’
** Phase 2: Completed decoding .
No decoder matched


3 thơng báo log đầu tiên đã hồn thành việc phân tích cú pháp của dịng và khơng có cảnh
báo nào được tạo , VÌ vậy chúng tơi thử thơng báo log tiếp theo :
** Phase 1: Completed pre-decoding.

Full event : ‘ May 4 19:12:07 server custom-app : No error detected during startup!’
Hostname : ‘ server’
Program_name : ‘ custom-app’
Log : ‘ No error detected during startup!’
** Phase 2 : Completed decoding.
No decoder matched
** Phase 3 : Completed filtering (rules).
Rule id : ‘1002’
Lever : ‘ 2’
Description : ‘Unknown problem somewhere in the system.’
** Alert to be generated.
4. chúng tơi có thể thấy từ kết quả này rằng vấn đề chưa biết của chúng tơi đang được tạo ra bởi dịng log
này. Chúng toi nhận được ID quy tắc và cấp độ đang được tạo và sử dụng thông tin này , chúng tơi có thể
viết quy tắc để bỏ qua no bằng cách sử dụng OSSEC level =’0’
<!—Local Rules for Example.com -- >
<group name = “local,syslog,”>
<rule id =” 100000” level=”0”>
<if_sid> 1002< /if_sid>
custom-app< /program_name>
<description> Ignore errors for custom- app </description>
</rule>
</group>
5 . khi chúng tôi đã lưu local_rules.xml tệp chúng tôi có thể khỏi động lại ossec- logtest và thử lại
**Phase 3 : Completed filtering(rules)
Rule id : ‘ 100000’
Level : ‘0’
Description : ‘ Ignore unknown errors for custom-app’


6. bây giờ chúng tôi đã chuyển sự kiện này lên cấp độ 0 , chúng tơi có thể xem xet các sự kiện đăng nhập

không thành công :
May 4 19:12:08 server custom-app : Failed login from ‘ 4,5,6,7’ as testuser’
** Phase 3 : Completed filtering (rules)
Rule id: ‘ 2501’
Level : ‘5’
Description : ‘ User authentication failure.’
** Alert to be generated.
7. chúng tôi sẽ sử dụng một đối sánh đơn giản với dữ liệu này để tắt thông báo này khỏi 4.5.6.7
<rule id = “100001” level =”0”>
< if_sid> 2501</if_sid>
< program_name>custom-app</program_name>
<match>4.5.6.7</match>
<description>Ignore failed logins from scanner</description>
</rule>
8. bây giờ chạy lại ossec-logtest thấy :
May 4 19:12:08 server custom-app : Failed login from ‘4.5.6.7’ as testuser’
** Phase 3 : Completed filtering (rules).
Rule id : ‘100001’
Level : ‘1’
Description : ‘ Ignore failed logins from our security scanner’
** Alert to be generated.



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

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