Cấu hình tường lửa với system-config-firewall

Từ 2.4 kernel, Linux đã sử dụng iptables để cấu hình các rule tường lửa có trong nhân kernel. Quả thực có rất nhiều công cụ cho phép người dùng có thể cấu hình tường lửa: iptables trên tiện ích dòng lệnh, Shorewall và một số công cụ GUI khác. Trên hệ thống Fedora, công cụ cấu hình tường lửa mặc định đơn giản được gọi là Firewall Configuration, bạn có thể tìm thấy công cụ trong nhắc lệnh bằng cách thực thi lệnh “system-config-firewall” hoặc System | Administration | Firewall trong các menu của GNOME.

GUI này cho phép bạn có thể thiết lập dịch vụ nào được phép truy cập thông qua Internet bằng cách sử dụng giao diện rất đơn giản. Nó định nghĩa một số dịch vụ tin cậy được cấu hình trước; để cho phép truy cập, bạn chỉ cần tích vào hộp kiểm bên cạnh mỗi entry. Mỗi entry sẽ liệt kê tên dịch vụ, cổng, giao thức và các modul iptables phụ thêm. Vì vậy nếu muốn cho phép truy cập SSH đến hệ thống, bạn chỉ cần hủy chọn hộp kiểm bên cạnh dịch vụ SSH như thể hiện trong hình A.

Mặc dù vậy bạn có thể vượt ra ngoài vấn đề lọc mức dịch vụ đơn giản. Với phần Trusted Interfaces, bạn có thể định nghĩa, trên một hệ thống đa giao diện, các giao diện nào là tin cậy. Một giao diện tin cậy chính là giao diện không áp dụng bất cứ rule tường lửa nào; cho ví dụ, nếu eth0 phải đối mặt với Internet và eth1 đối mặt với mạng nội bộ, thì bạn có thể chọn giao diện eth1 là tin cậy. Điều này sẽ cho phép tất cả các kết nối gửi đến trên giao diện eth1, trong khi đó vẫn sử dụng các rule tường lửa cho tất cả các giao diện khác.

Phần Other Ports cho phép bạn thêm các cổng mới vào bộ lọc không có trong danh sách Trusted Services. Nó sẽ xuất hiện một giao diện có thể kéo trượt và liệt kê các cổng cũng như các giao thức đã được định nghĩa trong /etc/services, vì vậy tất cả các cổng đã biết và các kiểu giao thức sẽ được liệt kê ở đây. Nếu có một dịch vụ nào đó bạn đang mong muốn không được liệt kê, hãy chọn User Defined, sau đó cung cấp cổng và giao thức một cách thủ công.

Với Firewall Configuration GUI, bạn cũng có thể thực hiện hành động giả mạo, hành động cho phép bạn sử dụng hệ thống như một router; nghĩa là bạn có thể sử dụng nó như một gateway để chuyển tiếp các kết nối từ các máy tính nội bộ nào đó thông qua nó đến Internet. Bạn cũng có thể định nghĩa hành động chuyển tiếp cổng; cho ví dụ, bất cứ kết nối gửi đến nào trên cổng 22 đều có thể được chuyển tiếp đến một cổng được định nghĩa khác, thật tuyệt vời cho việc cho phép truy cập vào các hệ thống phía sau tường lửa. Bạn có thể định nghĩa giao diện gửi đến, giao thức và cổng chuyển tiếp, sau đó là địa chỉ IP nào để chuyển tiếp đến và một cổng khác hoàn toàn mang tính tùy chọn (chẳng hạn chuyển tiếp các kết nối đến cổng 522 trên giao diện eth0 đến cổng 22 trên địa chỉ 192.168.1.2).

Cuối cùng, bạn cũng có thể thay đổi cách tường lửa quản lý các gói ICMP (Internet Control Message Protocol). Mặc định, tất cả các kiểu ICMP đều được phép, tuy nhiên ở đây bạn có thể quyết định hệ thống sẽ đáp trả lệnh ping và các gói ICMP khác hay không.

Khi tạo thay đổi với tường lửa, sử dụng nút Apply để lưu chúng và nút Reload để refresh, kích hoạt các rule tường lửa. Nếu muốn quan sát các lệnh của iptables, công cụ sẽ lưu chúng vào /etc/sysconfig/iptables, sẽ được sử dụng bởi lệnh iptables-restore để load các rule tường lửa sau này. Còn nếu đã thân thiện với các lệnh iptables, khi đó bạn có thể chỉnh sửa trực tiếp file này thay vì phải sử dụng GUI.

Trên nhắc lệnh, sử dụng “service iptables restart” để reload lại tường lửa và “service iptables stop” để vô hiệu hóa hoàn toàn tường lửa.

Iptables có rất nhiều lệnh khác nhau và có thể được sử dụng để tạo các rule tường lửa phức tạp như các rule mà công cụ Shorewall cho phép. Mặc dù vậy, Shorewall có thể khá phức tạp để có thể thiết lập đúng cách, vì vậy tuy nó là một công cụ tốt nhưng chỉ hữu dụng cho các tường lửa hoặc máy chủ chuyên dụng. Ngược lại giao diện cấu hình Firewall Configuration GUI lại đơn giản để bất cứ ai cũng có thể sử dụng nó cho việc tạo các tường lửa tùy chỉnh cho hệ thống Linux và đủ mạnh để bạn không cần đến các công cụ khác.