
Triển Khai Firewall IPFire: Viết Rule Chặn Connect
Với một firewall việc chặn các kết nối là điều tối quan trọng trong việc phòng chống tấn công vào hệ thống từ đó đảm bảo dữ liệu không bị lộ lọt ngây ra những vấn đề mất an ninh cho hệ thống
Lưu ý: Firewall IPFire nếu bạn chặn kết nối nó chỉ hoạt động trên RED card network không hoạt động trên GREEN card network nên bạn cần lưu ý vấn đề này chỉ cấu hình RED card network để chạy dịch vụ do IPfire chạy với bảng phân bổ rule như sau

I: Cấu Hình chặn Outbound
Để cấu hình rule chặn kết nối chúng ta vào menu Firewall chọn mục Firewall Rules

Mặc định hệ thống có một rule bạn có thể xóa bỏ hoặc giữ lại, chúng ta tiến hành tạo rule bằng cách click vào new rule một bảng mới hiện ra

Một số lưu ý:
- Source là phần nguồn kết nối từ trong mạng bạn có thể chọn toàn mạng hoặc chỉ 1 địa chỉ IP của máy con nào đó có kết nối nếu là máy client thì bạn cần điền địa chỉ ip client vào còn không thì chọn vào Standard networks và để any để chặn trên toàn mạng, thường thì việc thực thi này mình để là toàn bộ mạng
- Destination: là đích kết nối bạn điền địa chỉ IP cần chặn vào
- Protocol: Giao thích kết nối bạn có thể chặn all mình thường chặn all hoặc có thể điều chỉnh bằng các lựa chọn cách chặn cụ thể như http, http, tcp…. bằng cách nhấn vào all cho hộp thoại hiện ra bạn lựa chọn phương thức chặn như hình bên dưới

Sau đó bạn nhớ tick vào phần Log rule rồi lưu lại

sau khi lưu bạn được đưa ra trang quản lý rule bạn nhấn Apply changes để áp dụng thay đổi

Lúc này trên máy client sẽ bị chặn

Trong khi máy ngoài mạng vẫn có thể truy cập được như vậy đã chặn kết nối thành công

Chúng ta check log trên firewall sẽ thấy kết nối bị chặn

Như vậy chúng ta đã thành công trong việc chặn IP kết nối ra từ mạng của chúng ta, nếu bạn cần xem máy cụ thể nào kết nối thì bạn tìm tới phần green0 là thấy thông tin IP client kết nối thực tế


Để mặc định chặn all outgiong trên tất cả máy con thì cần vào Firewall Options kéo xuống phía dưới cùng chọn phần OUTGOING trong Default firewall behaviour là block

Như vậy mọi kết nối đi ra sẽ bị chặn không thể kết nối giờ bạn muốn kết nối đi đâu phải tạo rule kết nối, để tạo rule kết nối khi tạo rule bạn thao tác bình thường như rule chặn nhưng chú ý chọn ACCEPT thay vì DROP ví dụ ở đây mình cho phép kết nối tới momo có địa chỉ: 103.161.22.131

kiểm tra kết nối tới máy chủ momo và ip bên ngoài mọi thứ hoạt động tốt

Test mở chặn IP 111.65.250.2 của vnexpress

Kiểm tra log chúng ta thấy đã chặn kết nối

Hoặc chỉ cho phép kết nối tới những máy chủ ở Việt Nam – nếu bạn chọn giải pháp này để vào các domain việt nam thì cần chú ý hầu hết các web đều có những thành phần như css js máy chủ nước ngoài nên web vẫn có thể bị lỗi mặc dù bạn đã cho phép kết nối

Lưu ý quan trọng: nếu bạn dùng DNS bên ngoài thì bạn phải làm rule cho phép kết nối tới những DNS server này nếu không bạn sẽ không vào được mạng do không phân giải được domain ví ụ ở đây mình dùng của google và cloudflare

Nếu bạn cần chỉ cho IP cụ thể kết nối tới một máy chủ cụ thể nào đó thì có thể để Rule như sau

Giải thích một số cấu hình
- Source: Ip máy client trong mạng được phép kết nối
- Destination: Ip máy được kết nối tới
- Protocol: giao thức được phép kết nối tới thường là all tuy nhiên bạn nên điều chỉnh cho phù hợp với nhu cầu càng chặt chẽ càng tốt giảm thiểu nguy cơ mất an ninh cho hệ thống ví dụ chỉ cho phép http https hay tcp tới port nhất định…
Sau khi cấu hình song thì chỉ có máy được chỉ định mới kết nối được

các máy khác trong mạng sẽ không thể kết nối được

II: Cấu Hình chặn Inbound
Để chặn Inbound của máy chủ dự tính là 192.168.1.163 chúng ta sẽ tiến hành thực hiện như sau để kiểm tra, đầu tiên mình có 1 dịch vụ chạy ở đây cụ thể là nessus chúng ta bình thường có thể vào được như hình bên dưới

Bây giờ vào phần firewall rule như bên trên và điền các thông số

Các thông số điền theo thứ tự
- Source: là any để chặn mọi kết nối nguồn tới
- Destination: Điền địa chỉ IP cần chặn
- Protocol: chọn all và drop toàn bộ kết nối
- Additional settings: vẫn để log rule như bình thường
Như vậy lúc này toàn bộ lưu lượng tới IP: 192.168.1.163 đã bị chặn.
Lưu ý: bạn cần xóa bỏ rule mặc định trước thì rule mới có hiệu lực bằng cách bỏ tick phần rule mặc định

Trong một số trường hợp việc NAT hoặc chặn IP không có tác dụng trong mạng LAN hoặc không hoạt động lúc này bắt buộc phải dùng các phần mềm trên client để tự chặn all bạn có thể chặn all kết nối tới chỉ để IP của IPFire Green interface ví dụ của mình là 192.168.1.170 còn lại là chặn all kết nối như hình bên dưới khi mình dùng iptables trên ubuntu

Lúc này mọi kết nối tới và đi chỉ còn thông qua IP của IPFire bạn có thể cấu hình NAT trên IPFire để chạy các dịch vụ và kiểm soát chúng, đây là một vấn đề của IPFire mà mình cũng chưa thấy giải pháp nào IP public wan thì chặn được tốt nhưng IP lan với nhau thì chúng lại không hoạt động được tốt đôi khi là lỗi