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