Thứ ba, 23/12/2014 | 00:00 GMT+7

Cách cài đặt và cấu hình thông báo bảo mật OSSEC trên Ubuntu 14.04

Làm cách nào để bạn theo dõi hoạt động được phép và trái phép trên server của bạn ?

OSSEC là một công cụ bạn có thể cài đặt trên server của bạn để theo dõi hoạt động của nó.

OSSEC là một hệ thống phát hiện xâm nhập dựa trên server (HIDS) open-souce , thực hiện phân tích log , kiểm tra tính toàn vẹn, giám sát register Windows, phát hiện rootkit, cảnh báo dựa trên thời gian và phản hồi tích cực. Nó được dùng để giám sát một server hoặc hàng nghìn server trong chế độ server / tác nhân.

Nếu được cấu hình đúng, OSSEC có thể cung cấp cho bạn chế độ xem thời gian thực về những gì đang xảy ra trên server của bạn.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và cấu hình OSSEC để giám sát một server DigitalOcean đang chạy Ubuntu 14.04 LTS. Ta sẽ cấu hình OSSEC để nếu file được sửa đổi, xóa hoặc thêm vào server , OSSEC sẽ thông báo cho bạn qua email - trong thời gian thực. Đó là ngoài các tính năng kiểm tra tính toàn vẹn khác mà OSSEC cung cấp.

OSSEC có thể làm nhiều việc hơn là thông báo cho bạn về các sửa đổi file , nhưng một bài viết không đủ để chỉ cho bạn cách tận dụng tất cả các tính năng của nó.

** Các lợi ích của OSSEC là gì?

Trước khi đến phần cài đặt và cấu hình, hãy xem xét một số lợi ích cụ thể mà bạn nhận được khi sử dụng OSSEC.

Dưới đây là ví dụ về thông báo qua email từ OSSEC, cho thấy rằng file /var/ossec/etc/ossec.conf đã được sửa đổi.

OSSEC HIDS Notification. 2014 Nov 29 09:45:15  Received From: kuruji->syscheck Rule: 552 fired (level 7) -> "Integrity checksum changed again (3rd time)." Portion of the log(s):  Integrity checksum changed for: '/var/ossec/etc/ossec.conf' Size changed from '7521' to '7752' 

Nếu bạn nhận được cảnh báo như vậy và bạn không mong đợi file đó thay đổi, thì bạn biết rằng có điều gì đó trái phép đã xảy ra trên server của bạn.

Đây là một cảnh báo email mẫu khác từ OSSEC, cho thấy rằng file /etc/ossec/testossec.txt đã bị xóa.

OSSEC HIDS Notification. 2014 Nov 29 10:56:14  Received From: kuruji->syscheck Rule: 553 fired (level 7) -> "File deleted. Unable to retrieve checksum." Portion of the log(s):  File /etc/ossec/testossec.txt was deleted. Unable to retrieve checksum. 

, nếu bạn không xóa file được đề cập, bạn nên tìm hiểu điều gì đang xảy ra trên server của bạn .

Bây giờ, nếu những điều ở trên đã khiến bạn cảm thấy khó chịu khi muốn cài đặt OSSEC, thì đây là một vài điều bạn cần làm trước tiên.

Yêu cầu

Tất nhiên, bạn cần phải có một server mà bạn muốn giám sát. Hướng dẫn này giả định bạn đã có một và nó đã được cài đặt để sử dụng. Nó có thể là một server mà bạn vừa cài đặt hôm nay hoặc bạn đã sử dụng trong nhiều tháng. Điều quan trọng nhất là bạn có quyền truy cập vào nó và có thể đăng nhập qua SSH. Cài đặt OSSEC không phải là điều bạn muốn thực hiện khi bạn vẫn chưa biết cách truy cập vào server của bạn .

  • Server Ubuntu 14.04
  • Bạn nên tạo một user sudo trên server . Trong ví dụ này, user có tên là sammy . Tuy nhiên, hướng dẫn này sẽ dễ hoàn thành hơn nhiều với quyền là user root :
sudo su 
  • Tùy chọn: Nếu bạn muốn gửi thư từ server SMTP local , bạn nên cài đặt Postfix để gửi email đơn giản
  • Cài đặt OSSEC liên quan đến một số biên dịch, vì vậy bạn cần gccmake cài đặt. Bạn có thể cài đặt cả hai bằng cách cài đặt một gói duy nhất có tên là build-essential
  • Bạn cũng cần cài đặt một gói có tên inotify-tools , gói này cần thiết để cảnh báo thời gian thực hoạt động

