Truy cập trái phép và hack máy chủ là những mối đe dọa nghiêm trọng, đó là lý do tại sao bạn nên triển khai tường lửa như một phần của kỹ thuật bảo mật mạng của mình. Biết cách làm việc với các quy tắc Iptables là một trong những tài sản chính để giảm những rủi ro này trên hệ thống Linux của bạn. Hướng dẫn này sẽ hướng dẫn bạn làm quen với các khái niệm tường lửa cơ bản như iptables hiển thị các quy tắc và loại bỏ các quy tắc iptables trong Ubuntu, giúp bạn chạy các lệnh đơn giản để đạt được điều này. Trước khi thảo luận về cách liệt kê các quy tắc iptables hoặc xóa chúng, hãy cùng tìm hiểu các quy tắc iptables là gì và tại sao chúng ta sử dụng chúng?
- Iptable là gì?
- Hướng dẫn đầy đủ về Iptables trong Ubuntu
- Làm thế nào để loại bỏ các quy tắc iptables?
- Làm cách nào để xóa tất cả quy tắc, xóa tất cả chuỗi và chấp nhận tất cả?
- Làm cách nào để thiết lập iptables trong Ubuntu?
- iptables khác với tường lửa như thế nào?
- Suy nghĩ cuối cùng: iptables hiển thị quy tắc
- Câu hỏi thường gặp
Iptable là gì?
iptables là tiện ích tường lửa dòng lệnh cho phép hoặc chặn lưu lượng truy cập thông qua chuỗi chính sách. Khi các kết nối cố gắng được thực hiện trên hệ thống của bạn, iptables sẽ tìm kiếm một quy tắc trong danh sách phù hợp với chúng, cung cấp cho bạn một trợ lý thích hợp về bảo mật mạng. Nếu nó không tìm thấy kết nối, nó sẽ sử dụng hành động mặc định.
iptables hầu như luôn được cài đặt sẵn trên bất kỳ thiết bị nào. Phân phối Linux. Bạn có thể sử dụng lệnh sau để cập nhật hoặc cài đặt nó:
sudo apt-get install iptables
Tại sao chúng ta sử dụng Iptables?
Là tường lửa dòng lệnh Linux, iptables cho phép quản trị viên hệ thống xử lý lưu lượng truy cập đến và đi thông qua các quy tắc bảng có thể định cấu hình. Iptables sử dụng một tập hợp các bảng có chuỗi chứa một tập hợp các quy tắc tích hợp hoặc do người dùng xác định.
Như đã đề cập ở phần trước, iptables đóng vai trò thiết yếu trong bảo mật mạng cho hầu hết các hệ thống Linux. Phần còn lại của bài viết này chủ yếu tập trung vào việc mô tả iptables liệt kê tất cả các quy tắc, bao gồm các khái niệm như cách hiển thị iptables và loại bỏ các quy tắc iptables.
Cụ thể hơn, bài viết này sẽ thảo luận về một số tác vụ iptables cần thiết để chỉ cho bạn cách Liệt kê quy tắc, xóa bộ đếm gói và byte, Xóa quy tắc Iptables, Xóa chuỗi và xóa tất cả chuỗi & chấp nhận tất cả lưu lượng truy cập.
Hướng dẫn đầy đủ về Iptables trong Ubuntu
Trước khi xem qua các quy tắc hiển thị iptables, hãy lưu ý rằng bạn phải đang sử dụng máy chủ Linux có cài đặt lệnh iptables. Ngoài những yêu cầu này, điều cần thiết là phải có đặc quyền sudo. Khi làm việc với tường lửa, hãy chú ý không tự khóa máy chủ của mình bằng cách chặn lưu lượng SSH (cổng: 22, theo mặc định). Nếu mất quyền truy cập do cài đặt tường lửa, bạn có thể cần phải kết nối với nó thông qua bảng điều khiển ngoài băng tần để khắc phục.
Cũng đọc: Cách thay đổi cổng SSH trong Linux | Hướng dẫn từng bước nhanh về cổng SSH của bạn
Quy tắc liệt kê theo đặc điểm kỹ thuật
Bạn có thể xem các quy tắc iptables đang hoạt động của mình trong một cái bàn hoặc như danh sách các đặc tả quy tắc. Hầu như cả hai phương pháp đều cung cấp thông tin giống nhau ở các định dạng khác nhau. Để liệt kê tất cả các quy tắc của iptables đang hoạt động theo thông số kỹ thuật, bạn cần chạy lệnh iptables với Tùy chọn -S:
sudo iptables -S
Sau khi chạy lệnh iptables show quy tắc này, bạn sẽ thấy kết quả như thế này:

Liệt kê một chuỗi cụ thể
Nếu bạn muốn giới hạn đầu ra của show iptables ở một chuỗi cụ thể như INPUT, OUTPUT hoặc TCP, bạn có thể chỉ định tên chuỗi ngay sau tùy chọn -S. Ví dụ: lệnh iptables show quy tắc sau đây giúp chỉ định trong chuỗi TCP:
sudo iptables -S TCP

Như chúng tôi đã đề cập trước đây, có một cách khác để hoàn thành các quy tắc hiển thị iptables: xem các quy tắc iptables dưới dạng bảng quy tắc. Chúng ta hãy đi qua kỹ thuật này.
Quy tắc liệt kê dưới dạng bảng
Sử dụng lệnh để hiển thị các quy tắc iptables trong bảng có thể giúp so sánh các quy tắc khác nhau. Bạn cần chạy lệnh show iptables sau đây với -L tùy chọn để xuất tất cả các quy tắc hoạt động này trong một bảng:
sudo iptables -L
Lệnh này sẽ hiển thị tất cả các quy tắc hiện tại được sắp xếp theo chuỗi. Có một cách để bạn giới hạn đầu ra ở một chuỗi cụ thể như INPUT, OUTPUT, TCP, v.v.; bạn cần chỉ định tên chuỗi ngay sau tùy chọn -L. Dưới đây là một ví dụ về việc giới hạn các quy tắc hiển thị iptables đối với chuỗi INPUT:
sudo iptables -L INPUT

Dòng đầu tiên của kết quả đầu ra ở trên hiển thị tên chuỗi (INPUT, trong trường hợp này) và chính sách mặc định của nó (DROP). Dòng tiếp theo chứa tiêu đề của từng cột trong bảng và các quy tắc của chuỗi. Chúng tôi sẽ điểm qua chúng để giúp bạn tìm hiểu tất cả:
- Mục tiêu: Nếu một gói tương ứng với quy tắc, mục tiêu sẽ xác định những gì nên làm với nó. Bạn có thể yêu cầu một gói được chấp nhận, loại bỏ, ghi lại hoặc gửi đến một chuỗi khác để so sánh với nhiều quy tắc hơn.
- prot: Giao thức (như TCP, udp, ICMP hoặc tất cả)
- opt: cho biết tùy chọn IP (Không thường xuyên sử dụng)
- nguồn: hiển thị địa chỉ IP/mạng con nguồn của lưu lượng
- đích: trình bày địa chỉ IP/mạng con đích của lưu lượng truy cập
Cột không có nhãn gợi ý các tùy chọn của quy tắc và đó là bất kỳ phần nào của quy tắc chưa được chỉ định trong các cột trước đó. Thông tin này có thể là bất kỳ thứ gì, từ cổng nguồn và đích đến trạng thái kết nối của gói.
Cũng đọc: Cài đặt OpenVPN trên VPS – Thiết lập máy khách OpenVPN 🔑
Làm cách nào để hiển thị số lượng gói và kích thước tổng hợp?
Khi liệt kê các quy tắc iptables, chúng ta có thể hiển thị số lượng gói và kích thước tổng hợp của các gói tính bằng byte phù hợp với từng quy tắc iptables cụ thể; điều này thường hữu ích trong việc hiểu quy tắc nào phù hợp với các gói. Bạn phải sử dụng -L Và -v tùy chọn cùng nhau để hoàn thành cái này.
Đây là một ví dụ trong đó chúng ta sẽ sử dụng lại chuỗi INPUT, với tùy chọn -v:
sudo iptables -L INPUT -v

