Biên dịch và cài đặt PSAD cho tường lửa IPFire

theanh

Administrator
Nhân viên
Giới thiệu

Bài viết này nói về việc biên dịch và cài đặt PSAD (Port Scan Attack Detector) cho IPFire (tường lửa dựa trên Linux). Tuy nhiên, một môi trường phát triển cho IPFire sẽ được thiết lập để biên dịch plugin mới (PSAD trong trường hợp này). Chi tiết về cấu hình và cách sử dụng công cụ PSAD có trong bài viết trước của chúng tôi.


Thiết lập Môi trường Phát triển IPFire

Các điều kiện tiên quyết cho môi trường phát triển của IPFire bao gồm:
  • Hệ điều hành Ubuntu 16.04 LTS với các bản cập nhật mới nhất
  • Cài đặt các gói cần thiết sau
Mã:
git gcc g++ make bzip2 realpath
  • Các tài nguyên phần cứng như dung lượng đĩa 5-6 GB và RAM 6 GB để giảm thời gian biên dịch.
Tương tự như vậy, môi trường phát triển IPFire có thể được thiết lập trên các bản phân phối Linux khác. Cài đặt các gói sau đây cần thiết cho việc biên dịch mã nguồn trên bản phân phối Ubuntu. Công cụ Git được sử dụng để sao chép mã nguồn trên hệ thống phát triển.
Mã:
aptitude install git gcc g++ make bzip2 realpath

Cây nguồn IPFire​

Hiện tại, có hai kho lưu trữ mã nguồn IPFire sau đây trên trang github.
  • IPFire 2.x (đã phát hành bản ổn định)
  • IPFire 3.x
Trong hướng dẫn, chúng tôi đã xem xét kho lưu trữ mã nguồn IPfire 2.x để biên dịch plugin mới.
Mã:
git clone git://git.ipfire.org/ipfire-2.x.git


Ảnh chụp nhanh sau đây hiển thị các bản cập nhật mới nhất trong kho lưu trữ IPFire-2.x



Ở bước tiếp theo, hãy chạy lệnh sau để tải xuống mã nguồn của các gói IPFire.

./make.sh downloadsrc



Máy hiện tại là 64 bit nên bây giờ chuỗi công cụ được biên dịch trước sẽ được tải xuống để biên dịch nguồn. Lệnh sau được sử dụng để tải toolchain trên hệ thống phát triển.

./make.sh gettoolchain



Sau khi sao chép thành công IPFire, tải xuống các gói nguồn và toolchain, bước tiếp theo là bắt đầu quá trình xây dựng. Đầu tiên, tường lửa IPFire sẽ được biên dịch mà không có bất kỳ thay đổi nào. Sau đó, plugin mong muốn sẽ được bao gồm và biên dịch lại để tạo gói PSAD cho môi trường IPFire. Một gói mới được tạo với phần mở rộng ipfire sẽ được chuyển đến IPFire VM để cài đặt gói PSAD.

Biên dịch IPFire​

Bước cuối cùng là chạy lệnh sau để xây dựng mã nguồn. Đảm bảo có đủ dung lượng đĩa trên hệ thống phát triển và lệnh build được chạy dưới quyền người dùng root.

./make.sh build

Đối với hệ thống 32 bit.
Mã:
linux32 ./make.sh build


Quá trình build lần đầu sẽ mất vài giờ để hoàn tất. Tuy nhiên, có thể rút ngắn thời gian bằng cách sử dụng tài nguyên phần cứng tốt trên hệ thống phát triển. Tập lệnh xây dựng IPFire thực hiện theo bốn giai đoạn sau.
  1. Xây dựng LFS (Xây dựng hệ thống Linux từ đầu) và nó chứa các tập lệnh để cài đặt các gói.
  2. Xây dựng IPFire
  3. Xây dựng trình cài đặt
  4. Xây dựng các gói




Ảnh chụp nhanh sau đây hiển thị bước Xây dựng LFS.




Bước xây dựng IPFire được hiển thị bên dưới.



Ảnh chụp nhanh sau đây hiển thị bước xây dựng Trình cài đặt.



Cuối cùng, quá trình biên dịch các gói của quá trình xây dựng.


Quá trình biên dịch IPFire sẽ mất nhiều giờ (13 giờ trong trường hợp này) như được hiển thị trong ảnh chụp màn hình sau.​



Cuối cùng, quá trình xây dựng IPFire script tạo ra các tệp đầu ra iso, xen và img như hiển thị bên dưới. Build script cũng tính toán checksum md5 của tệp iso đã tạo.



Cuối cùng, quá trình biên dịch IPfire từ mã nguồn đã hoàn tất và sẵn sàng để cài đặt trong VM. Nên đăng nhập với tư cách là root trên hệ thống phát triển để chạy quy trình build.


Cài đặt IPFire​