Để cài đặt tất cả các gói bắt buộc, trước tiên hãy cập nhật server :

apt-get update 

Cài đặt các gói:

apt-get install build-essential inotify-tools 

Bây giờ ta đã sắp xếp xong các vòng sơ loại, hãy đến với phần thú vị.

Bước 1 - Download và xác minh OSSEC

Trong bước này, bạn sẽ download tarball OSSEC và một file chứa các tổng kiểm tra mật mã của nó.

Vì đây là bài viết bảo mật, ta sẽ thực hiện thêm một số công việc nhỏ để xác minh ta đang cài đặt phần mềm hợp lệ. Ý tưởng là bạn tạo tổng kiểm tra MD5 và SHA1 rball OSSEC đã download và so sánh chúng với các tổng kiểm tra trong file tổng kiểm tra. Nếu chúng trùng khớp, thì bạn có thể cho rằng tarball không bị giả mạo.

Tại thời điểm viết bài, version server mới nhất của OSSEC là version 2.8.1. Để download , hãy nhập:

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz 

Để download file tổng kiểm tra, hãy nhập:

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1-checksum.txt 

Để xác minh cả hai file đều ở đúng vị trí, hãy nhập:

ls -l ossec* 

Bạn sẽ thấy các file :

ossec-hids-2.8.1-checksum.txt ossec-hids-2.8.1.tar.gz 

Bây giờ, hãy kiểm tra file tổng kiểm tra bằng lệnh cat , như sau:

cat ossec-hids-2.8.1-checksum.txt 

Sản lượng mong đợi:

MD5(ossec-hids-2.8.1.tar.gz)= c2ffd25180f760e366ab16eeb82ae382 SHA1(ossec-hids-2.8.1.tar.gz)= 0ecf1df09558dc8bb4b6f65e1fb2ca7a7df9817c 

Trong kết quả ở trên, những phần quan trọng là những phần ở bên phải của dấu = . Đó là tổng kiểm tra MD5 và SHA1 rball.

Bây giờ, ta sẽ đảm bảo tổng tổng mà ta tạo cho tarball trùng với tổng kiểm mà ta đã download .

Để tạo MD5sum rball, hãy nhập:

md5sum ossec-hids-2.8.1.tar.gz 

Sản lượng mong đợi:

c2ffd25180f760e366ab16eeb82ae382  ossec-hids-2.8.1.tar.gz 

So sánh tổng kiểm tra MD5 đã tạo với tổng kiểm tra trong file tổng kiểm tra. Họ nên phù hợp.

Thực hiện tương tự đối với tổng kiểm tra SHA1 bằng lệnh :

sha1sum  ossec-hids-2.8.1.tar.gz 

Sản lượng mong đợi:

0ecf1df09558dc8bb4b6f65e1fb2ca7a7df9817c  ossec-hids-2.8.1.tar.gz 

Nếu cả hai phù hợp, bạn tốt để đi. Bước hai vẫy gọi.

Bước 2 - Cài đặt OSSEC

Trong bước này, bạn sẽ cài đặt OSSEC.

OSSEC có thể được cài đặt ở chế độ server , đại lý , cục bộ hoặc kết hợp . Cài đặt này là để giám sát server mà OSSEC được cài đặt trên. Điều đó nghĩa là một cài đặt cục bộ .

Trước khi cài đặt có thể bắt đầu, bạn phải mở rộng file . Bạn làm điều đó bằng lệnh :

tar -zxf ossec-hids-2.8.1.tar.gz 

Sau đó, bạn sẽ có một folder có tên ossec-hids-2.8.1 . Để bắt đầu cài đặt, bạn phải thay đổi (cd) vào folder đó, bạn thực hiện bằng lệnh :

cd ossec-hids-2.8.1 

Để xem nội dung của folder mà bạn hiện đang ở đó, hãy sử dụng lệnh ls bằng lệnh :

ls -lgG 

Bạn sẽ thấy các file và folder này:

