Tripwire là Hệ thống phát hiện xâm nhập Linux mã nguồn mở và miễn phí. Nó được sử dụng để phát hiện và báo cáo bất kỳ thay đổi trái phép nào trong các tệp và thư mục trên Linux. Nó cũng sẽ gửi cho bạn cảnh báo qua email về các thay đổi tệp/thư mục. Tripwire hoạt động bằng cách so sánh trạng thái hệ thống tệp hiện tại với trạng thái cơ sở đã biết và báo cáo nếu phát hiện bất kỳ thay đổi nào.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình Tripwire trên Debian 10.
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.
Trong quá trình cài đặt, bạn sẽ được yêu cầu chọn cấu hình email như hiển thị bên dưới:
Chọn tùy chọn mong muốn và nhấn ENTER. Bạn sẽ được yêu cầu thiết lập tên email hệ thống như hiển thị bên dưới:
Cung cấp tên email hệ thống của bạn và nhấn ENTER. Bạn sẽ được yêu cầu tạo cụm mật khẩu khóa trang web của mình như hiển thị bên dưới:
Chọn Có và nhấn ENTER. Bạn sẽ được yêu cầu xây dựng lại tệp cấu hình Tripwire như được hiển thị bên dưới:
Chọn Có và nhấn ENTER. Bạn sẽ được yêu cầu xây dựng lại tệp chính sách Tripwire của mình như được hiển thị bên dưới:
Chọn Có và nhấn ENTER. Bạn sẽ được yêu cầu cung cấp cụm mật khẩu khóa trang web của mình như được hiển thị bên dưới:
Cung cấp mật khẩu của bạn và nhấn ENTER. Bạn sẽ được yêu cầu đặt cụm mật khẩu khóa cục bộ của mình như được hiển thị bên dưới:
Cung cấp mật khẩu của bạn và nhấn ENTER. Sau khi Tripwire đã được cài đặt, bạn sẽ thấy màn hình sau:
Nhấp vào nút Ok để hoàn tất quá trình cài đặt.
Bạn sẽ thấy đầu ra sau:
Tiếp theo, chỉnh sửa tệp cấu hình Tripwire và đặt REPORTLEVEL thành 4
Thay đổi dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, tạo tệp cấu hình mới bằng lệnh sau:
Bạn sẽ được yêu cầu cung cấp mật khẩu trang web của mình như hiển thị bên dưới:
Tiếp theo, tạo tệp twpolmake.pl để tối ưu hóa chính sách Tripwire.
Thêm các dòng sau:
Lưu và đóng tệp sau đó tạo tệp cấu hình bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, tạo cơ sở dữ liệu Tripwire bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Bạn cũng có thể hiển thị cơ sở dữ liệu đã tạo bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Nếu bạn muốn cập nhật cơ sở dữ liệu Tripwire, hãy chạy lệnh sau:
Bạn sẽ nhận được thông báo sau đầu ra:
Bây giờ, hãy kiểm tra Tripwire bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Theo mặc định, các tệp báo cáo Tripwire nằm tại /var/lib/tripwire/report/:
Đầu ra:
Bạn có thể kiểm tra báo cáo này bằng lệnh sau:
Đầu tiên, hãy tạo một số tệp trong hệ thống của bạn bằng lệnh sau:
Bây giờ, hãy chạy Tripwire để kiểm tra xem Tripwire có phát hiện ra các tệp này hay không:
Bạn sẽ thấy các tệp mới được tạo trong đầu ra sau:
Bạn cũng có thể kiểm tra báo cáo đã tạo sau bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Tệp trên sẽ chạy Tripwire vào mỗi buổi sáng lúc 06:00 AM. Bạn có thể kiểm tra báo cáo đã tạo tại /var/lib/tripwire/report/.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình Tripwire trên Debian 10.
Điều kiện tiên quyết
- Máy chủ chạy Debian 10.
- Mật khẩu gốc được cấu hình trên máy chủ.
Bắt đầu
Trước tiên, hãy cập nhật các gói hệ thống lên phiên bản đã cập nhật bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Cài đặt Tripwire
Theo mặc định, gói Tripwire có sẵn trong kho lưu trữ mặc định của Debian 10. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install tripwire -y
Chọn tùy chọn mong muốn và nhấn ENTER. Bạn sẽ được yêu cầu thiết lập tên email hệ thống như hiển thị bên dưới:
Cung cấp tên email hệ thống của bạn và nhấn ENTER. Bạn sẽ được yêu cầu tạo cụm mật khẩu khóa trang web của mình như hiển thị bên dưới:
Chọn Có và nhấn ENTER. Bạn sẽ được yêu cầu xây dựng lại tệp cấu hình Tripwire như được hiển thị bên dưới:
Chọn Có và nhấn ENTER. Bạn sẽ được yêu cầu xây dựng lại tệp chính sách Tripwire của mình như được hiển thị bên dưới:
Chọn Có và nhấn ENTER. Bạn sẽ được yêu cầu cung cấp cụm mật khẩu khóa trang web của mình như được hiển thị bên dưới:
Cung cấp mật khẩu của bạn và nhấn ENTER. Bạn sẽ được yêu cầu đặt cụm mật khẩu khóa cục bộ của mình như được hiển thị bên dưới:
Cung cấp mật khẩu của bạn và nhấn ENTER. Sau khi Tripwire đã được cài đặt, bạn sẽ thấy màn hình sau:
Nhấp vào nút Ok để hoàn tất quá trình cài đặt.
Cấu hình Tripwire
Tiếp theo, bạn sẽ cần tạo khóa Tripwire và khởi tạo cơ sở dữ liệu. Trước tiên, hãy thay đổi thư mục thành Tripwire và liệt kê tất cả các khóa và tệp bằng lệnh sau:
Mã:
cd /etc/tripwire/
ls
Mã:
debian10-local.key site.key tw.cfg twcfg.txt tw.pol twpol.txt
Mã:
nano /etc/tripwire/twcfg.txt
Mã:
REPORTLEVEL =4
Tiếp theo, tạo tệp cấu hình mới bằng lệnh sau:
Mã:
twadmin -m F -c tw.cfg -S site.key twcfg.txt
Mã:
Vui lòng nhập mật khẩu trang web của bạn:Đã viết tệp cấu hình: /etc/tripwire/tw.cfg
Mã:
nano twpolmake.pl
Mã:
#!/usr/bin/perl$POLFILE=$ARGV[0];open(POL,"$POLFILE") or die "open error: $POLFILE" ;my($myhost,$thost) ;my($sharp,$tpath,$cond) ;my($INRULE) = 0 ;while (
) { chomp; if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) { $myhost = `hostname` ; chomp($myhost) ; nếu ($thost ne $myhost) { $_="HOSTNAME=\"$myhost\";" ; } } nếu không ( /^{/ ) { $INRULE=1 ; } nếu không ( /^}/ ) { $INRULE=0 ; } nếu không ($INRULE == 1 và ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) { $ret = ($sharp =~ s/\#//g) ; nếu ($tpath eq '/sbin/e2fsadm' ) { $cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ; } nếu (! -s $tpath) { $_ = "$sharp#$tpath$cond" nếu ($ret == 0) ; } else { $_ = "$sharp$tpath$cond" ; } } print "$_\n" ;}close(POL) ;
Mã:
perl twpolmake.pl twpol.txt > twpol.txt.new
twadmin -m P -c tw.cfg -p tw.pol -S site.key twpol.txt.new
Mã:
Vui lòng nhập mật khẩu trang web của bạn:Đã viết tệp chính sách: /etc/tripwire/tw.pol
Mã:
tripwire -m i -s -c tw.cfg
Mã:
Vui lòng nhập mật khẩu cục bộ của bạn:### Cảnh báo: Lỗi hệ thống tệp.### Tên tệp: /var/lib/tripwire/debian10.twd### Không có tệp hoặc thư mục nào như vậy### Đang tiếp tục...
Mã:
twprint -m d -d /var/lib/tripwire/debian10.twd
Mã:
Cơ sở dữ liệu Tripwire(R) 2.4.3.7 mã nguồn mởCơ sở dữ liệu được tạo bởi: rootCơ sở dữ liệu được tạo vào lúc: CN 09 tháng 5 năm 2021 08:39:18 AM UTCCơ sở dữ liệu được cập nhật lần cuối vào lúc: Không bao giờ=====================================================================================Cơ sở dữ liệu Tóm tắt:=================================================================================Tên máy chủ: debian10Địa chỉ IP máy chủ: 45.58.38.142ID máy chủ: Không cóTệp chính sách được sử dụng: /etc/tripwire/tw.polTệp cấu hình được sử dụng: /etc/tripwire/tw.cfgTệp cơ sở dữ liệu được sử dụng: /var/lib/tripwire/debian10.twdDòng lệnh được sử dụng: tripwire -m i -s -c tw.cfg==============================================================================Tóm tắt đối tượng:=======================================================================================----------------------------------------------------------------------------------# Mục: Hệ thống tệp Unix----------------------------------------------------------------------------------
Mã:
tripwire --update --accept-all
Mã:
### Lỗi: Không thể mở tệp.### Tên tệp: /var/lib/tripwire/report/debian10-20210509-084141.twr### Không có tệp hoặc thư mục nào như vậy### Đang thoát...
Mã:
tripwire -m c -s -c /etc/tripwire/tw.cfg
Mã:
Báo cáo kiểm tra tính toàn vẹn Tripwire(R) 2.4.3.7 nguồn mởBáo cáo được tạo bởi: rootBáo cáo được tạo vào lúc: CN 09 tháng 05 năm 2021 08:42:15 AM UTCCơ sở dữ liệu được cập nhật lần cuối vào lúc: Không bao giờ===========================================================================Tóm tắt báo cáo:=================================================================================Tên máy chủ: debian10Địa chỉ IP máy chủ: 45.58.38.142ID máy chủ: Không cóTệp chính sách đã sử dụng: /etc/tripwire/tw.polTệp cấu hình đã sử dụng: /etc/tripwire/tw.cfgTệp cơ sở dữ liệu đã sử dụng: /var/lib/tripwire/debian10.twdDòng lệnh được sử dụng: tripwire -m c -s -c /etc/tripwire/tw.cfg===============================================================================Tóm tắt quy tắc:=======================================================================================------------------------------------------------------------------------------- Phần: Hệ thống tệp Unix------------------------------------------------------------------------------- Tên quy tắc Mức độ nghiêm trọng Đã thêm Đã xóa Đã sửa đổi --------- -------------- ----- ------- -------- Các tệp nhị phân khác 66 0 0 0 Tệp nhị phân Tripwire 100 0 0 0 Các thư viện khác 66 0 0 0 Tệp thực thi hệ thống tệp gốc 100 0 0 0* Tệp dữ liệu Tripwire 100 1 0 0 Thay đổi khởi động hệ thống 100 0 0 0 Thư viện hệ thống tệp gốc 100 0 0 0 (/lib) Tệp khởi động hệ thống quan trọng 100 0 0 0* Tệp cấu hình khác 66 0 0 1 (/etc) Tập lệnh khởi động 100 0 0 0 Kiểm soát bảo mật 66 0 0 0 Tệp cấu hình gốc 100 0 0 0 Thiết bị & Thông tin hạt nhân 100 0 0 0 (/dev) Thư mục bất biến 66 0 0 0Tổng số đối tượng đã quét: 27975Tổng số vi phạm được tìm thấy: 2=============================================================================Tóm tắt đối tượng:===============================================================================================----------------------------------------------------------------------------------# Phần: Tệp Unix Hệ thống-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Tên quy tắc: Tệp dữ liệu Tripwire (/var/lib/tripwire/debian10.twd)Mức độ nghiêm trọng: 100-----------------------------------------------------------------------------------------------
Mã:
ls /var/lib/tripwire/report/
Mã:
debian10-20210509-084215.twr
Mã:
twprint -m r -t 4 -r /var/lib/tripwire/report/debian10-20210509-084215.twr
Xác minh Tripwire IDS
Tại tại thời điểm này, Tripwire đã được cài đặt và cấu hình. Bây giờ, đã đến lúc kiểm tra xem Tripwire có hoạt động hay không.Đầu tiên, hãy tạo một số tệp trong hệ thống của bạn bằng lệnh sau:
Mã:
touch fil1 file2 file3 file4 file5
Mã:
tripwire --check --interactive
Mã:
Báo cáo kiểm tra tính toàn vẹn Tripwire(R) 2.4.3.7 nguồn mởBáo cáo được tạo bởi: rootBáo cáo được tạo vào: CN 09 tháng 5 năm 2021 08:46:36 AM UTCCơ sở dữ liệu được cập nhật lần cuối vào: Không bao giờ===============================================================================Tóm tắt báo cáo:===============================================================================Tên máy chủ: debian10Địa chỉ IP máy chủ địa chỉ: 45.58.38.142ID máy chủ: Không cóTệp chính sách đã sử dụng: /etc/tripwire/tw.polTệp cấu hình đã sử dụng: /etc/tripwire/tw.cfgTệp cơ sở dữ liệu đã sử dụng: /var/lib/tripwire/debian10.twdDòng lệnh đã sử dụng: tripwire --check --interactive================================================================================================-----------------------------------------------------------------------------------------------Tên quy tắc: Các tệp cấu hình khác (/etc)Mức độ nghiêm trọng: 66-----------------------------------------------------------------------------------------------Xóa "x" khỏi hộp bên cạnh để ngăn cập nhật cơ sở dữ liệuvới các giá trị mới cho đối tượng này.Đã sửa đổi:[x] "/etc/tripwire"------------------------------------------------------------------------------------------Tên quy tắc: Tệp cấu hình gốc (/root)Mức độ nghiêm trọng: 100------------------------------------------------------------------------------------------Xóa "x" khỏi hộp bên cạnh để ngăn cập nhật cơ sở dữ liệuvới các giá trị mới cho đối tượng này.Đã thêm:[x] "/root/file4"[x] "/root/file3"[x] "/root/fil1"[x] "/root/file2"[x] "/root/file5"Đã sửa đổi:[x] "/root"===============================================================================================
Mã:
twprint --print-report --twrfile /var/lib/tripwire/report/debian10-20210509-084636.twr
Tự động hóa Tripwire Báo cáo
Bạn cũng có thể thiết lập một công việc cron để chạy Tripwire tại một thời điểm cụ thể. Bạn có thể thực hiện bằng lệnh sau:
Mã:
crontab -e
Mã:
00 06 * * * /usr/sbin/tripwire --check
Tệp trên sẽ chạy Tripwire vào mỗi buổi sáng lúc 06:00 AM. Bạn có thể kiểm tra báo cáo đã tạo tại /var/lib/tripwire/report/.