Giới thiệu
OSSEC là một hệ thống phát hiện xâm nhập dựa trên máy chủ (HIDS) mã nguồn mở, thực hiện phân tích nhật ký, kiểm tra tính toàn vẹn, giám sát sổ đăng ký 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. Đây là một ứng dụng bảo mật bắt buộc phải có trên bất kỳ máy chủ nào.
OSSEC có thể được cài đặt để chỉ giám sát máy chủ được cài đặt trên (cài đặt cục bộ) hoặc được cài đặt dưới dạng máy chủ để giám sát một hoặc nhiều tác nhân. Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt OSSEC để theo dõi CentOS 7 dưới dạng cài đặt cục bộ.
Điều kiện tiên quyết
-
Máy chủ CentOS 7 tốt nhất là thiết lập bằng các khóa SSH và được tùy chỉnh bằng Cài đặt ban đầu của Máy chủ CentOS 7 . Đăng nhập vào máy chủ bằng tài khoản người dùng chuẩn. Giả sử tên người dùng là joe .
ssh -l joe server-ip-address
Bước 1: Cài đặt các gói cần thiết
OSSEC sẽ được biên dịch từ nguồn, vì vậy bạn cần một trình biên dịch để thực hiện điều đó. Nó cũng đòi hỏi một gói bổ sung cho các thông báo. Cài đặt chúng bằng cách gõ:
sudo yum install -y gcc inotify-tools
Bước 2 - Tải xuống và xác minh OSSEC
OSSEC được phân phối dưới dạng tarball nén phải được tải xuống từ trang web của dự án. Tệp tổng kiểm tra, sẽ được sử dụng để xác minh rằng tarball không bị giả mạo, cũng phải được tải xuống. Tại thời điểm xuất bản này, phiên bản mới nhất của OSSEC là 2.8.2. Kiểm tra trang tải xuống của dự án và tải xuống bất kể phiên bản mới nhất là gì.
Để tải tarball, gõ:
wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2.tar.gz
Đối với tệp tổng kiểm tra, gõ:
wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.2-checksum.txt
Với cả hai tệp được tải xuống, bước tiếp theo là xác minh tổng kiểm MD5 và SHA1 của tarball. Đối với MD5sum, gõ:
md5sum -c ossec-hids-2.8.2-checksum.txt
Sản lượng dự kiến là:
ossec-hids-2.8.2.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted
Để xác minh hàm băm SHA1, gõ:
sha1sum -c ossec-hids-2.8.2-checksum.txt
Và sản lượng dự kiến của nó là:
ossec-hids-2.8.2.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted
Bước 3: Xác định máy chủ SMTP của bạn
Trong quá trình cài đặt của OSSEC, bạn sẽ được nhắc chỉ định máy chủ SMTP cho địa chỉ email của mình. Nếu bạn không biết nó là gì, phương pháp dễ nhất để tìm hiểu là bằng cách phát lệnh này từ máy cục bộ của bạn (thay thế địa chỉ email giả bằng địa chỉ thật của bạn):
dig -t mx [email protected]
Phần có liên quan trong đầu ra được hiển thị trong khối mã này. Trong đầu ra mẫu này, máy chủ SMTP cho địa chỉ email được yêu cầu nằm ở cuối dòng - mail.vivaldi.net. . Lưu ý rằng dấu chấm ở cuối được bao gồm.
;; ANSWER SECTION:
vivaldi.net. 300 IN MX 10 mail.vivaldi.net.
Bước 4: Cài đặt OSSEC
Để cài đặt OSSEC, trước tiên bạn cần giải nén tarball mà bạn thực hiện bằng cách nhập:
tar xf ossec-hids-2.8.2.tar.gz
Nó sẽ được giải nén vào một thư mục mang tên và phiên bản của chương trình. Thay đổi hoặc cd
vào nó. OSSEC 2.8.2, phiên bản được cài đặt cho bài viết này, có một lỗi nhỏ cần được sửa trước khi bắt đầu cài đặt. Vào thời điểm phiên bản ổn định tiếp theo được phát hành, đó là OSSEC 2.9, điều này không cần thiết, bởi vì bản sửa lỗi đã có trong nhánh chính. Sửa nó cho OSSEC 2.8.2 chỉ có nghĩa là chỉnh sửa một tệp, được tìm thấy trong active-response
thư mục. Các tập tin là hosts-deny.sh
, vì vậy hãy mở nó bằng cách sử dụng:
nano active-response/hosts-deny.sh
Đến cuối tập tin, hãy tìm khối mã này:
# Deleting from hosts.deny
elif [ "x$" = "xdelete" ]; then
lock;
TMP_FILE = `mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
if [ "X$" = "X" ]; then
# Cheap fake tmpfile, but should be harder then no random data
TMP_FILE = "/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
fi
Trên các dòng bắt đầu bằng TMP_FILE , xóa các khoảng trắng xung quanh dấu = . Sau khi xóa khoảng trắng, phần đó của tệp sẽ được hiển thị trong khối mã bên dưới. Lưu và đóng tập tin.
# Deleting from hosts.deny
elif [ "x$" = "xdelete" ]; then
lock;
TMP_FILE=`mktemp /var/ossec/ossec-hosts.XXXXXXXXXX`
if [ "X$" = "X" ]; then
# Cheap fake tmpfile, but should be harder then no random data
TMP_FILE="/var/ossec/ossec-hosts.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -1 `"
fi
Bây giờ đã có bản sửa lỗi, chúng tôi có thể bắt đầu quá trình cài đặt mà bạn thực hiện bằng cách nhập:
sudo ./install.sh
Trong suốt quá trình cài đặt, bạn sẽ được nhắc cung cấp một số đầu vào. Trong hầu hết các trường hợp, bạn chỉ phải nhấn ENTER để chấp nhận mặc định. Đầu tiên, bạn sẽ được nhắc chọn ngôn ngữ cài đặt, theo mặc định, là tiếng Anh (en). Vì vậy, nhấn ENTER nếu đó là ngôn ngữ ưa thích của bạn. Nếu không, hãy nhập 2 chữ cái từ danh sách các ngôn ngữ được hỗ trợ. Sau đó, nhấn ENTER lại.
Câu hỏi đầu tiên sẽ hỏi bạn loại cài đặt nào bạn muốn. Ở đây, nhập địa phương .
1- What kind of installation do you want (server, agent, local, hybrid or help)? local
Đối với các câu hỏi tiếp theo, nhấn ENTER để chấp nhận mặc định. Câu hỏi 3.1 sẽ nhắc bạn về địa chỉ email của bạn và sau đó yêu cầu máy chủ SMTP của bạn. Đối với câu hỏi đó, nhập địa chỉ email hợp lệ và máy chủ SMTP bạn đã xác định trong Bước 3.
3- Configuring the OSSEC HIDS.
3.1- Do you want e-mail notification? (y/n) [y]:
- What's your e-mail address? [email protected]
- What's your SMTP server ip/host?
Nếu cài đặt thành công, bạn sẽ thấy đầu ra này:
- Configuration finished properly.
...
More information can be found at http://www.ossec.net
--- Press ENTER to finish (maybe more information below). ---
Nhấn ENTER để hoàn tất cài đặt.
Bước 5: Bắt đầu OSSEC
OSSEC đã được cài đặt, nhưng chưa bắt đầu. Để bắt đầu, đầu tiên hãy chuyển sang tài khoản root.
sudo su
Sau đó, bắt đầu nó bằng cách ban hành lệnh sau.
/var/ossec/bin/ossec-control start
Sau đó, kiểm tra Hộp thư đến của bạn. Cần có một cảnh báo từ OSSEC thông báo cho bạn rằng nó đã được bắt đầu. Cùng với đó, bây giờ bạn biết rằng OSSEC đã được cài đặt và sẽ gửi thông báo khi cần.
Bước 6: Tùy chỉnh OSSEC
Cấu hình mặc định của OSSEC hoạt động tốt, nhưng có những cài đặt bạn có thể điều chỉnh để làm cho nó bảo vệ máy chủ của bạn tốt hơn. Tệp đầu tiên để tùy chỉnh là tệp cấu hình chính - ossec.conf
mà bạn sẽ tìm thấy trong /var/ossec/etc
thư mục. Mở tập tin:
nano /var/ossec/etc/ossec.conf
Mục đầu tiên để xác minh là cài đặt email, bạn sẽ tìm thấy trong phần toàn cầu của tệp:
<global>
<email_notification>yes</email_notification>
<email_to>[email protected]</email_to>
<smtp_server>mail.vivaldi.net.</smtp_server>
<email_from>[email protected]</email_from>
</global>
Đảm bảo rằng địa chỉ email_from là một email hợp lệ. Mặt khác, một số máy chủ SMTP của nhà cung cấp email sẽ đánh dấu các cảnh báo từ OSSEC là Spam. Nếu FQDN của máy chủ không được đặt, phần tên miền của email được đặt thành tên máy chủ của máy chủ, vì vậy đây là cài đặt mà bạn thực sự muốn có một địa chỉ email hợp lệ.
Một cài đặt khác mà bạn muốn tùy chỉnh, đặc biệt là trong khi kiểm tra hệ thống, là tần suất mà OSSEC chạy kiểm toán. Cài đặt đó nằm trong phần syscheck và theo mặc định, nó được chạy cứ sau 22 giờ. Để kiểm tra các tính năng cảnh báo của OSSEC, bạn có thể muốn đặt nó ở giá trị thấp hơn, nhưng đặt lại về mặc định sau đó.
<syscheck>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<frequency>79200</frequency>
Theo mặc định, OSSEC không cảnh báo khi một tệp mới được thêm vào máy chủ. Để thay đổi điều đó, hãy thêm một thẻ mới ngay dưới thẻ <tần số> . Khi hoàn thành, phần này sẽ chứa:
<syscheck>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<frequency>79200</frequency>
<alert_new_files>yes</alert_new_files>
Một cài đặt cuối cùng tốt để thay đổi là trong danh sách các thư mục mà OSSEC nên kiểm tra. Bạn sẽ tìm thấy chúng ngay sau khi thiết lập trước đó. Được mặc định, các thư mục được hiển thị 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>
Sửa đổi cả hai dòng để thực hiện thay đổi báo cáo OSSEC trong thời gian thực. Khi kết thúc, họ nên đọc:
<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>
Lưu và đóng tập tin.
Các tập tin tiếp theo mà chúng tôi cần phải sửa đổi là local_rules.xml
trong /var/ossec/rules
thư mục. Vì vậy, cd
vào thư mục đó:
cd /var/ossec/rules
Thư mục đó chứa các tệp quy tắc của OSSEC, không có tệp nào được sửa đổi, ngoại trừ local_rules.xml
tệp. Trong tập tin đó, chúng tôi thêm các quy tắc tùy chỉnh. Quy tắc chúng ta cần thêm là quy tắc kích hoạt khi một tệp mới được thêm vào. Quy tắc đó, được đánh số 554 , không kích hoạt cảnh báo theo mặc định. Đó là bởi vì OSSEC không gửi thông báo khi quy tắc với mức được đặt thành 0 được kích hoạt.
Đây là quy tắc 554 trông như thế nào theo 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>
Chúng ta cần thêm một phiên bản sửa đổi của quy tắc đó trong local_rules.xml
tệp. Phiên bản sửa đổi đó được đưa ra trong khối mã bên dưới. Sao chép và thêm nó vào dưới cùng của tập tin ngay trước thẻ đóng.
<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 tệp, sau đó khởi động lại OSSEC.
/var/ossec/bin/ossec-control restart
OSSEC là một phần mềm rất mạnh mẽ, và bài viết này chỉ cần chạm vào những điều cơ bản. Bạn sẽ tìm thấy nhiều cài đặt tùy chỉnh hơn trong tài liệu chính thức .