total 100 drwxrwxr-x  4  4096 Sep  8 21:03 active-response -rw-rw-r--  1   542 Sep  8 21:03 BUGS -rw-rw-r--  1   289 Sep  8 21:03 CONFIG drwxrwxr-x  6  4096 Sep  8 21:03 contrib -rw-rw-r--  1  3196 Sep  8 21:03 CONTRIBUTORS drwxrwxr-x  4  4096 Sep  8 21:03 doc drwxrwxr-x  4  4096 Sep  8 21:03 etc -rw-rw-r--  1  1848 Sep  8 21:03 INSTALL -rwxrwxr-x  1 32019 Sep  8 21:03 install.sh -rw-rw-r--  1 24710 Sep  8 21:03 LICENSE -rw-rw-r--  1  1664 Sep  8 21:03 README.md drwxrwxr-x 30  4096 Sep  8 21:03 src 

Tệp duy nhất mà ta quan tâm trong danh sách đó là install.sh . Đó là lệnh cài đặt OSSEC. Để bắt đầu cài đặt, hãy nhập:

./install.sh 

Bạn sẽ được yêu cầu trả lời một số câu hỏi cài đặt.

Nhiệm vụ đầu tiên sẽ được yêu cầu của bạn là lựa chọn ngôn ngữ. Như trong kết quả bên dưới, mặc định là tiếng Anh. Trong suốt quá trình cài đặt, nếu bạn bắt buộc phải thực hiện lựa chọn, thì bất kỳ mục nhập nào trong dấu ngoặc vuông là mặc định. Nếu mặc định là những gì bạn muốn, hãy nhấn phím ENTER để chấp nhận mặc định. Ngoài việc phải nhập địa chỉ email của bạn, ta khuyên bạn nên chấp nhận tất cả các giá trị mặc định - trừ khi bạn biết mình đang làm gì.

Các mục nhập được hiển thị bằng màu đỏ .

Vì vậy, nếu ngôn ngữ của bạn là tiếng Anh, hãy nhấn ENTER . Nếu không, hãy nhập hai ký tự cho ngôn ngữ của bạn và nhấn ENTER.

  (en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]:  

Sau khi chọn ngôn ngữ, bạn sẽ thấy:

OSSEC HIDS v2.8 Installation Script - http://www.ossec.net   You are about to start the installation process of the OSSEC HIDS.  You must have a C compiler pre-installed in your system.  If you have any questions or comments, please send an e-mail  to dcid@ossec.net (or daniel.cid@gmail.com).    - System: Linux kuruji 3.13.0-36-generic   - User: root   - Host: kuruji    -- Press ENTER to continue or Ctrl-C to abort. -- 

Sau khi nhấn ENTER, bạn sẽ nhận được:

1- What kind of installation do you want (server, agent, local, hybrid or help)? local 

Nhập local và nhấn ENTER. Bạn sẽ nhận được:

  - Local installation chosen.  2- Setting up the installation environment.    - Choose where to install the OSSEC HIDS [/var/ossec]: 

Chấp nhận mặc định và nhấn ENTER. Sau đó, bạn sẽ nhận được:

    - Installation will be made at  /var/ossec .  3- Configuring the OSSEC HIDS.    3.1- Do you want e-mail notification? (y/n) [y]: 

Nhấn Enter.

  - What's your e-mail address? sammy@example.com 

Nhập địa chỉ email mà bạn muốn nhận thông báo từ OSSEC.

  - We found your SMTP server as: mail.example.com.   - Do you want to use it? (y/n) [y]:  --- Using SMTP server:  mail.example.com. 

Nhấn ENTER trừ khi bạn có cài đặt server SMTP cụ thể mà bạn muốn sử dụng.

Bây giờ là lúc để cho OSSEC biết những gì kiểm tra nó sẽ được chạy. Để trả lời bất kỳ dấu nhắc nào từ tập lệnh, hãy chấp nhận giá trị mặc định bằng cách nhấn ENTER .

ENTER cho daemon kiểm tra tính toàn vẹn.

  3.2- Do you want to run the integrity check daemon? (y/n) [y]:  - Running syscheck (integrity check daemon). 

ENTER để phát hiện rootkit.

  3.3- Do you want to run the rootkit detection engine? (y/n) [y]:  - Running rootcheck (rootkit detection). 

ENTER để có phản hồi tích cực.

  3.4- Active response allows you to execute a specific command based on the events received.       Do you want to enable active response? (y/n) [y]:     Active response enabled. 

Chấp nhận các giá trị mặc định cho phản hồi thả firewall . Đầu ra của bạn có thể hiển thị một số tùy chọn IPv6 - điều đó tốt.

  Do you want to enable the firewall-drop response? (y/n) [y]:  - firewall-drop enabled (local) for levels >= 6     - Default white list for the active response:       - 8.8.8.8       - 8.8.4.4     - Do you want to add more IPs to the white list? (y/n)? [n]: 