Lưu ý rằng danh sách của chúng tôi hiện có thêm hai cột có tên gói Và byte. Chúng tôi đã học được nhiều cách khác nhau để iptables hiển thị tất cả các lệnh quy tắc được thực hiện và bây giờ là lúc biết cách đặt lại số lượng gói và kích thước tổng hợp.
Làm cách nào để đặt lại số lượng gói và kích thước tổng hợp?
Bạn phải sử dụng tùy chọn-Z nếu bạn muốn bộ đếm gói và byte rõ ràng hoặc bằng 0 cho quy tắc của mình. Chúng cũng đặt lại nếu xảy ra khởi động lại, điều này rất hữu ích nếu bạn muốn xem liệu máy chủ có nhận được lưu lượng truy cập mới phù hợp với các quy tắc hiện có của bạn hay không.
Bạn có thể xóa bộ đếm cho tất cả các chuỗi và quy tắc bằng cách sử dụng Tùy chọn -Z tự nó:
sudo iptables -Z
Để xóa bộ đếm cho tất cả quy tắc trong một chuỗi cụ thể, bạn phải sử dụng tùy chọn -Z và chỉ định chuỗi đó. Ví dụ: lệnh sau được sử dụng để xóa bộ đếm chuỗi INPUT:
sudo iptables -Z INPUT
Nếu bạn muốn xóa bộ đếm cho một quy tắc cụ thể, bạn phải đề cập chính xác tên chuỗi và số quy tắc. Ví dụ: bạn có thể thực thi lệnh sau để xóa bộ đếm cho quy tắc đầu tiên trong chuỗi INPUT:
sudo iptables -Z INPUT 1
Ngoài việc biết iptables hiển thị tất cả các lệnh quy tắc và cách đặt lại gói iptables và bộ đếm byte, bạn nên biết cách loại bỏ quy tắc iptables.
Làm thế nào để loại bỏ các quy tắc iptables?
Bạn có thể sử dụng nhiều lệnh để loại bỏ các quy tắc Iptables hoặc thậm chí xóa tất cả các quy tắc trong một chuỗi. Ở đây chúng ta sẽ thảo luận về những phương pháp này,
Xóa quy tắc theo thông số kỹ thuật
Một trong những cách để loại bỏ các quy tắc iptables là thực hiện thông qua đặc tả quy tắc. Nó cho phép bạn chạy lệnh iptables với Tùy chọn -D và đặc tả quy tắc. Nếu bạn muốn xóa các quy tắc bằng kỹ thuật này, bạn có thể sử dụng đầu ra của danh sách quy tắc, iptables -S, để được trợ giúp.
Ví dụ: để xóa quy tắc loại bỏ các gói đến không hợp lệ (-A INPUT -m conntrack –ctstate INVALID -j DROP), bạn có thể thực thi dòng lệnh sau:
sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP
Hãy chú ý rằng tùy chọn -A dùng để chỉ ra vị trí quy tắc tại thời điểm tạo và cần được loại trừ ở đây.
Xóa quy tắc theo chuỗi và số
Phương pháp khác bạn có thể sử dụng để loại bỏ các quy tắc iptables là thông qua số dòng và chuỗi của nó. Nhập lệnh sau để chọn số dòng của quy tắc, liệt kê các quy tắc ở định dạng bảng và thêm –tùy chọn số dòng:
sudo iptables -L --line-numbers

