Ở phần trước, chúng ta đã cùng nhau tìm hiểu sơ qua về Ossec – một HIDS mạnh mẽ.
Phần này, tôi sẽ giúp bạn cài đặt và triển khai Ossec với mô hình Server-Agent
Mục Lục
I. Mô hình
- Ta sử dụng mô hình Server-Agent:
Với:
- Server:
OS : CentOS 7 IP : 10.10.34.111/24
- Agent:
OS : CentOS 7 IP : 10.10.34.112/24
II. Cài đặt
1. Ossec Server
B1: Cài đặt các pacakage hỗ trợ trước khi cài đặt ossec
yum install -y epel-release zlib-devel pcre2-devel make gcc mysql-devel postgresql-devel sqlite-devel
sqlite-devel : Với version 3.0 thì cần package này để sử dụng tính năng SQLite
B2: Cài đặt ossec-server
yum install -y wget
Thêm repo AtomiCorp:
wget -q -O - https://updates.atomicorp.com/installers/atomic | sh
Cài đặt Ossec-server
yum install ossec-hids ossec-hids-server
2. Ossec Agent
B1: Cài đặt các pacakage hỗ trợ trước khi cài đặt ossec
yum install -y epel-release zlib-devel pcre2-devel make gcc mysql-devel postgresql-devel sqlite-devel
sqlite-devel : Với version 3.0 thì cần package này để sử dụng tính năng SQLite
B2: Cài đặt ossec agent
yum install -y wget
Thêm repo AtomiCorp:
wget -q -O - https://updates.atomicorp.com/installers/atomic | sh
Cài đặt Ossec-agent
yum install ossec-hids ossec-hids-agent
III. Kết nối Server-Agent
Để kết nối Agent đến Server ta có thể sử dụng manage_agents (1 executable file cung cấp interface giúp dễ dàng thực hiện xử lý khóa xác thực cho các Ossec Agent)
Các bước tiến hành:
- Chạy manage_agents trên Ossec Server
- Add Agent mới
- Extract key cho Agent đó
- Chạy manage_agents trên Ossec Agent
- Import key đã Extract từ Server
- Restart tiến trình quản lý Ossec (Trên Server)
- Start Agent mới
1. manage_agents trên OSSEC server
manage_agents trên OSSEC server cũng cấp giao diện giúp :
- Add 1 Ossec Agent vào Server
- Extract key cho Agent đó để có thể được add vào Server
- Remove 1 Agent từ Server
- List ra tất cả Agent có thể được add vào Server
B1: Chạy manage_agents
Chú ý: manage_agents nên được chạy ở quyền root
/var/ossec/bin/manage_agents
Giao diện có dạng:
**************************************** * OSSEC HIDS v2.5-SNP-100809 Agent manager. * * The following options are available: * **************************************** (A)dd an agent (A). (E)xtract key for an agent (E). (L)ist already added agents (L). (R)emove an agent (R). (Q)uit. Choose your action: A,E,L,R or Q:
B2: Add 1 agent mới
Choose your action: A,E,L,R or Q: A
- B2.1: Đặt tên cho Agent mới
- Adding a new agent (use 'q' to return to the main menu). Please provide the following: * A name for the new agent: agent_34_0
- B2.2: Chỉ định IP cho Agent
- Có thể là single IP – Nhưng nó phải là duy nhất.
- Hoặc sử dụng 1 dải IP hoặc any : nếu IP của Agent có thể thay đổi thường xuyên.
- Việc trùng lặp IP sẽ gây ra nhiều vấn đề
* The IP Address of the new agent: 10.10.34.0/24
- B2.3: Đặt ID cho Agent
- manage_agents sẽ gợi ý ID phù hợp, bắt đầu từ 001 với Agent đầu tiên.
- 000 là cho Server.
* An ID for the new agent[002]: 1033 Agent information: ID:1033 Name:agent_34_0 IP Address:10.10.34.0/24 Confirm adding it?(y/n): y Agent added
Kết quả
B3 : Extract key cho Agent đã tạo
NOTE
- Nhớ mở port để Server có thể giao tiếp với Agent
firewall-cmd --permanent --add-port=1514/udp
firewall-cmd --reload
2. manage_agents trên OSSEC Agent
Việc add Agent trên Server là chưa đủ, muốn connect Server và Agent thì cần Import key Server đã tạo cho Agent vào chính máy Agent
B1: Chạy file manage_agents
/var/ossec/bin/manage_agents
- Chọn “I” và thực hiện import key đã được extract từ Server
B2: Config IP server mà agent sẽ connect
CHÚ Ý: Có thể ở bước này sẽ xảy ra lỗi
manage_agents: ERROR: Cannot unlink /queue/rids/sender: No such file or directory
Cách fix:
cd /var/ossec/queue/rids/ cp 001 sender
(Thay 001 bằng file sẽ xuất hiện trong rids của bạn. Như tôi thì là 1033).
Sau đó Import Key lại bình thường
B3: Để thay đổi có hiệu lực
- Restart server
/var/ossec/bin/ossec-control restart
- Start Agent (Nếu đã start rồi thì ta restart)
/var/ossec/bin/ossec-control restart
NOTE : Có thể bạn sẽ gặp thông báo lỗi config ở file /var/ossec/etc/shared/agent.conf
Cụ thể lỗi dạng :
Duplicated directory given: '/etc'...
Lỗi này do trùng lặp config với file config chính của Ossec Agent.Cách fix:
cd /var/ossec/etc/shared/
cp agent.conf agent.conf.bk
rm -rf agent.conf
Sau khi tạo backup và xóa file này đi rồi thì restart lại.
Check kết quả
IV. Tổng kết
Như vậy tôi đã giới thiệu cho bạn cách để kết nối 1 Agent đến Server
Tức là đặt Agent đó dưới sự kiểm soát,bảo vệ của Ossec HIDS Server.
Tuy nhiên, hầu như tất cả config đều là mặc định, chúng ta sẽ không chỉ dừng lại ở đây. Có khá nhiều bài toán đặt ra:
- Nếu có rất nhiều Agent thì sao. Chẳng lẽ ta phải lặp đi lặp lại từng đó thao tác với mỗi Agent ?
- Làm sao bạn có thể nhận cảnh báo qua mail mà không cần vào trực tiếp file log cảnh báo của Ossec Server để xem ?
- Quá nhiều cảnh báo bắn về email thì phải làm sao ?. . .
Những bài toán đó, chúng ta sẽ lần lượt giải quyết khi đi tới tìm hiểu nhưng thành phần cốt lõi tạo nên Ossec.
Cảm ơn bạn đã xem hết bài viết của tôi.
Chúc bạn thành công!!!