Bạn có thể thêm địa chỉ IP của bạn tại đây, nhưng không cần thiết.

OSSEC bây giờ sẽ hiển thị một danh sách mặc định của các file mà nó sẽ giám sát. Các file bổ sung có thể được thêm vào sau khi cài đặt, vì vậy hãy nhấn ENTER.

3.6- Setting the configuration to analyze the following logs:     -- /var/log/auth.log     -- /var/log/syslog     -- /var/log/dpkg.log   - If you want to monitor any other file, just change    the ossec.conf and add a new localfile entry.    Any questions about the configuration can be answered    by visiting us online at http://www.ossec.net .      --- Press ENTER to continue --- 

Đến đây, trình cài đặt có tất cả thông tin cần thiết để cài đặt OSSEC. Kick lại và để trình cài đặt thực hiện công việc của nó. Cài đặt mất khoảng 5 phút. Nếu cài đặt thành công, bây giờ bạn đã sẵn sàng để khởi động và cấu hình OSSEC.

Lưu ý: Một lý do khiến cài đặt có thể không thành công là nếu trình biên dịch không được cài đặt. Trong trường hợp đó, bạn sẽ gặp lỗi như sau:

5- Installing the system  - Running the Makefile ./install.sh: 85: ./install.sh: make: not found   Error 0x5.  Building error. Unable to finish the installation. 

Nếu bạn gặp lỗi đó, thì bạn cần cài đặt build-essential , như được giải thích trong phần Yêu cầu của hướng dẫn.

Nếu cài đặt thành công, bạn sẽ thấy loại kết quả này:

 - System is Debian (Ubuntu or derivative).  - Init script modified to start OSSEC HIDS during boot.   - Configuration finished properly.   - To start OSSEC HIDS:                 /var/ossec/bin/ossec-control start   - To stop OSSEC HIDS:                 /var/ossec/bin/ossec-control stop   - The configuration can be viewed or modified at /var/ossec/etc/ossec.conf      ---  Press ENTER to finish (maybe more information below). --- 

OSSEC hiện đã được cài đặt. Bước tiếp theo là bắt đầu nó.

Bước 3 - Khởi động OSSEC

Theo mặc định, OSSEC được cấu hình để khởi động khi server khởi động , nhưng ở lần khởi động đầu tiên, bạn sẽ phải khởi động nó theo cách thủ công.

Nếu bạn muốn kiểm tra trạng thái hiện tại của nó, hãy nhập:

/var/ossec/bin/ossec-control status 

Sản lượng mong đợi:

ossec-monitord not running... ossec-logcollector not running... ossec-syscheckd not running... ossec-analysisd not running... ossec-maild not running... ossec-execd not running... 

Điều đó cho bạn biết rằng không có quy trình nào của OSSEC đang chạy.

Để khởi động OSSEC, hãy nhập:

/var/ossec/bin/ossec-control start 

Bạn sẽ thấy nó khởi động:

Starting OSSEC HIDS v2.8 (by Trend Micro Inc.)... Started ossec-maild... Started ossec-execd... Started ossec-analysisd... Started ossec-logcollector... Started ossec-syscheckd... Started ossec-monitord... Completed. 

Nếu bạn kiểm tra lại trạng thái, bạn sẽ nhận được xác nhận OSSEC hiện đang chạy.

/var/ossec/bin/ossec-control status 

Kết quả này cho thấy OSSEC đang chạy:

ossec-monitord is running... ossec-logcollector is running... ossec-syscheckd is running... ossec-analysisd is running... ossec-maild is running... ossec-execd is running... 

Ngay sau khi khởi động OSSEC, bạn sẽ nhận được một email có nội dung như sau:

OSSEC HIDS Notification. 2014 Nov 30 11:15:38  Received From: ossec2->ossec-monitord Rule: 502 fired (level 3) -> "Ossec server started." Portion of the log(s):  ossec: Ossec started. 

Đó là một xác nhận khác rằng OSSEC đang hoạt động và sẽ gửi cho bạn cảnh báo qua email khi nào nó được cấu hình để giám sát xảy ra. Ngay cả khi nó được khởi động lại, OSSEC sẽ gửi cho bạn một email.

Nếu bạn không nhận được email này ngay lập tức, đừng lo lắng. Bạn vẫn có thể cần phải điều chỉnh cài đặt email của bạn (mà ta sẽ trình bày ở phần sau của hướng dẫn) đảm bảo các email từ server OSSEC của bạn có thể chuyển tới nhà cung cấp thư của bạn. Điều này đặc biệt đúng đối với một số nhà cung cấp dịch vụ email bên thứ 3 như Google và Fastmail.