Tường lửa IPFire có thể được thiết lập bằng iso do build script tạo ra. Các bước chi tiết về cài đặt IPFire không có trong hướng dẫn này. Sau khi cài đặt, các cửa sổ sau sẽ xuất hiện hiển thị phiên bản Linux Kernel (3.14.73-ipfire 1686).



Giao diện web của thiết bị IPFire được truy cập bằng địa chỉ IP (192.168.1.150:444) của giao diện màu xanh lá cây. Thông tin phiên bản IPFire cũng được cung cấp trên menu phụ Fireinfo.




Xây dựng tiện ích bổ sung PSAD​

Trực tiếp, công cụ PSAD không thể được biên dịch trên IPFire. Vì vậy, hệ thống phát triển cần phải biên dịch mã nguồn của tiện ích bổ sung mới cho nền tảng IPFire. Môi trường phát triển của IPFire đã được thiết lập trong phần trên.

Sau đây là các yêu cầu để biên dịch mã nguồn mới trên môi trường phát triển IPFire.
  • Tạo mộttập lệnh biên dịch cho tiện ích bổ sung hoặc gói mong muốn và đặt nó vào thư mục lfs\ (trong ipfire-2.x\lfs\)
  • Thêm tập lệnh tiện ích bổ sung vào tập lệnh xây dựng make.sh
Tập lệnh biên dịch cho PSAD được tạo cho gói psad-2.4.1.tar.gz.Tải xuống tập lệnh lfs và đặt nó vào thư mục lfs bên trong ipfire-2.x và tổng kiểm tra MD5 được tạo cho psad-2.4.1.tar.gz trong tập lệnh lfs.



Tập lệnh lfs PSAD được hiển thị trong các ảnh chụp nhanh sau.





Sửa đổi trong Tập lệnh xây dựng make.sh cho tiện ích bổ sung PSAD được hiển thị bên dưới.




Để biên dịch tiện ích bổ sung mới, lệnh xây dựng sau sẽ được chạy hai lần. Như được hiển thị trong ảnh chụp màn hình, psad đã được đưa thành công vào tập lệnh dựng.

./make build



Đầu ra của lệnh dựng đầu tiên được hiển thị trong hình sau, trong đó tệp gốc cho PSAD bị thiếu.



Tên của tệp gốc bổ trợ giống với tên gói/tệp (psad-2.41) và tồn tại bên trong thư mục log.



Như được hiển thị trong hình sau, hãy sao chép tệp psad-2.4.1 vào config/rootfiles/packagespath và đổi tên thành lfs của tên gói/tệp được đặt trong thư mục lfs.



cp log/psad-2.4.1 config/rootfiles/packages/psad

Rootfile của tiện ích bổ sung chứa danh sách tất cả các tệp đã bị xóa, thay đổi hoặc thêm vào bởi tập lệnh cài đặt.Chạy lệnh sau để xóa "+" khỏi tệp gốc của PSAD như được hiển thị bên dưới.

sed -i 's/+//g' config/rootfiles/packages/psad



Cần phải bao gồm PakFire (hệ thống quản lý gói IPFire) như cài đặt, gỡ cài đặt và cập nhật trong tiện ích bổ sung mới. Trước hết, hãy tạo một thư mục (psad) bên trong src/paks giống như lfs của tên gói. Sao chép chương trình mặc định từ src/paks/default/* vào src/paks/psad và tùy chỉnh cho phù hợp.



Chạy lại lệnh build để biên dịch mã nguồn của PSAD.

./make build



Như được hiển thị bên dưới, tiện ích bổ sung PSAD (psad-2.4.1-2.ipfire) đã được biên dịch thành công trên môi trường IPFire và được đặt trong thư mục gói.




Cài đặt PSAD trên IPFire​

Bây giờ, gói PSAD sẽ được cài đặt trên IPFire. Như được hiển thị bên dưới, gói đã biên dịch được sao chép trên IPFire đã cài đặt.



Đảm bảo rằng gói đã biên dịch phải nằm trong đường dẫn /opt/pakfire/tmp.



Gói được giải nén để cài đặt bằng lệnh sau.
Mã:
tar -xvf psad-2.4.1-2.ipfire


Danh sách các tệp bổ trợ PSAD được hiển thị bên dưới.



Cửa sổ sau hiển thị cài đặt bổ trợ PSAD trên IPFire.
Mã:
./install.sh




Hình sau hiển thị trợ giúp công cụ PSAD trên môi trường IPFire.



Trong bài viết này, tính năng hoặc tiện ích bổ sung mới được bao gồm tường lửa dựa trên Linux nổi tiếng "IPFire". Công cụ PSAD được sử dụng để tự động chặn lưu lượng truy cập độc hại bằng IPtables. Biên soạn PSAD cho môi trường IPFire là đóng góp của chúng tôi.
 
Back
Bên trên