Iptables là một package trên Ubuntu 20.04 hỗ trợ cấu hình cho Firewall một cách dễ dàng, nhanh chóng, giúp server luôn an toàn và chống lại các luồng traffic mang mã độc từ bên ngoài. Do đó, trong bài hướng dẫn hôm nay của Vietnix, bạn sẽ được hướng dẫn về cách cấu hình Firewall trên hệ điều hành Ubuntu 20.04 bằng iptables
cho cả server có hỗ trợ IPv4 và IPv6.
Giới thiệu tổng quan
Triển khai Firewall là một bước quan trọng trong việc đảm bảo an toàn cho server. Phần lớn của việc triển khai là đưa ra các quy tắc và chính sách để đặt ra giới hạn nhằm hạn chế những luồng traffic truy cập vào mạng của bạn. Những Firewall như iptables
sẽ cho phép người dùng áp dụng các quy tắc đặt ra vào trong cấu trúc của mạng.
Trong bài hướng dẫn này, bạn sẽ tìm hiểu về cách xây dựng một Firewall để làm cơ sở cho những bộ quy tắc phức tạp hơn. Firewall này sẽ tập trung chủ yếu vào việc cung cấp các giá trị mặc định và thành lập một khuôn khổ giúp nâng cao khả năng mở rộng.
Yêu cầu tiên quyết để triển khai tường lửa cơ bản với Iptables trên Ubuntu 20.04
Để thực hiện theo bài hướng dẫn này, bạn cần có quyền truy cập vào server của Ubuntu 20.04 với một non-root user cấp quyền sudo. Thêm vào đó, bạn cần xem xét lại kỹ lưỡng các chính sách Firewall muốn triển khai.
Cài đặt Persistent Firewall Service
Đầu tiên, bạn cần phải cập nhật bộ nhớ đệm của local package trên máy:
sudo apt update
Sau đó hãy cài đặt iptables-persistent
package. Package này sẽ giúp lưu lại các bộ quy tắc và sẽ tự động apply chúng mỗi khi khởi động:
sudo apt install iptables-persistent
Trong quá trình cài đặt, bạn sẽ được hỏi là có muốn lưu các quy tắc hiện có hay không, hãy chọn <Yes>. Một điều lưu ý là bạn sẽ cần chạy lệnh netfilter-persistent
để thực thi persistent firewall service của iptables
. Tiếp theo, bạn sẽ chỉnh sửa các files quy tắc đã được tạo ra.
Lưu ý về iptables cho IPv6 trong bài hướng dẫn
Trước khi bắt đầu, bạn cần phải nắm rõ về IPv4 và IPv6. Cụ thể, lệnh iptables
chỉ xử lí các lưu lượng IPv4. Còn với IPv6, bạn sẽ cần sử dụng một package riêng biệt khác tên ip6tables
với các quy tắc được lưu trong các bảng và chuỗi. Đối với lệnh netfilter-persistent
, những quy tắc của IPv4 được viết và đọc từ /etc/iptables/rules.v4
, trong khi đó những quy tắc của IPv6 sẽ được lưu ở /etc/iptables/rules.v6
.
Bài hướng dẫn này được viết để xử lí cho IPv4 và không sử dụng IPv6 trên server. Do đó, nếu dịch vụ của bạn không tận dụng IPv6 thì hãy chặn truy cập hoàn toàn giao thức này như trong bài hướng dẫn dưới đây.
Triển khai Firewall Policy cơ bản (cách thực hiện nhanh)
Để có thể khởi chạy Firewall nhanh chóng, ở đây Vietnix sẽ hướng dẫn bạn cách để chỉnh sửa file chứa các quy tắc một cách trực tiếp cũng như cách copy và paste chính sách Firewall đã được hoàn thiện. Để triển khai chính chính sách và framework của Firewall, bạn sẽ cần chỉnh sửa file /etc/iptables/rules.v4
và file /etc/iptables/rules.v6
.
Mở file rules.v4
bằng editor tùy ý, ở đây sử dụng nano
:
sudo nano /etc/iptables/rules.v4
Bên trong file chứa những nội dung như sau:
# Generated by iptables-save v1.8.4 on Tue Mar 1 19:03:10 2022
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Tue Mar 1 19:03:10 2022
Xóa những nội dung trên và thay thế bằng nội dung dưới đây:
*filter
# Allow all outgoing, but drop incoming and forwarding packets by default
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Custom per-protocol chains
:UDP - [0:0]
:TCP - [0:0]
:ICMP - [0:0]
# Acceptable UDP traffic
# Acceptable TCP traffic
-A TCP -p tcp --dport 22 -j ACCEPT
# Acceptable ICMP traffic
# Boilerplate acceptance policy
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
# Drop invalid packets
-A INPUT -m conntrack --ctstate INVALID -j DROP
# Pass traffic to protocol-specific chains
## Only allow new connections (established and related should already be handled)
## For TCP, additionally only allow new SYN packets since that is the only valid
## method for establishing a new TCP connection
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
# Reject anything that's fallen through to this point
## Try to be protocol-specific w/ rejection message
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
# Commit the changes
COMMIT
*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*security
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
Lưu và đóng file. Nếu các bạn đang sử dụng nano, hãy nhấn CTRL + X
, sau đó Y
và ENTER
.
Ngoài ra, bạn có thể kiểm tra lại lỗi cú pháp trong file bằng những lệnh sau để đảm bảo không có bất kì lỗi cú pháp nào:
sudo iptables-restore -t /etc/iptables/rules.v4
Tiếp theo, mở file /etc/iptables/rules.v6
để chỉnh sửa các quy tắc của IPv6:
sudo nano /etc/iptables/rules.v6
Trong file sẽ có những nội dung sau:
# Generated by ip6tables-save v1.8.4 on Tue Mar 1 19:03:10 2022
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Tue Mar 1 19:03:10 2022
Bạn có thể chặn tất cả các lưu lượng IPv6 bằng cách thay thế nội dung trong file bằng cách cấu hình sau đây:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT
*raw
:PREROUTING DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT
*nat
:PREROUTING DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
:POSTROUTING DROP [0:0]
COMMIT
*security
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT
*mangle
:PREROUTING DROP [0:0]
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:POSTROUTING DROP [0:0]
COMMIT
Lưu và đóng file lại, cách đóng tương tự như của rules.v4
nếu sử dụng nano
.
Tương tự, bạn cũng cần phải kiểm tra lỗi cú pháp cho file, sử dụng lệnh ip6tables-restore
với option -t
:
sudo ip6tables-restore -t /etc/iptables/rules.v6
Khi cả hai files đều không có lỗi cú pháp, bạn có thể apply những quy tắc vừa thiết lập bằng lệnh sau:
sudo service netfilter-persistent reload
Output
* Loading netfilter rules...
run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start
run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start
[ OK ]
Lệnh trên sẽ ngay lập tức triển khai các chính sách đã được nêu ra trong hai files. Bạn có thể xác minh lại bằng cách liệt kê ra những quy tắc đang được dùng bằng lệnh như sau, đầu tiên là cho IPv4:
sudo iptables -S
Output
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N ICMP
-N TCP
-N UDP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
Tiếp theo là IPv6:
sudo ip6tables -S
Output
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
Những quy tắc này của Firewall sẽ được tự động apply lại mỗi khi khởi động. Hãy thử kiểm tra lại để chắc chắn bạn vẫn có thể đăng nhập nhưng các quyền khác thì đã bị chặn.
Giải thích về chiến lược chung của Firewall
Với những quy tắc đã thiết lập cho Firewall ở phần trước, bạn vừa tạo ra một framework có thể mở rộng linh hoạt và thêm hoặc xóa các quy tắc. Với lưu lượng traffic IPv4, bạn nên quan tâm chủ yếu đến chuỗi INPUT
bên trong bảng filter
.
Chuỗi này sẽ xử lí tất các gói tin được gửi đến server. Song song với đó, các traffic gửi đi được cho phép và yêu cầu chuyển tiếp gói sẽ bị từ chối. Những thiết lập này sẽ chỉ phù hợp nếu server đóng vai trò là một bộ định tuyến cho các host khác. Các gói tin bên trong bảng khác cũng sẽ được chấp nhận bởi bài viết sẽ hướng dẫn cách lọc chúng.
Về tổng quát, với quy tắc Firewall đã lập sẽ mặc định từ chối các traffic đi vào. Sau đó, bạn sẽ loại trừ ra những dịch vụ và lưu lượng ngoại lệ cho chính sách này.
Trong chuỗi chính INPUT
đã thêm vào một quy tắc chung cho các traffic để chúng có thể được xử lí bằng một cách. Ví dụ, các gói tin “không hợp lệ” sẽ bị từ chối, còn các traffic từ local loopback interface và dữ liệu liên quan đến việc thành lập kết nối với server sẽ được cho phép.
Sau đó, các lưu lượng sẽ được khớp dựa trên giao thức đang sử dụng và gắn vào chuỗi giao thức cụ thể (protocol-specific chain) tương ứng. Những chuỗi giao thức này sẽ giúp kết nối với quy tắc phù hợp và cho phép traffic đến từ các dịch vụ cụ thể.
Trong bài hướng dẫn này, dịch vụ duy nhất được cho phép là SSH
trong chuỗi TCP
. Nếu bạn muốn bổ sung thêm dịch vụ khác, như là HTTP(S)
server thì cũng có thể thêm vào đây. Những chuỗi giao thức này sẽ là trọng tâm cần chú ý trong bất cứ tùy chỉnh nào.
Cuối cùng, bất kì lưu lượng nào không phù hợp với những quy tắc chung hoặc quy tắc của dịch vụ trong chuỗi giao thức sẽ được loại bỏ bởi những quy tắc cuối cùng trong chuỗi INPUT
. Một chính sách mặc định cho Firewall đã được thiết lập là DROP
giúp từ chối tất cả các gói tin trong trường hợp này.
Tuy nhiên, các quy tắc ở cuối của chuỗi INPUT
sẽ loại trừ các gói tin và gửi một message về cho Client mô phỏng theo cách server phản hồi nếu không có service nào đang chạy trên port đó.
Đối với các IPv6, bạn đã loại bỏ hết tất cả lưu lượng đó với những thiết lập trên. Do server hiện tại không sử dụng giao thức này, vì vậy tốt hơn hết là không nên làm gì có liên quan đến nó.
Nếu bạn đang sử dụng VPS thì việc dùng iptables có thể đóng góp quan trọng vào việc xây dựng và duy trì ứng dụng trên VPS bằng cách cung cấp một lớp bảo mật mạnh mẽ và kiểm soát lưu lượng mạng đáng tin cậy.
Tuy nhiên, để VPS vận hành ổn định, mượt mà và đạt hiệu quả tối đa thì tốc độ cũng là một yếu tố cần được chú trọng. Hiện tại Vietnix đang cung cấp các gói VPS tốc độ cao, đa dạng cấu hình, tính năng hiện đại, bảo mật cao gồm: VPS NVMe, VPS Giá Rẻ, VPS Cloud Server, VPS Cao Cấp và VPS GPU với nhiều mức giá khác nhau.
Nhanh tay liên hệ Vietnix để được tư vấn gói VPS tốc độ cao phù hợp với nhu cầu ngay hôm nay.
Triển khai Firewall sử dụng lệnh iptables
Đến đây, bạn đã nắm được ý tưởng tổng quát cho chính sách sẽ xây dựng trong bài. Bây giờ bạn sẽ tìm hiểu về cách để tạo ra chính sách đó bằng lệnh iptables
. Kết quả cuối cùng sẽ vẫn là chính sách như trên nhưng thay vào đó bạn sẽ tạo lần lượt tuần tự từng quy tắc một. Bởi vì iptables
sẽ apply từng quy tắc ngay lập tức, nên thứ tự thiết lập là rất quan trọng.
Khởi động lại Firewall
Bắt đầu bằng việc khởi động lại các quy tắc trong Firewall để bạn có thể xem xét lại cách mà những chính sách được tạo nên từ command line. Hãy làm mới lại các quy tắc bằng lệnh sau:
sudo service netfilter-persistent flush
Kiểm tra lại các quy tắc đã được reset:
sudo iptables -S
Bạn sẽ nhận được output tương tự như dưới đây, cho thấy rằng bảng filter
đã không còn và chính sách mặc định dang được để là ACCEPT
cho tất cả các chuỗi:
Output
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
Tạo các Protocol-Specific Chains
Tiếp theo, bạn cần tạo tất cả các chuỗi giao thức dành riêng cho bạn. Những chuỗi này sẽ được dùng để giữ các quy tắc tạo ngoại lệ cho chính sách từ chối đối với dịch vụ mà bạn muốn loại trừ. Thực hiện tạo giao thức cho traffic UDP
:
sudo iptables -N UDP
Một giao thức khác cho TCP
:
sudo iptables -N TCP
Và một giao thức cho ICMP
:
sudo iptables -N ICMP
Tiếp theo, thêm ngoại lệ cho lưu lượng SSH. SSH sử dụng TCP, vì vậy bạn sẽ thêm quy tắc ACCEPT
cho TCP được chạy ở port 22
vào chuỗi TCP:
sudo iptables -A TCP -p tcp --dport 22 -j ACCEPT
Nếu muốn thêm các dịch vụ khác cho TCP, bạn có thể lập lại lệnh trên nhưng hãy thay đổi số port.
Tạo các quy tắc với mục đích chung là chấp thuận hay từ chối
Trong chuỗi INPUT
, nơi tất cả các lưu lượng bắt đầu được sàng lọc, bạn sẽ cần thêm vào những quy tắc mục đích chung. Những quy tắc này là cơ sở để Firewall chấp thuận các lưu lượng có độ đe dọa thấp (local traffic và lưu lượng giúp thiết lâp kết nối) và từ chối các lưu lượng không có ích (các gối tin không hợp lệ).
Đầu tiên, tạo một ngoại lệ để chấp thuận tất cả các lưu lượng hỗ trợ việc thiết lập kết nối hoặc có liên quan:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Quy tắc này sử dụng conntrack
extension cung cấp tính năng theo dõi nội bộ giúp iptables
có được ngữ cảnh cần thiết để đánh giá các gói tin xem đó có phải là một phần của kết nối lớn hơn thay vì những gói rời rạc, không liên quan.
TCP là một giao thức dựa trên kết nối nên có thể xác định khá rõ ràng và nhanh chóng. Còn đối với UDP và các giao thức không kết nối khác, kết nối được thiết lập được đánh giá trên traffic nhận được phản hồi (nguồn của gói tin ban đầu sẽ là điểm đến của gói tin phản hồi và ngược lại).
Kết nối có liên quan nghĩa là một kết nối mới đã được khởi tạo cùng với một kết nối hiện có. Ví dụ: Kết nối truyền dữ liệu FTP, kết nối này sẽ có sự liên quan tới kết nối điều khiển FTP trước đó đã được thiết lập.
Bên cạnh đó, bạn cũng cần phải cho phép tất cả các traffic bắt nguồn từ local loopback interface. Lưu lượng này được tạo ra bởi server và hướng tới server. Chúng sẽ được sử dụng bởi những dịch vụ trên host để giao tiếp với nhau:
sudo iptables -A INPUT -i lo -j ACCEPT
Cuối cùng, loại bỏ tất cả các gói tin không hợp lệ. Các gói tin có thể bị không hợp lệ do một vài lí do. Chẳng hạn như chúng hướng tới những kết nối chưa được thiết lập, interfaces, địa chỉ, ports không tồn tại, hoặc gói tin bị móp méo về dữ liệu. Trong các trường hợp đó, bạn sẽ loại bỏ gói tin này đi vì không có cách nào để xử lí chúng. Ngược lại, chúng còn có thể chứa các mã độc gây nguy hại đến server.
sudo iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
Tạo Jump Rules cho các chuỗi giao thức cụ thể
Đến đây, bạn đã tạo ra những quy tắc chung cho chuỗi INPUT và một vài quy tắc cho phép dịch vụ được chỉ định truy cập trong các chuỗi giao thức riêng. Tuy nhiên, hiện tại traffic chỉ đến được chuỗi INPUT
và không có cách nào để đi đến chuỗi giao thức riêng trên.
Bây giờ, bạn sẽ cần phải điều hướng các lưu lượng ở trong chuỗi INPUT
qua các chuỗi giao thức tương ứng. Bạn có thể khớp các loại giao thức và gửi chúng đến chuỗi giao thức đúng. Cần đảm bảo rằng mỗi gói tin đại diện cho một kết nối mới (bất kì kết nối được thiết lập hay có liên quan nào cần phải được xử lí trước đó).
Đầu tiên hãy bắt đầu với traffic UDP
:
sudo iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
Tiếp theo, chạy lệnh sau cho lưu lượng TCP
. Chú ý rằng với các gói tin TCP
, bạn cần phải thêm yêu cầu cho các gói tin phải là SYN
. Đây là hợp lệ duy nhất của kết nối TCP
:
sudo iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
Chạy lệnh sau cho traffic ICMP
:
sudo iptables -A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
Từ chối tất cả traffic còn sót lại
Nếu gói tin đã đi qua chuỗi giao thức nhưng không phù hợp với bất kì quy tắc nào trong đó, quyền xử lí sẽ được chuyển ngược về cho chuỗi INPUT
. Và bất kì gói tin nào khi đã đến điểm này đều không được cho phép bởi Firewall của người dùng.
Bạn sẽ từ chối các traffic trên bằng REJECT
target để gửi phản hồi về cho client. Điều này cho phép bạn chỉ định message trả về mô phỏng theo phản hồi được đưa ra khi client cố gửi các gói tin đến port không tồn tại hoặc bị đóng. Phản hồi sẽ phụ thuộc vào loại giao thức mà client sử dụng.
Trường hợp cố truy cập vào port UDP
đã bị đóng sẽ tạo ra ICMP
thông báo rằng “port unreachable”. Bạn có thể thực hiện bằng lệnh sau:
sudo iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
Thiết lập kết nối TCP
trên port bị đóng sẽ tạo ra phản hồi RST
của TCP
:
sudo iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
Đối với tất cả các gói tin khác, bạn có thể gửi thông báo ICMP
“protocol unreachable” để chỉ định rằng server không phản hồi cho loại gói tin đó:
sudo iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachable
Điều chỉnh các chính sách mặc định
Ba quy tắc cuối cùng bạn đã thêm sẽ xử lí các lưu lượng còn sót lại trong chuỗi INPUT
. Tuy nhiên, bạn nên đặt thêm một số chính sách mặc định để DROP
chúng:
sudo iptables -P INPUT DROP
Bạn cũng nên đặt chính sách mặc định này trong chuỗi FORWARD
nếu như server không được cấu hình làm bộ định tuyến tới các máy khác:
sudo iptables -P FORWARD DROP
Cảnh báo: Với chính sách được đặt là DROP, nếu bạn xóa iptables
bằng lệnh sudo iptables -F
, kết nối SSH hiện tại cũng sẽ bị xóa theo. Làm mới bằng sudo netfilter-pesistent flush
là cách tốt hơn để xóa các quy tắc bởi vì các chính sách mặc định cũng sẽ được làm mới theo.
Để thiết lập cho IPv6 nhằm DROP
các lưu lượng, bạn dùng lệnh ip6tables
, bắt đầu từ INPUT
như sau:
sudo ip6tables -P INPUT DROP
Tiếp đến là FORWARD
:
sudo ip6tables -P FORWARD DROP
Cuối cùng là OUTPUT
:
sudo ip6tables -P OUTPUT DROP
Điều này sẽ giúp sao chép các quy tắc của bạn một cách chặt chẽ.
Lưu lại các Rules của iptables
Đến đây, bạn nên kiểm tra Firewall của mình để đảm bảo chúng đã hoạt động như mong muốn. Khi đã hoàn tất, bạn có thể lưu chúng lại để có thể được tự động apply khi hệ thống khởi động.
Lưu các quy tắc hiện tại lại bằng lệnh sau (cho cả IPv4 và IPv6):
sudo service netfilter-persistent save
Lệnh trên sẽ ghi đè lên trên file /etc/iptables/rules.v4
và file /etc/iptables/rules.v6
với những chính sách đã thiệt lập trên command line.
Qua 10 năm hoạt động, Vietnix hiện đang là một trong những nhà cung cấp dịch vụ VPS tốc độ cao chất lượng, uy tín hàng đầu Việt Nam. Với sự đầu tư liên tục về hạ tầng và nhân sự để có thể nhanh chóng đáp ứng được các tiêu chuẩn khắt khe của thị trường hosting, VPS,… quốc tế, Vietnix hiện đã được hơn 50.000+ khách hàng trong lẫn ngoài nước tin tưởng trong đó có thể kể đến như: iVIVU.com, GTV, Vietnamwork, UBGroup, KINGFOOD,…
Năm 2022 vừa qua, Vietnix vinh dự nhận được giải thưởng “Thương hiệu Việt Nam xuất sắc 2022”, hạng mục “Sản phẩm dịch vụ xuất sắc”.
Nhanh tay liên hệ Vietnix để được tư vấn chi tiết về dịch vụ VPS tốc độ cao ngay hôm nay!
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Hotline: 1800 1093 – 07 088 44444
- Email: sales@vietnix.com.vn
Lời kết
Hy vọng bài hướng dẫn triển khai tường lửa cơ bản với Iptables trên Ubuntu 20.04 này đã giúp các bạn cấu hình tốt cho Firewall của mình bằng với hai cách là trực tiếp sửa file cấu hình hoặc dùng command line. Để cho phép traffic từ nhiều dịch vụ khác, bạn có thể chỉnh sửa lại các quy tắc đã thiết lập. Cảm ơn các bạn đã theo dõi và hãy luôn ủng hộ Vietnix ở những bài viết tiếp theo nhé.