Bước 4 - Cấu hình OSSEC cho Cảnh báo thời gian thực về sửa đổi file

Tiếp theo, ta hãy tìm hiểu các file và folder của OSSEC, đồng thời tìm hiểu cách thay đổi cài đặt giám sát và cảnh báo của OSSEC.

Trong hướng dẫn này, ta sẽ sửa đổi OSSEC để thông báo cho bạn khi nào file được sửa đổi, xóa hoặc thêm vào các folder mà bạn chỉ định.

Tìm hiểu cấu trúc folder của OSSEC

Thư mục mặc định của OSSEC là môi trường chroot -ed ( sandbox ) mà chỉ user có quyền root (quản trị) mới có thể truy cập. Regular user không thể cd vào /var/ossec hoặc thậm chí liệt kê các file trong đó. Tuy nhiên, với quyền là user root (hoặc administrator ), bạn có thể.

Vì vậy, hãy nhập cd vào folder cài đặt bằng lệnh :

cd /var/ossec 

Để liệt kê các file trong folder làm việc mới của bạn, hãy nhập:

ls -lgG 

Bạn sẽ thấy các file và folder này:

total 40 dr-xr-x---  3 4096 Nov 26 14:56 active-response dr-xr-x---  2 4096 Nov 20 20:56 agentless dr-xr-x---  2 4096 Nov 20 20:56 bin dr-xr-x---  3 4096 Nov 29 00:49 etc drwxr-x---  5 4096 Nov 20 20:56 logs dr-xr-x--- 11 4096 Nov 20 20:56 queue dr-xr-x---  4 4096 Nov 20 20:56 rules drwxr-x---  5 4096 Nov 20 21:00 stats dr-xr-x---  2 4096 Nov 20 20:56 tmp dr-xr-x---  3 4096 Nov 29 18:34 var 
  • Tệp cấu hình chính của OSSEC nằm trong folder /var/ossec/etc
  • Các luật được định nghĩa nằm trong folder /var/ossec/rules
  • Các lệnh được sử dụng để quản lý OSSEC nằm trong /var/ossec/bin
  • Lưu ý đến folder /var/ossec/logs . Nếu OSSEC gặp lỗi, file /var/ossec/logs/ossec.log trong folder đó là nơi đầu tiên cần xem xét

Tệp cấu hình chính, /var/ossec/etc/ossec.conf

Để truy cập file cấu hình chính, bạn phải thay đổi thành /var/ossec/etc Để làm điều đó, hãy nhập:

cd /var/ossec/etc 

Nếu bạn thực hiện ls khi ở trong folder đó, bạn sẽ thấy các file và folder sau:

ls -lgG 

Các kết quả:

total 120 -r--r----- 1 97786 Sep  8 22:03 decoder.xml -r--r----- 1  2842 Sep  8 22:03 internal_options.conf -r--r----- 1  3519 Oct 30 13:46 localtime -r--r----- 1  7752 Nov 29 09:45 ossec.conf -rw-r----- 1    87 Nov 20 20:56 ossec-init.conf drwxrwx--- 2  4096 Nov 20 21:00 shared 

Tệp cấu hình chính là /var/ossec/etc/ossec.conf .

Trước khi sửa đổi file , hãy tạo một bản backup , đề phòng. Để tạo bản sao đó, hãy sử dụng lệnh cp như sau:

cp /var/ossec/etc/ossec.conf /var/ossec/etc/ossec.conf.00 

Ý tưởng là nếu các thay đổi không hoạt động hoặc làm hỏng hệ thống, bạn có thể hoàn nguyên về bản sao và trở lại bình thường. Đó là phương pháp khắc phục thảm họa đơn giản nhất mà bạn nên luôn tận dụng.

Bây giờ, hãy mở ossec.conf bằng cách sử dụng trình soạn thảo nano .

nano /var/ossec/etc/ossec.conf 

Tệp cấu hình là một file XML rất dài với một số phần.

Cài đặt email

Lưu ý: Nhìn chung, email rất phức tạp, đặc biệt nếu bạn đang gửi đến một nhà cung cấp thư chặt chẽ hơn như gửi đến địa chỉ Gmail. Kiểm tra thư rác của bạn và chỉnh sửa cài đặt của bạn nếu cần.

