Bài 4: Intrusion Prevention System (IPS) = IDS + Firewall
IPFire được tích hợp sẵn với Snort để bổ sung chức năng IDS cho tường lửa. Để truy nhập đến chức năng cấu hình cho IDS này, sử dụng menu Services/Instrusion Detection. Trang cấu hình này cho phép thiết lập một số thông tin cơ bản của Snort như là kết nối mạng mà Snort sẽ giám sát (có thể chọn 1 hoặc nhiều kết nối), hoặc cho phép download các tập luật cảnh báo mới nhất (Snort rules update) để cập nhật vào thành phần IDS của Firewall.
Bên cạnh chức năng Snort IDS của IPFire, Guardian là một thành phần Addon của IPFire, cho phép tự động ngăn chặn các cuộc tấn công mạng ngay khi Snort phát hiện ra. Như vậy, Snort kết hợp với Guardian sẽ biến IPFire trở thành một hệ thống chống xâm nhật (IPS). Tư tưởng của Guardian là đặt ngưỡng cảnh báo số lần Snort phát hiện tấn công (Strike Threshold, mặc định là 3) từ một địa chỉ IP nào đó và khi một trạm tấn công đạt đến ngưỡng này, IP của trạm tấn công sẽ bị IPFire tự động đưa vào danh sách khóa (block) trong một khoảng thời gian (mặc định là 86400 giây, tức là 24h). Các thông số này có thể được thiết lập lại trong trang cấu hình Guardian. Các bước thực hiện như sau:
- Bước 1: Cập nhật phiên bản mới cho IPFire và cài đặt Addon Guardian.
- Bước 2: Lựa chọn luật (rule) và kích hoạt IDS.
- Bước 3: Thiết lập ngưỡng cảnh báo và kích hoạt IPS.
Bước 1: Cập nhật phiên bản mới cho IPFire và cài đặt Addon Guardian
Một số phiên bản IPFire cũ gặp vấn đề hiển thị khi cài đặt thêm thành phần Addon Guardian. Cần thực hiện cập nhật phiên bản mới nhất cho IPFire bằng công cụ Pakfire (menu IPFire/Pakfire). Kiểm tra kết nối Internet thông suốt, hệ thống sẽ thông báo có phiên bản mới hơn so với phiên bản đang dùng hay không (trong ví dụ bên dưới, phiên bản IPFire đang dùng là Core-Update-Level:103, phiên bản mới nhất là Core-Update-Level:105). Thực hiện cập nhật và khởi động lại IPFire.
Sau khi cập nhật và khởi động lại IPFire, kiểm tra phiên bản đã cập nhật là Core-Update-Level:105 và không có phiên bản nào mới hơn. Bước tiếp theo là cài đặt thành phần Addon Guardian vào IPFire với công cụ Pakfire. Trong ví dụ bên dưới, phiên bản Guardian được tìm thấy và có thể cài đặt là guardian-2.0-10.
Khi chọn cài đặt thành phần Addon Guardian, một số thư viện cần thiết cũng được tự động cài đặt cùng, bao gồm perl-Net-IP, perl-common-sense và perl-inotify2.
Sau khi thành phần Addon Guardian được cài đặt vào IPFire, menu Services xuất hiện thêm thành phần Guardian để cho phép thiết lập các thông số cấu hình:
Bước 2: Lựa chọn luật (rule) và kích hoạt IDS
Như đã môt tả bên trên, có thể vào menu Services/Instrusion Detection để tải các luật giúp Snort phát hiện tấn công. Giả sử ta cần một hệ thống chống tấn công quét cổng, tập luật Snort hỗ trợ phát hiện tấn công quét cổng có tên emerging-scan.rules nằm trong bộ luật Snort/VRT GPLv2 Community Rules. Vào trang Services/Instrusion Detection, chọn Snort rules update là Snort/VRT GPLv2 Community Rules và click “Download new ruleset” để tải bộ luật này về. Sau khi tải xong, danh sách các luật được hiển thị trong phần “instrusion detection system rules”, tìm đến tập luật emerging-scan.rules và click vào luật này để xem chi tiết các luật. Click chọn áp dụng tập luật emerging-scan.rules và click “Update” để lưu lại cấu hình cho Snort.
Sau khi tập luật emerging-scan.rules đã được lựa chọn kích hoạt, sử dụng nmap trên một trạm nào đó và thực hiện tấn công dò xét các cổng của máy IPFire:
Các hành động tấn công quét cổng này sẽ bị Snort phát hiện và hiển thị cảnh báo trong file alert:
Cảnh báo này cũng có thể được xem trong mục IDS Logs (menu Log/IDS Logs):
Bước 3: Thiết lập ngưỡng cảnh báo và kích hoạt IPS
Sau khi hệ thống IDS của IPFire đã phát hiện được các hành động tấn công quét cổng, bước cuối cùng là tự động ngăn chặn các cuộc tấn công này. Vào menu Services/Guardian để thiết lập các thông số cần thiết (có thể để tất cả các thông số theo giá trị mặc định) và kích hoạt modul Guardian (chọn checkbox Enable Guardian và click “Save”). Sau khi modul Guardian được kích hoạt thành công, trạng thái của nó sẽ được hiển thị trong phần Guardian Service: Deamon là RUNNING cùng với PID của nó:
Sử dụng nmap trên một trạm có địa chỉ 192.168.1.15 và quét cổng trên máy IPFire:
Kiểm tra các thông tin log trên IPFire sẽ thấy khi cuộc tấn công quét cổng đạt đến ngưỡng giới hạn đã thiết lập (3), Guardian tự động block địa chỉ IP của máy đang thực hiện tấn công với thời gian là 86400 giây:
Trang Guardian (menu Services/Guardian) cho thấy danh sách Curently blocked hosts chứa địa chỉ IP của máy vừa thực hiện tấn công quét cổng:
Mọi hành động truy nhập đến máy IPFire từ địa chỉ này đều bị ngăn chặn, ví dụ lệnh ping:
Quá trình block địa chỉ IP này sẽ kéo dài 24h hoặc cho đến khi người quản trị hủy bỏ địa chỉ IP này trong danh sách blocked hosts.