Cách giám sát và phát hiện các tệp đã sửa đổi bằng Tripwire IDS trên Ubuntu 16.04

theanh

Administrator
Nhân viên
Tripwire là Hệ thống phát hiện xâm nhập (IDS) miễn phí và mã nguồn mở. Đây là công cụ bảo mật để giám sát và cảnh báo các thay đổi tệp trên hệ thống. Tripwire là IDS mạnh mẽ bảo vệ hệ thống của bạn khỏi những thay đổi không mong muốn. Bạn có thể giám sát các tệp hệ thống của mình, bao gồm cả các tệp trang web. Vì vậy, khi có bất kỳ thay đổi tệp không mong muốn nào trong bất kỳ tệp nào đang được giám sát, tripwire sẽ kiểm tra hệ thống của bạn và sẽ cảnh báo bạn (nếu thiết lập đó được áp dụng).

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình Tripwire Host Based IDS trên Ubuntu 16.04. Chúng tôi cũng sẽ chỉ cho bạn cách cấu hình tripwire để theo dõi và phát hiện các tệp đã sửa đổi trên hệ thống.

Những gì chúng tôi sẽ làm​

  1. Cài đặt Tripwire
  2. Cấu hình chính sách Tripwire cho hệ thống Ubuntu
  3. Xác minh cấu hình Tripwire
  4. Thêm bộ quy tắc mới vào chính sách Tripwire
  5. Thiết lập thông báo Tripwire và cron

Điều kiện tiên quyết​

  • Máy chủ Ubuntu 16.04
  • Quyền root

Bước 1 - Cài đặt Tripwire​

Bước đầu tiên là cài đặt tripwire vào hệ thống. Công cụ này có sẵn trong kho lưu trữ Ubuntu chính thức - chỉ cần cập nhật kho lưu trữ Ubuntu của bạn và cài đặt Tripwire bằng các lệnh sau.
Mã:
sudo apt update
sudo apt install -y tripwire
Trong quá trình cài đặt, bạn sẽ được hỏi về cấu hình Postfix SMTP. Chọn 'Internet Site' và nhấp vào 'OK' để tiếp tục cài đặt.



Đối với tên hệ thống thư, hãy để mặc định (như hiển thị bên dưới) và chọn 'OK' để tiếp tục.



Tiếp theo, bạn sẽ được hỏi về cấu hình Tripwire.

Tạo 'site-key' mới cho Tripwire - chọn 'Yes' và nhấn Enter để tiếp tục.



Bây giờ đối với 'local-key', hãy chọn 'Yes' và nhấn Enter một lần nữa.



Đối với tùy chọn Rebuild Tripwire Configuration, hãy chọn 'Yes'.



Tương tự đối với tùy chọn Rebuild Tripwire Policy - hãy chọn 'Yes'.



Bây giờ bạn sẽ được nhắc nhập mật khẩu 'site-key'. Nhập mật khẩu và chọn 'OK'.



Lặp lại mật khẩu 'site-key'.



Sau đó, đối với mật khẩu 'local-key', nhập mật khẩu và chọn 'OK'.



Lặp lại mật khẩu 'local-key'.



Và bây giờ quá trình cài đặt tripwire trên Ubuntu 16.04 đã hoàn tất.


Bước 2 - Cấu hình chính sách Tripwire cho hệ thống Ubuntu​

Trong bước này, chúng ta sẽ cấu hình Tripwire cho hệ thống Ubuntu của mình. Mọi cấu hình liên quan đến Tripwire đều nằm trong thư mục '/etc/tripwire'.

Sau khi cài đặt Tripwire, chúng ta cần khởi tạo hệ thống cơ sở dữ liệu. Chạy lệnh sau cho nó.
Mã:
sudo tripwire --init
Bạn sẽ được hỏi về mật khẩu khóa cục bộ của mình - hãy nhập mật khẩu khóa cục bộ của bạn và nhấn Enter.

Và bạn có thể sẽ gặp lỗi 'Không có thư mục nào như vậy', như hiển thị bên dưới.