Các tùy chọn cấu hình đầu tiên bạn sẽ thấy là thông tin đăng nhập email bạn đã chỉ định trong khi cài đặt. Nếu bạn cần chỉ định một địa chỉ email khác và / hoặc server SMTP, thì đây là nơi để thực hiện.

<global>     <email_notification>yes</email_notification>     <email_to>sammy@example.com</email_to>     <smtp_server>mail.example.com.</smtp_server>     <email_from>ossecm@ossec_server</email_from> </global> 

Theo mặc định, OSSEC gửi 12 email mỗi giờ, vì vậy bạn sẽ không bị ngập trong các cảnh báo qua email. Bạn có thể tăng hoặc giảm giá trị đó bằng cách thêm cài đặt <email_maxperhour> N </email_maxperhour> vào phần đó để nó có nội dung:

<global>     <email_notification>yes</email_notification>     <email_to>sammy@example.com</email_to>     <smtp_server>mail.example.com.</smtp_server>     <email_from>ossecm@ossec_server</email_from>     <email_maxperhour>N</email_maxperhour> </global> 

Vui lòng thay N bằng số lượng email bạn muốn nhận mỗi giờ, trong repository ảng từ 1 đến 9999 .

Một số nhà cung cấp dịch vụ email bên thứ ba (chẳng hạn như Google và Fastmail) sẽ âm thầm bỏ qua các cảnh báo do OSSEC gửi nếu địa chỉ <email_from> không chứa phần domain hợp lệ, giống như phần trong khối mã ở trên. Để tránh điều đó, hãy đảm bảo địa chỉ email đó chứa một phần domain hợp lệ. Ví dụ:

<global>     <email_notification>yes</email_notification>     <email_to>sammy@example.com</email_to>     <smtp_server>mail.example.com.</smtp_server>     <email_from>sammy@ossec_server.com</email_from> </global> 

Địa chỉ <email_to><email_from> có thể giống nhau. Ví dụ:

<global>     <email_notification>yes</email_notification>     <email_to>sammy@example.com</email_to>     <smtp_server>mail.example.com.</smtp_server>     <email_from>sammy@example.com</email_from> </global> 

Nếu bạn không muốn sử dụng server SMTP của nhà cung cấp email bên ngoài, bạn có thể chỉ định server SMTP của riêng mình, nếu bạn đã cấu hình một server . (Điều này không được đề cập trong hướng dẫn này, nhưng bạn có thể cài đặt Postfix theo các hướng dẫn này .) Nếu server SMTP của bạn đang chạy trên cùng một Server với OSSEC, hãy thay đổi cài đặt <smtp_server> thành localhost . Ví dụ:

<global>     <email_notification>yes</email_notification>     <email_to>sammy@example.com</email_to>     <smtp_server>localhost</smtp_server>     <email_from>sammy@example.com</email_from> </global> 

OSSEC không gửi cảnh báo thời gian thực theo mặc định, nhưng hướng dẫn này yêu cầu thông báo thời gian thực, vì vậy đó là một khía cạnh mà bạn sẽ sửa đổi.

Nếu bạn vẫn không nhận được email mong đợi từ OSSEC, hãy kiểm tra log tại /var/ossec/logs/ossec.log để biết lỗi thư.

Ví dụ về lỗi thư:

2014/12/18 17:48:35 os_sendmail(1767): WARN: End of DATA not accepted by server 2014/12/18 17:48:35 ossec-maild(1223): ERROR: Error Sending email to 74.125.131.26 (smtp server) 

Bạn có thể sử dụng các thông báo lỗi này để giúp bạn gỡ lỗi sự cố nào khi nhận thông báo qua email.

Tần suất quét

Trong phần <syscheck> của ossec.conf , bắt đầu như sau:

<syscheck>     <!-- Frequency that syscheck is executed - default to every 22 hours -->     <frequency>79200</frequency>  

Ta sẽ bật cảnh báo để tạo file mới. Thêm dòng <alert_new_files>yes</alert_new_files> để nó có nội dung như sau:

<syscheck>     <!-- Frequency that syscheck is executed - default to every 22 hours -->     <frequency>79200</frequency>      <alert_new_files>yes</alert_new_files> 

Đối với mục đích kiểm tra, bạn cũng có thể cần đặt tần suất kiểm tra hệ thống thấp hơn nhiều. Theo mặc định, kiểm tra hệ thống được chạy sau mỗi 22 giờ. Đối với mục đích thử nghiệm, bạn có thể cần đặt giá trị này thành một phút một lần, tức là 60 giây. Hoàn nguyên giá trị này về một giá trị lành mạnh khi bạn hoàn tất quá trình kiểm tra.