Sau khi chạy lệnh này, tất cả các quy tắc iptables đều có số dòng, được hiển thị bằng tiêu đề num.
Khi bạn biết quy tắc nào bạn muốn xóa, hãy ghi nhớ chuỗi và số dòng của quy tắc đó. Bạn phải sử dụng lệnh iptables -D với số chuỗi và số quy tắc. Ví dụ: nếu bạn muốn xóa quy tắc đầu vào loại bỏ các gói không hợp lệ, bạn có thể thấy đó là quy tắc 3 của chuỗi INPUT. Vì vậy hãy chạy lệnh này:
sudo iptables -D INPUT 3
Làm thế nào để tuôn ra chuỗi?
Có một cách để bạn loại bỏ tất cả các quy tắc Iptables trong một chuỗi mà chúng tôi gọi là xả một chuỗi. Ở đây chúng tôi sẽ đề cập đến các phương pháp khác nhau để làm điều này. Trước khi tiếp tục, hãy chú ý để không bị khóa khỏi máy chủ thông qua SSH khi xóa chuỗi có chính sách mặc định là loại bỏ hoặc từ chối. Bởi vì nếu làm như vậy, bạn có thể cần kết nối với nó thông qua bảng điều khiển để khắc phục quyền truy cập của mình.
Xả một chuỗi đơn
Để xóa một chuỗi cụ thể hay nói cách khác là xóa tất cả các quy tắc trong chuỗi, bạn có thể sử dụng -F hoặc tương đương -tùy chọn tuôn ra và tên của chuỗi đã chọn. Giả sử bạn muốn xóa tất cả quy tắc trong chuỗi INPUT; phải làm gì? Chà, thật dễ dàng, hãy chạy lệnh sau:
sudo iptables -F INPUT
Rửa sạch tất cả các chuỗi
Để loại bỏ tất cả các chuỗi hoặc xóa chúng, bạn có thể sử dụng tùy chọn -F hoặc tùy chọn –flush tương đương:
sudo iptables -F
Làm cách nào để xóa tất cả quy tắc, xóa tất cả chuỗi và chấp nhận tất cả?
Tại thời điểm này, chúng tôi sẽ mô tả cách xóa tất cả các quy tắc, bảng và chuỗi tường lửa cũng như cho phép tất cả lưu lượng truy cập mạng. Hãy chú ý rằng quá trình này sẽ vô hiệu hóa tường lửa một cách hiệu quả. Vì vậy, Bạn chỉ nên làm theo phần này nếu muốn bắt đầu lại với cấu hình tường lửa của mình.
Trước tiên, bạn cần đặt chính sách mặc định cho từng chuỗi tích hợp thành CHẤP NHẬN. Nguyên nhân chính chúng tôi làm điều này là để đảm bảo rằng bạn sẽ không bị khóa khỏi máy chủ bằng SSH:
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
Sau đó, bạn cần xóa các bảng nat và mangle, xóa tất cả các chuỗi (-F)và xóa tất cả các chuỗi không mặc định (-X) như thế này:
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X
Sau khi chạy các lệnh trước đó, tường lửa sẽ cho phép tất cả lưu lượng truy cập mạng. Nếu bạn muốn liệt kê các quy tắc của mình bây giờ, bạn sẽ thấy không có quy tắc nào cả; chỉ còn lại ba chuỗi mặc định như chuỗi INPUT, FORWARD và OUTPUT.
Làm cách nào để thiết lập iptables trong Ubuntu?
Giống như bất kỳ hành vi tường lửa cơ bản nào, các quy tắc iptables có thể được đọc theo thứ tự được liệt kê trên mỗi chuỗi, điều đó có nghĩa là bạn sẽ phải đặt các quy tắc theo đúng thứ tự. Khi bạn thêm các quy tắc mới, bạn sẽ thêm chúng vào cuối danh sách quy tắc. Bạn có thể thêm quy tắc mới vào một vị trí danh sách cụ thể bằng cách chèn chúng bằng cách sử dụng iptables -I <chỉ mục> -lệnh. các <chỉ mục> dành cho số thứ tự bạn muốn chèn quy tắc vào lệnh này. Bạn có thể sử dụng lệnh sau để hiểu số chỉ mục nào cần nhập:
sudo iptables -L --line-numbers
Số ở đầu mỗi dòng quy tắc hiển thị vị trí trong chuỗi. Để thêm quy tắc mới phía trên quy tắc hiện có cụ thể, bạn phải sử dụng số chỉ mục của quy tắc hiện có đó. Ví dụ: nếu bạn muốn thêm quy tắc mới vào đầu chuỗi, bạn phải sử dụng lệnh sau với chỉ mục số 1:
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
iptables khác với tường lửa như thế nào?
Cả iptables và tường lửa đều là những công cụ thiết thực để quản lý tường lửa trên các hệ thống Linux khác nhau được thiết kế rõ ràng để lọc gói (lọc tĩnh). Lọc gói là một chiến lược tường lửa cho phép người dùng kiểm soát quyền truy cập vào một mạng cụ thể thông qua việc quản lý các gói thông tin đến và đi. Họ cho phép chúng đi qua hoặc từ chối chúng dựa trên các quy tắc tường lửa được cài đặt sẵn về các giao thức nguồn và đích cũng như cổng và địa chỉ IP của chúng. Các quy tắc này cung cấp các cơ chế bảo mật rất hiệu quả, giúp việc lọc gói thông tin trở thành một biện pháp bảo vệ tuyệt vời chống lại các thiết bị được định tuyến bên ngoài mạng LAN hệ thống (Mạng cục bộ).
Lưu ý rằng tường lửa ban đầu được giới thiệu là phần mềm xử lý iptables nhằm giúp người dùng điều hướng nó dễ dàng hơn. Sau phần giới thiệu về tường lửa và iptables, chúng ta hãy so sánh chúng chi tiết hơn.
iptables vs tường lửa: Cấu hình hệ thống
Tường lửa và iptables sử dụng các cấu hình và cài đặt lưu trữ mặc định khác nhau. Với iptables, mọi thay đổi có nghĩa là loại bỏ tất cả các quy tắc cũ và đọc các quy tắc mới, do đó hệ thống phải khởi động lại. Tuy nhiên, khi sử dụng tường lửa, các quy tắc sẽ không được tạo lại; thay vào đó, những khác biệt và sửa đổi được thực hiện sẽ được áp dụng để thay đổi các quy tắc hiện có để bạn có thể thấy chúng có hiệu lực trong thời gian chạy.
iptables vs tường lửa: Giao diện người dùng
Tường lửa sử dụng giao diện Người dùng Đồ họa (GUI). Tuy nhiên, iptables sử dụng Giao diện dòng lệnh (CLI), điều này có thể gây khó khăn cho một số người khi truy cập các quy tắc tường lửa nhân Linux bằng iptables, khiến tường lửa trở thành một tùy chọn đơn giản hơn. Tốt nhất nên lưu ý rằng iptables có thời gian phản hồi ngắn hơn vì bạn chỉ sử dụng các lệnh ngắn. Bỏ tất cả những điều này sang một bên, cả hai đều có trường hợp sử dụng riêng, vì vậy hãy chọn trường hợp bạn cảm thấy thoải mái hơn khi làm việc cùng.
Suy nghĩ cuối cùng: iptables hiển thị quy tắc
Iptables là một tiện ích tường lửa rất linh hoạt được tạo riêng cho hệ điều hành Linux. Sẽ không thành vấn đề nếu bạn là người mới sử dụng Linux hay quản trị viên hệ thống chuyên nghiệp; có một số cách mà các quy tắc iptables có thể hữu ích cho bạn. Bài viết này chủ yếu trình bày các lệnh cơ bản cho tiện ích tường lửa này, bao gồm các quy tắc hiển thị iptables và loại bỏ các quy tắc iptables, nhằm mục đích xem xét ngắn gọn các khả năng của Linux. Ngoài ra, bạn có thể sử dụng của chúng tôi Giải pháp lưu trữ VPS Linux để tận dụng tiềm năng thực sự của hệ điều hành tuyệt vời này. Tại cloudzy, chúng tôi cung cấp nhiều gói VPS Linux hỗ trợ KVM khác nhau phù hợp với nhiều trường hợp sử dụng, chẳng hạn như lưu trữ web, triển khai ứng dụng web hoặc thậm chí thiết lập môi trường để phát triển, thử nghiệm và tự động hóa mã.
Câu hỏi thường gặp
Làm cách nào để liệt kê tất cả các quy tắc iptables của Linux theo thông số kỹ thuật?
Nếu bạn muốn liệt kê tất cả các quy tắc iptables hiện đang hoạt động theo thông số kỹ thuật hoặc chức năng của chúng, bạn có thể làm như vậy bằng lệnh iptables, sau đó là lệnh -S cờ. Hãy chú ý sử dụng các sudo từ khóa trong trường hợp này:
sudo iptables -S
Làm thế nào để loại bỏ các quy tắc iptables?
Để xóa một chuỗi cụ thể, thao tác này sẽ xóa tất cả các quy tắc trong chuỗi, bạn phải sử dụng tùy chọn -F hoặc –flush và tên của chuỗi. Giả sử chúng ta muốn xóa toàn bộ các quy tắc trong chuỗi OUTPUT thì phải làm như thế nào? Chà, bạn cần thực hiện lệnh này:
sudo iptables -F ĐẦU RA
iptables hoạt động như thế nào trong Ubuntu?
Tường lửa iptables so sánh lưu lượng mạng với một bộ quy tắc. Các quy tắc iptables chỉ định các đặc điểm của gói phù hợp với quy tắc và hành động nào sẽ được thực hiện nếu các gói phù hợp. Tất nhiên, có nhiều tùy chọn để đặt gói nào phù hợp với một quy tắc cụ thể.
Các quy tắc iptables có hiệu lực ngay lập tức không? Tại sao?
Có, các quy tắc iptables có hiệu lực ngay lập tức; vì tập lệnh của bạn đang thêm vào chuỗi INPUT và OUTPUT và các quy tắc của bạn đang được thêm vào cuối chuỗi đó.