Để giải quyết lỗi này, chúng ta cần chỉnh sửa tệp cấu hình Tripwire và tạo lại cấu hình.

Trước khi chỉnh sửa cấu hình Tripwire, chúng ta cần kiểm tra xem thư mục nào không tồn tại, bạn có thể thực hiện việc này bằng lệnh sau.
Mã:
sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
Bây giờ bạn có thể xem tất cả các thư mục và tệp không tồn tại theo cách sau.
Mã:
cat no-directory.txt


Tiếp theo, hãy vào thư mục cấu hình Tripwire và chỉnh sửa tệp cấu hình twpol.txt.
Mã:
cd /etc/tripwire/
vim twpol.txt
Trên quy tắc 'Boot Scripts', hãy bình luận dòng như bên dưới.
Mã:
(
 rulename = "Boot Scripts",
 severity = $(SIG_HI)
 )
 {
 /etc/init.d -> $(SEC_BIN) ;
 #/etc/rc.boot -> $(SEC_BIN) ;
 /etc/rcS.d -> $(SEC_BIN) ;
Về quy tắc 'Thay đổi khởi động hệ thống', hãy bình luận như bên dưới.
Mã:
(
 rulename = "Thay đổi khởi động hệ thống",
 severity = $(SIG_HI)
 )
 {
 #/var/lock -> $(SEC_CONFIG) ;
 #/var/run -> $(SEC_CONFIG) ; # daemon PIDs
 /var/log -> $(SEC_CONFIG) ;
Trên quy tắc 'Tệp cấu hình gốc', hãy thực hiện thay đổi sau.
Mã:
(
 rulename = "Tệp cấu hình gốc",
 severity = 100
 )
 {
 /root -> $(SEC_CRIT) ; # Bắt tất cả các phần bổ sung vào /root
 #/root/mail -> $(SEC_CONFIG) ;
 #/root/Mail -> $(SEC_CONFIG) ;
 #/root/.xsession-errors -> $(SEC_CONFIG) ;
 #/root/.xauth -> $(SEC_CONFIG) ;
 #/root/.tcshrc -> $(SEC_CONFIG) ;
 #/root/.sawfish -> $(SEC_CONFIG) ;
 #/root/.pinerc -> $(SEC_CONFIG) ;
 #/root/.mc -> $(SEC_CONFIG) ;
 #/root/.gnome_private -> $(SEC_CONFIG) ;
 #/root/.gnome-desktop -> $(SEC_CONFIG) ;
 #/root/.gnome -> $(SEC_CONFIG) ;
 #/root/.esd_auth -> $(SEC_CONFIG) ;
 #/root/.elm -> $(SEC_CONFIG) ;
 #/root/.cshrc -> $(SEC_CONFIG) ;
 /root/.bashrc -> $(SEC_CONFIG) ;
 #/root/.bash_profile -> $(SEC_CONFIG) ;
 #/root/.bash_logout -> $(SEC_CONFIG) ;
 /root/.bash_history -> $(SEC_CONFIG) ;
 #/root/.amandahosts -> $(SEC_CONFIG) ;
 #/root/.addressbook.lu -> $(SEC_CONFIG) ;
 #/root/.addressbook -> $(SEC_CONFIG) ;
 #/root/.Xresources -> $(SEC_CONFIG) ;
 #/root/.Xauthority -> $(SEC_CONFIG) -i ; # Thay đổi số Inode khi đăng nhập
 #/root/.ICEauthority -> $(SEC_CONFIG) ;
Trên quy tắc 'Thông tin thiết bị và hạt nhân', hãy thay đổi dòng như bên dưới.
Mã:
(
 rulename = "Thiết bị và thông tin hạt nhân",
 severity = $(SIG_HI),
 )
 {
 /dev -> $(Device) ;
 /dev/pts -> $(Device);
 /dev/shm -> $(Device);
 /dev/hugepages -> $(Device);
 /dev/mqueue -> $(Device);
 #/proc -> $(Device) ;
 /proc/devices -> $(Device) ;
 /proc/net -> $(Thiết bị) ;
 /proc/tty -> $(Thiết bị) ;
 /proc/cpuinfo -> $(Thiết bị) ;
 /proc/modules -> $(Thiết bị) ;
 /proc/mounts -> $(Thiết bị) ;
 /proc/dma -> $(Thiết bị) ;
 /proc/filesystems -> $(Thiết bị) ;
 /proc/interrupts -> $(Thiết bị) ;
 /proc/ioports -> $(Thiết bị) ;
 /proc/scsi -> $(Thiết bị) ;
 /proc/kcore -> $(Thiết bị) ;
 /proc/self -> $(Thiết bị) ;
 /proc/kmsg -> $(Device) ;
 /proc/stat -> $(Device) ;
 /proc/loadavg -> $(Device) ;
 /proc/uptime -> $(Device) ;
 /proc/locks -> $(Device) ;
 /proc/meminfo -> $(Device) ;
 /proc/misc -> $(Device) ;
 }
Vậy là xong. Lưu các thay đổi và thoát khỏi trình chỉnh sửa.

Sau khi chỉnh sửa tệp cấu hình, hãy triển khai tất cả các thay đổi bằng cách tạo lại tệp chính sách đã mã hóa bằng lệnh twadmin như được hiển thị bên dưới.
Mã:
sudo twadmin -m P /etc/tripwire/twpol.txt
Nhập mật khẩu 'site-key' và nhấn Enter.

Với lệnh này, chính sách Tripwire mới sẽ được tạo. Bây giờ, hãy khởi tạo lại cơ sở dữ liệu Tripwire.
Mã:
sudo tripwire --init
Nhập mật khẩu khóa cục bộ của bạn và đảm bảo lần này bạn không gặp lỗi nào.



Chính sách Tripwire đã được định cấu hình cho hệ thống Ubuntu

Bước 3 - Kiểm tra tính toàn vẹn của các tệp hệ thống​

Tripwire đã được cài đặt và chính sách tripwire đã được cập nhật và khởi tạo lại. Ở bước này, chúng ta sẽ kiểm tra hệ thống thủ công bằng Tripwire.

Xác minh tất cả các tệp hệ thống bằng lệnh sau.
Mã:
sudo tripwire --check
Và bạn sẽ nhận được 'No Violation' và 'No Error' trong kết quả/đầu ra.



Tiếp theo, thêm một tệp mới vào thư mục gốc rồi kiểm tra lại hệ thống bằng Tripwire.
Mã:
cd ~/
touch hakase-labs.txt
Mã:
sudo tripwire --check
Và trong đầu ra, việc thêm tệp và sửa đổi thư mục chứa tệp sẽ hiển thị là vi phạm.

Xem kết quả bên dưới.


Bước 4 - Thêm quy tắc mới vào Tripwire​

Trong Bước 1, chúng ta muốn thêm một Tripwire Rule mới vào cấu hình. Để tạo chính sách tripwire mới, chúng ta cần xác định tên quy tắc, mức độ nghiêm trọng và loại tệp. Trong bước này, chúng ta sẽ thử thêm quy tắc mới có tên 'Wordpress Data' với mức độ nghiêm trọng 'High/SIG_HI' và tất cả các tệp trong thư mục đó là quan trọng không thể thay đổi.

Đi đến thư mục cấu hình tripwire và chỉnh sửa tệp cấu hình 'twpol.txt'.
Mã:
cd /etc/tripwire/
vim twpol.txt
Đi đến cuối dòng và dán mẫu quy tắc Tripwire bên dưới.
Mã:
# Ruleset cho Wordpress
(
 rulename = "Wordpress Ruleset",
 severity= $(SIG_HI)
)
{
 /var/www -> $(SEC_CRIT);
}
Lưu và thoát.

Bây giờ hãy tạo lại tệp cấu hình tripwire.
Mã:
sudo twadmin -m P /etc/tripwire/twpol.txt
Nhập cụm mật khẩu khóa trang web của bạn.

Và khởi tạo lại cơ sở dữ liệu Tripwire.
Mã:
sudo tripwire --init
Nhập cụm mật khẩu khóa cục bộ của bạn.



Nếu tất cả các cấu hình đó đã hoàn tất, chúng ta có thể thử tạo một tệp mới hoặc sửa đổi tệp trong thư mục '/var/www/'.

Đi tới thư mục '/var/www/', tạo một tệp mới và sửa đổi tệp chỉ mục.
Mã:
cd /var/www/
touch hakase-labs.txt
echo "[HEADING=1] Hakase-labs Tutorial[/HEADING]" > html/index.nginx-debian.html
Kiểm tra hệ thống bằng lệnh tripwire bên dưới.
Mã:
sudo tripwire --check
Và bạn sẽ nhận được thông báo về các vi phạm hệ thống với mức bảo mật 100 như bên dưới.



Một Quy tắc Tripwire mới đã được thêm vào.

Bước 5 - Thiết lập thông báo Tripwire và cron​

Trong bước này, chúng ta sẽ cấu hình thông báo cho chính sách bộ quy tắc Tripwire cụ thể và cấu hình cron để kiểm tra hệ thống tự động.

Đối với thông báo qua email, Tripwire cung cấp hàm 'emailto' trong cấu hình. Tripwire sử dụng Postfix để thông báo qua email và hàm này được cài đặt tự động trong quá trình cài đặt công cụ.

Trước khi cấu hình thông báo qua email, hãy kiểm tra thông báo Tripwire bằng lệnh bên dưới.
Mã:
tripwire --test --email [emailprotected]
Và hãy đảm bảo rằng bạn có email từ máy chủ của mình, như được hiển thị bên dưới.



Bây giờ hãy đến thư mục '/etc/tripwire' và chỉnh sửa cấu hình 'twpol.txt'.
Mã:
cd /etc/tripwire/
vim twpol.txt
Thêm dòng mới bên trong quy tắc 'Wordpress Data', như được hiển thị bên dưới.
Mã:
# Quy tắc cho ứng dụng web
 (
 rulename = "Wordpress Rule",
 severity = $(SIG_HI),
 emailto = [emailprotected]
 )
Vậy là xong. Lưu và thoát.



Tiếp theo, tạo lại cấu hình và khởi tạo lại cơ sở dữ liệu Tripwire.
Mã:
sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init
Nhập cụm mật khẩu site-key để tạo lại cấu hình và cụm mật khẩu local-key để khởi tạo lại.

Bây giờ, tạo lại một tệp mới trong thư mục '/var/www/' và kiểm tra hệ thống theo cách thủ công bằng Tripwire và gửi báo cáo qua email.
Mã:
sudo tripwire --check --email-report
Và bạn sẽ nhận được báo cáo qua email trong hộp thư đến của mình.



Tiếp theo, đối với cấu hình cron, chúng ta chỉ cần xác định thời điểm lệnh tripwire sẽ chạy. Chúng tôi sẽ cấu hình kiểm tra hệ thống Tripwire hàng ngày.

Tạo cron mới bằng lệnh crontab bên dưới.
Mã:
sudo crontab -e -u root
Và dán cấu hình cron bên dưới.
Mã:
0 0 * * * tripwire --check --email-report


Lưu và thoát, sau đó tải lại cron.
Mã:
systemctl restart cron


Bây giờ hệ thống sẽ thực hiện kiểm tra hàng ngày và gửi thông báo về vi phạm quy tắc 'Wordpress' đến email của bạn.

Tripwire IDS đã được cài đặt và cấu hình trên Ubuntu 16.04 và tất cả các tệp và thư mục trên hệ thống đã được theo dõi. Bạn có thể thêm bộ quy tắc của riêng mình bằng cách làm theo hướng dẫn ở bước 4.

Tham khảo​

 
Back
Bên trên