<syscheck>     <!-- Frequency that syscheck is executed - default to every 22 hours -->     <frequency>60</frequency>      <alert_new_files>yes</alert_new_files> 

Cài đặt thay đổi folder và file

Ngay sau đó, bạn sẽ thấy danh sách các folder hệ thống mà OSSEC giám sát. Nó đọc như sau:

<!-- Directories to check  (perform all possible verifications) --> <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories> <directories check_all="yes">/bin,/sbin</directories> 

Hãy bật theo dõi thời gian thực bằng cách thêm cài đặt report_changes="yes" realtime="yes" vào mỗi dòng. Sửa đổi những dòng này để chúng đọc:

<!-- Directories to check  (perform all possible verifications) --> <directories report_changes="yes" realtime="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories> <directories report_changes="yes" realtime="yes" check_all="yes">/bin,/sbin</directories> 

report_changes="yes" thực hiện chính xác những gì được nói. Ditto cho realtime="yes" .

Ngoài danh sách folder mặc định mà OSSEC đã được cấu hình để giám sát, bạn có thể thêm các folder mới mà bạn muốn theo dõi. Trong phần tiếp theo này, tôi sẽ yêu cầu OSSEC giám sát /home/sammy/var/www . Vì vậy, tôi sẽ thêm một dòng mới ngay bên dưới những dòng hiện có, để phần đó bây giờ có nội dung:

<!-- Directories to check  (perform all possible verifications) --> <directories report_changes="yes" realtime="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories> <directories report_changes="yes" realtime="yes" check_all="yes">/bin,/sbin</directories>  <directories report_changes="yes" realtime="yes" restrict=".php|.js|.py|.sh|.html" check_all="yes">/home/sammy,/var/www</directories> 

Bạn nên sửa đổi các folder để phù hợp với cài đặt mong muốn của bạn. Nếu user của bạn không có tên sammy , bạn cần thay đổi đường dẫn đến folder chính.

Đối với các folder mới để theo dõi, ta đã thêm tùy chọn restrict , tùy chọn này yêu cầu OSSEC chỉ giám sát các định dạng file được chỉ định. Bạn không cần phải sử dụng tùy chọn đó, nhưng nó rất hữu ích khi bạn có các file khác, như file hình ảnh, mà bạn không muốn OSSEC cảnh báo.

Đó là tất cả những thay đổi đối với ossec.conf . Bạn có thể lưu file .

Luật local trong /var/ossec/rules/local_rules.xml

Tệp tiếp theo để sửa đổi nằm trong folder /var/ossec/rules , vì vậy hãy cd vào đó bằng lệnh :

cd /var/ossec/rules 

Nếu bạn nhập ls trong folder đó, bạn sẽ thấy một loạt các file XML như sau:

ls -lgG 

Đầu ra viết tắt:

total 376 -r-xr-x--- 1  5882 Sep  8 22:03 apache_rules.xml -r-xr-x--- 1  2567 Sep  8 22:03 arpwatch_rules.xml -r-xr-x--- 1  3726 Sep  8 22:03 asterisk_rules.xml -r-xr-x--- 1  4315 Sep  8 22:03 attack_rules.xml  ...  -r-xr-x--- 1  1772 Nov 30 17:33 local_rules.xml  ...  -r-xr-x--- 1 10359 Sep  8 22:03 ossec_rules.xml  ... 

Hiện tại, ta chỉ quan tâm đến hai file trong số đó - local_rules.xmlossec_rules.xml . Cái sau chứa các định nghĩa luật mặc định của OSSEC, trong khi cái trước là nơi bạn thêm các luật tùy chỉnh của bạn . Nói cách khác, ngoài local_rules.xml , bạn không sửa đổi các file nào trong folder này.

Các định nghĩa luật mặc định trong ossec_rules.xml rất hữu ích để xem xét để ta có thể sửa đổi và sao chép chúng vào các luật local của bạn . Trong ossec_rules.xml , luật kích hoạt khi file được thêm vào folder được giám sát là luật 554 . Theo mặc định, OSSEC không gửi cảnh báo khi luật đó được kích hoạt, vì vậy nhiệm vụ ở đây là thay đổi hành vi đó. Đây là luật 554 trông như thế nào trong version mặc định:

<rule id="554" level="0"> <category>ossec</category> <decoded_as>syscheck_new_entry</decoded_as> <description>File added to the system.</description> <group>syscheck,</group> </rule> 

OSSEC không gửi cảnh báo nếu luật có level được đặt thành 0 . Ta muốn sửa đổi luật này để nâng cao mức cảnh báo. Thay vì thay đổi nó trong file mặc định, ta sẽ sao chép luật vào local_rules.xml và sửa đổi nó để nó có thể kích hoạt cảnh báo.

Để làm điều đó, hãy tạo một bản backup của file /var/ossec/rules/local_rules.xml :

cp /var/ossec/rules/local_rules.xml /var/ossec/rules/local_rules.xml.00 

Chỉnh sửa file bằng nano :

nano /var/ossec/rules/local_rules.xml 

Thêm luật mới vào cuối file . Đảm bảo rằng nó nằm trong <group> ... </group> .

<rule id="554" level="7" overwrite="yes"> <category>ossec</category> <decoded_as>syscheck_new_entry</decoded_as> <description>File added to the system.</description> <group>syscheck,</group> </rule> 

Lưu và đóng file .

Đó là tất cả những thay đổi cần thiết.

Khởi động lại OSSEC

Tất cả những gì còn lại bây giờ là khởi động lại OSSEC, một việc phải làm khi nào bạn sửa đổi các file của OSSEC. Để khởi động lại loại OSSEC:

/var/ossec/bin/ossec-control restart 

Nếu tất cả đều hoạt động bình thường, bạn sẽ nhận được email từ OSSEC thông báo rằng nó đã (lại) bắt đầu.

Bước 5 - Kích hoạt cảnh báo thay đổi file

Và tùy thuộc vào những gì xảy ra trong các folder mà OSSEC đã được cấu hình để giám sát, bạn sẽ nhận được các email có nội dung như sau:

Bây giờ hãy thử tạo một file mẫu trong /home/sammy

touch /home/sammy/index.html 

Đợi tí. Thêm một số nội dung:

nano /home/sammy/index.html 

Đợi tí. Xóa file :

rm /home/sammy/index.html 

Bạn sẽ bắt đầu nhận được những thông báo như sau:

OSSEC HIDS Notification. 2014 Nov 30 18:03:51  Received From: ossec2->syscheck Rule: 550 fired (level 7) -> "Integrity checksum changed." Portion of the log(s):  Integrity checksum changed for: '/home/sammy/index.html' Size changed from '21' to '46' What changed: 1c1,4 < This is an html file ---      <!doctype html> <p>This is an html file</p>  Old md5sum was: '4473d6ada73de51b5b36748627fa119b' New md5sum is : 'ef36c42cd7014de95680d656dec62de9' Old sha1sum was: '96bd9d685a7d23b20abd7d8231bb215521bcdb6c' New sha1sum is : '5ab0f31c32077a23c71c18018a374375edcd0b90'  

Hoặc cái này:

OSSEC HIDS Notification. 2014 Dec 01 10:13:31  Received From: ossec2->syscheck Rule: 554 fired (level 7) -> "File added to the system." Portion of the log(s):  New file '/var/www/header.html' added to the file system. 

Lưu ý: OSSEC không gửi cảnh báo thời gian thực về việc bổ sung file , chỉ về việc sửa đổi và xóa file . Cảnh báo về việc bổ sung file sẽ xuất hiện sau khi kiểm tra toàn bộ hệ thống, được điều chỉnh bởi thời gian kiểm tra tần suất trong ossec.conf .

nano /var/ossec/etc/ossec.conf 

Cài đặt frequency :

<syscheck>     <!-- Frequency that syscheck is executed - default to every 22 hours -->     <frequency>79200</frequency> 

, nếu bạn không nhận được email, hãy kiểm tra thư rác, kiểm tra /var/ossec/logs/ossec.log , kiểm tra log thư của bạn, v.v.

Kết luận

Tôi hy vọng điều này đã giúp bạn hiểu được những gì OSSEC cung cấp. Có thể cài đặt và cấu hình nâng cao hơn, vì vậy hãy theo dõi các bài viết trong tương lai về cách triển khai OSSEC để giám sát và bảo vệ server của bạn.

Để biết thêm thông tin về OSSEC, hãy truy cập trang web của dự án tại http://www.ossec.net/ .


Tags:

Các tin liên quan

Cách sử dụng OpenVAS để kiểm tra tính bảo mật của hệ thống từ xa trên Ubuntu 12.04
2014-01-27