Sự phát triển không ngừng của các cuộc tấn công mạng khiến việc bảo vệ hệ thống máy chủ trở thành một nhiệm vụ “sống còn” đối với các nhà quản trị. Từ việc chặn lưu lượng truy cập không mong muốn đến bảo vệ chống lại các mối đe dọa từ bên ngoài, IPtables mang lại sự linh hoạt và kiểm soát mạnh mẽ cho người dùng. Trong bài viết này, MONA Host sẽ giúp bạn tìm hiểu IPtables là gì, các bước chi tiết để cấu hình Iptables trên Ubuntu nhằm tăng cường bảo mật hệ thống Linux Firewall của bạn một cách hiệu quả nhất.

IPtables là gì?

IPtables là một công cụ quản lý tường lửa mạnh mẽ trên hệ điều hành Linux, cho phép người dùng kiểm soát lưu lượng mạng vào ra thông qua việc tạo ra các quy tắc cụ thể. Việc sử dụng IPtables giúp tăng cường an ninh mạng, ngăn chặn các truy cập trái phép và bảo vệ hệ thống khỏi các mối đe dọa tiềm ẩn.

IPtables là gì?

IPtables được tích hợp sẵn trong hầu hết các bản phân phối Linux phổ biến như Ubuntu, Debian, và CentOS, giúp người dùng dễ dàng quản lý các chính sách bảo mật mạng của mình.

Các thành phần chính trong IPtables

IPtables hoạt động dựa trên ba thành phần chính, bao gồm Tables (bảng chứa các quy tắc lọc gói tin), Chains (chuỗi các quy trình kiểm tra), và Targets (hành động cụ thể sau khi gói tin được kiểm tra). Dưới đây là mô tả chi tiết về các thành phần cơ bản trong IPtables.

Bạn có thể thiết lập nhiều bảng khác nhau, mỗi bảng có thể chứa nhiều chuỗi, mỗi một chuỗi là một bộ quy tắc.

Tables trong IPtables

Các Tables (bảng) trong IPtables đóng vai trò quan trọng trong việc quản lý và xử lý gói tin mạng thông qua các quy tắc định trước. Mỗi bảng trong hệ thống này đảm nhận một chức năng cụ thể để đảm bảo sự bảo mật và hiệu quả cho mạng lưới.

Tables trong IPtables
  • Filter Table: Bảng Filter là bảng phổ biến nhất và được sử dụng trong hầu hết các hoạt động của IPtables. Chức năng chính của bảng này là kiểm tra và quyết định liệu các gói tin có được phép tiếp tục đến đích hay bị chặn lại. Nó đảm bảo rằng chỉ những gói tin hợp lệ mới được chuyển tiếp.
  • NAT Table: Bảng NAT chịu trách nhiệm quản lý việc chuyển đổi thông tin địa chỉ nguồn và đích của gói tin. Với bảng này, hệ thống có thể điều chỉnh địa chỉ IP và cổng một cách linh hoạt, cho phép các gói tin được định tuyến một cách chính xác hơn trong mạng. Điều này đặc biệt hữu ích khi quản lý luồng dữ liệu vào ra mạng nội bộ.
  • Mangle Table: Mangle là bảng được sử dụng khi cần thay đổi các thông số trong header của gói tin. Bảng này cho phép điều chỉnh các giá trị như TTL (Time to Live) hay các thiết lập dịch vụ mạng khác. Bảng này đặc biệt hữu ích khi cần tối ưu hóa hiệu suất mạng hoặc cấu hình các chính sách xử lý gói tin phức tạp hơn.
  • Raw Table: Bảng Raw trong IPtables được thiết kế để xử lý các gói tin trước khi các quy tắc theo dõi trạng thái được áp dụng. Cho phép người dùng quyết định xem các gói tin có cần được theo dõi hay không, giúp giảm tải cho hệ thống và tối ưu hóa hiệu năng xử lý.
  • Security Table: Bảng Security được sử dụng để thiết lập các chính sách bảo mật thông qua các hệ thống như Linux. Nó giúp tạo ra một lớp bảo mật bổ sung, ngăn chặn những gói tin không mong muốn xâm nhập vào mạng, đảm bảo sự an toàn cho hệ thống.

Chains trong IPtables

Chains trong IPtables là những khối lệnh quyết định cách xử lý gói tin, có vai trò quan trọng cho quá trình điều hướng và bảo mật hệ thống mạng. Mỗi bảng trong IPtables như Filter Table, Mangle Table hay Nat Table đều chứa các chuỗi (Chain) với chức năng riêng biệt, cụ thể là:

Chains trong IPtables
  • Trong Mangle Table và Nat Table, Chain PREROUTING xử lý gói tin ngay khi nó được nhận từ giao diện mạng.
  • Chain INPUT xuất hiện tại bảng Mangle Table và Nat Table, đảm bảo việc thực thi các quy tắc trước khi gói tin được tiếp nhận vào hệ thống.
  • Chain OUTPUT tồn tại trong Filter Table, Raw Table và Mangle Table, chịu trách nhiệm xử lý các gói tin được tạo ra từ chính tiến trình của hệ thống.
  • Chain FORWARD được sử dụng trong Mangle Table và Filter Table để xử lý các gói tin được chuyển tiếp qua hệ thống bằng cách áp dụng các quy tắc định tuyến.
  • Cuối cùng, Chain POSTROUTING tồn tại ở bảng Mangle Table và Nat Table để đảm bảo các quy tắc được thực thi khi gói tin rời khỏi hệ thống giao diện mạng, sau khi hoàn thành quá trình xử lý.

Target trong IPtables

Target trong IPtables đại diện cho hành động mà hệ thống sẽ thực hiện đối với gói tin khi chúng thỏa mãn điều kiện của các quy tắc đã được thiết lập trước đó. Các Target phổ biến trong IPtables bao gồm:

Target trong IPtables
  • ACCEPT: Chấp nhận gói tin và cho phép nó tiếp tục đi qua hệ thống.
  • DROP: Loại bỏ gói tin mà không cần gửi phản hồi.
  • REJECT: Loại bỏ gói tin và gửi phản hồi tới nguồn phát.
  • LOG: Ghi lại thông tin của gói tin vào nhật ký hệ thống.

Target quyết định cách hệ thống xử lý các gói tin khi chúng đi qua tất cả các quy tắc đã đặt mà không gặp phải sự gián đoạn nào.

Tại sao nên sử dụng IPtables?

Khi nhắc đến tường lửa, nhiều người thường tìm đến các giải pháp đơn giản, dễ sử dụng như firewalld hoặc ufw. Tuy nhiên, sự đơn giản của chúng cũng hạn chế tính linh hoạt và không khai thác hết tiềm năng mà iptables mang lại như:

Tại sao nên sử dụng IPtables?
  • Tính năng toàn diện: iptables là một công cụ mạnh mẽ, cung cấp cho người dùng đầy đủ các chức năng cần thiết để quản lý lưu lượng mạng.
  • Linh hoạt trong xử lý packet: So với firewalld và ufw, iptables cho phép xử lý các packet một cách linh hoạt hơn, giúp người dùng thực hiện nhiều thao tác phức tạp như NAT, ghi log và chuyển tiếp.
  • Khả năng sáng tạo: Làm việc với iptables cho phép người dùng tự do xây dựng các kịch bản tường lửa tùy chỉnh kết hợp cùng việc thiết lập các quy tắc, đảm bảo cấu hình hệ thống được bảo mật theo cách hiệu quả nhất.
  • Trải nghiệm thực tế: Sử dụng iptables giúp bạn nắm bắt và áp dụng chi tiết những quy tắc về quản lý cũng như bảo mật hệ thống. Hiểu rõ cách chúng hoạt động, dễ dàng kiểm soát, điều chỉnh và kiểm soát toàn diện các quy tắc bảo mật hệ thống.

Cách cấu hình cơ bản trong IPtables

Khi thiết lập tường lửa với IPtables, người dùng cần thực hiện một số cấu hình cơ bản để đảm bảo an toàn cho hệ thống. IPtables cho phép người dùng quản lý lưu lượng mạng bằng cách sử dụng các quy tắc cụ thể để xác định hành động đối với các gói tin. Người dùng có thể dễ dàng cấu hình các quy tắc này thông qua dòng lệnh.

Cách cấu hình cơ bản trong IPtables

Mỗi quy tắc trong IPtables bao gồm một chuỗi và một mục tiêu tương ứng. Nghĩa là người dùng có thể thiết lập các quy tắc để cho phép, từ chối hoặc ghi lại các gói tin. Các mục tiêu phổ biến bao gồm:

  • ACCEPT: Cho phép gói tin tiếp tục đến đích của nó.
  • DROP: Từ chối gói tin mà không thông báo cho bên gửi.
  • LOG: Ghi lại gói tin để phân tích sau.

Các tùy chọn trong IPtables

Công cụ IPtables mang đến nhiều tùy chọn phong phú, giúp người dùng thực hiện các tác vụ quản lý tường lửa một cách hiệu quả. Mỗi tùy chọn này không chỉ tạo điều kiện thuận lợi cho việc cấu hình mà còn đảm bảo an ninh cho hệ thống.

Các tùy chọn trong IPtables

 Tùy chọn cài đặt thông số IPtables

Các tùy chọn được phân loại rõ ràng theo từng loại khác nhau. Tùy chọn để chỉ định các thông số cho IPtables là một trong những yếu tố cực kỳ quan trọng. Do đó, chi tiết thực hiện các tùy chọn chỉ định thông số như sau:

  • Chỉ định tên Table: -t
  • Chỉ định loại giao thức: -p
  • Chỉ định card mạng vào: -i
  • Chỉ định card mạng ra: -o
  • Chỉ định IP nguồn: -s <địa_chỉ_ip_nguồn>
  • Chỉ định IP đích: -d <địa_chỉ_ip_dích>
  • Chỉ định cổng nguồn: -sport
  • Chỉ định cổng đích: -dport

Tùy chọn thao tác với chain

Trong công cụ này, các tùy chọn để thao tác trên chain sẽ cung cấp cho người dùng những khả năng linh hoạt trong việc quản lý lưu lượng mạng. Việc hiểu rõ và áp dụng chính xác các tùy chọn này là rất quan trọng để đạt được hiệu quả tối ưu. Chi tiết về các tùy chọn để thao tác trên chain bao gồm:

  • Tạo chain mới: Iptables –N
  • Xóa tất cả các quy tắc đã có trong chain: Iptables –X
  • Đặt danh sách cho các chain ‘built-in’ (INPUT, OUTPUT & FORWARD): Iptables –p
  • Liệt kê các quy tắc trong chain:Iptables –L
  • Xóa các quy tắc trong chain: Iptables –F
  • Đặt lại bộ đếm Packet về 0: Iptables –Z

Tùy chọn thao tác với rule

Để thao tác trên các quy tắc trong Iptables, người dùng cần nắm rõ các tùy chọn được quy định. Những tùy chọn này giúp việc quản lý và điều chỉnh quy tắc trở nên dễ dàng hơn. Dưới đây là một số tùy chọn quan trọng mà người dùng nên ghi nhớ:

  • Thêm quy tắc: -A
  • Xóa quy tắc: -D
  • Thay thế quy tắc: -R
  • Chèn thêm quy tắc: -I

Một số lệnh cơ bản trong IPtables

Các lệnh này trong IPtables được phân thành hai loại chính: cơ bản và nâng cao. Trên thực tế, người dùng thường chỉ cần áp dụng linh hoạt các lệnh cơ bản để thực hiện các thao tác đơn giản mà hiệu quả. Một số lệnh cơ bản dưới đây mà người dùng cần nắm vững.

Một số lệnh cơ bản trong IPtables

Câu lệnh tạo một rule mới

Để tạo một rule mới trong IPtables, bạn có thể sử dụng câu lệnh:

iptables -A INPUT -i lo -j ACCEPT

Trong đó:

  • -A” là viết tắt của Append, có nghĩa là thêm quy tắc vào cuối danh sách quy tắc hiện có.
  • INPUT” chỉ ra rằng quy tắc này sẽ áp dụng cho các gói tin gửi đến máy chủ.
  • -i lo” cho biết quy tắc áp dụng cho giao diện loopback, tức là giao tiếp nội bộ trong máy chủ.
  • -j ACCEPT” chỉ rõ hành động là chấp nhận các gói tin phù hợp với quy tắc này.

Sau khi thêm quy tắc, bạn có thể kiểm tra các quy tắc hiện tại bằng lệnh:

iptables -L -v

Nếu quy tắc mới được thêm thành công, bạn sẽ thấy nó xuất hiện trong danh sách. Đừng quên lưu lại các thay đổi và khởi động lại tường lửa để áp dụng:

service iptables save
service iptables restart

Để tiếp tục thêm các quy tắc cho phép duy trì kết nối hiện tại, bạn có thể sử dụng:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Nếu bạn cần mở cổng từ bên ngoài sử dụng giao thức TCP, ví dụ cho SSH trên cổng 22, bạn có thể thực hiện lệnh:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Trong đó, -p tcp xác định giao thức và –dport 22 chỉ định cổng áp dụng. Cuối cùng, để ngăn chặn mọi kết nối không tuân thủ quy tắc đã thiết lập, bạn có thể dùng:

iptables -A INPUT -j DROP

Câu lệnh bổ sung một rule mới

Để thêm một quy tắc mới vào IPtables tại một vị trí cụ thể, việc sử dụng các lệnh bổ sung là rất cần thiết. Người dùng có thể thay thế tham số -A table bằng tham số -I để thực hiện điều này. Câu lệnh để thêm một quy tắc mới có thể được viết như sau:

iptables -I INPUT 2 -p tcp --dport 8080 -j ACCEPT

Với câu lệnh này, bạn có thể dễ dàng cấu hình để chấp nhận các kết nối TCP đến cổng 8080.

Câu lệnh xóa một rule

Để xóa một quy tắc đã được thiết lập trong IPtables, bạn có thể sử dụng lệnh xóa với tham số -D. Cụ thể, cấu trúc lệnh để loại bỏ một quy tắc sẽ như sau:

IPtables -D INPUT 4

Nếu bạn muốn xóa tất cả các quy tắc có hành động DROP trong IPtables, quy trình này cũng khá đơn giản. Chỉ cần thực hiện lệnh với cú pháp sau để xóa toàn bộ các quy tắc đó:

IPtables -D INPUT -j DROP

Hướng dẫn cách sử dụng IPtables để mở Port VPS

Việc mở port một cách an toàn sẽ đảm bảo tính ổn định trong việc kết nối hệ thống với các dịch vụ bên ngoài. Sau đây MONA Host sẽ cung cấp hướng dẫn chi tiết về cách mở port sử dụng IPtables (IPtables open port), giúp bạn không chỉ hiểu rõ hơn về cách thức hoạt động của công cụ này mà còn có thể áp dụng thực tiễn một cách hiệu quả.

Mở Port SSH

Để mở cổng SSH 22 và cho phép truy cập vào VPS từ bất kỳ thiết bị hay người dùng nào, bạn có thể thực hiện theo các bước đơn giản sau đây.

Trước tiên, để cho phép truy cập SSH từ mọi nguồn, bạn hãy sử dụng lệnh sau:

iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Cổng SSH thường được cài đặt mặc định là 22. Nếu bạn đã thay đổi cổng SSH sang một số khác, hãy nhớ điều chỉnh lại cổng trong lệnh trên.

Tiếp theo, nếu bạn muốn chỉ cho phép kết nối SSH từ một địa chỉ IP cụ thể, hãy sử dụng lệnh này:

iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx -m tcp --dport 22 -j ACCEPT

Trong lệnh này, IPtables sẽ thêm một quy tắc cho phép kết nối SSH chỉ từ địa chỉ IP mà bạn đã chỉ định (được đại diện bởi xxx.xxx.xxx.xxx).

Mở Port Web Server

Để mở cổng cho Web Server và cho phép truy cập từ bất kỳ thiết bị nào, bạn có thể thực hiện như sau:

Đầu tiên, để mở cổnng HTTP (cổng 80) cho mọi nguồn truy cập, hãy sử dụng lệnh sau:

iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Cổng HTTP thường được thiết lập mặc định là 80. Nếu bạn đã thay đổi cổng cho Web Server sang một cổng khác, hãy nhớ điều chỉnh lại số cổng trong lệnh trên.

Nếu bạn chỉ muốn cho phép kết nối từ một địa chỉ IP cụ thể, hãy sử dụng lệnh sau:

iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx -m tcp --dport 80 -j ACCEPT

Trong lệnh này, IPtables sẽ thêm một quy tắc cho phép kết nối đến Web Server chỉ từ địa chỉ IP mà bạn đã chỉ định (được đại diện bởi xxx.xxx.xxx.xxx).

Mở Port Mail

Để mở các cổng cho dịch vụ Mail trên server bằng IPtables, hãy thao tác theo các bước sau:

Các lệnh cho phép người dùng sử dụng giao thức SMTP qua các cổng mặc định là 25 và 465 là:

# IPtables -I INPUT -p tcp -m tcp --dport 25 -j ACCEPT
# IPtables -I INPUT -p tcp -m tcp --dport 465 -j ACCEPT

Công cụ này sẽ hiển thị các giao thức SMTP và URD như sau:

ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
ACCEPT tcp -- anywhere anywhere tcp dpt:urd

Để mở các cổng POP3 (cổng mặc định 110 và 995) cho phép người dùng đọc email trên server, hãy sử dụng lệnh:

# IPtables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
# IPtables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT

Công cụ này sẽ hiển thị các giao thức POP3 và POP3S:

ACCEPT tcp -- anywhere anywhere tcp dpt:pop3
ACCEPT tcp -- anywhere anywhere tcp dpt:pop3s

Cuối cùng, bạn có thể sử dụng các dòng lệnh dưới đây để mở cổng cho giao thức IMAP (cổng mặc định 143 và 993):

# IPtables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
# IPtables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

Công cụ này sẽ hiển thị các giao thức IMAP và IMAPS như sau:

ACCEPT tcp -- anywhere anywhere tcp dpt:imap
ACCEPT tcp -- anywhere anywhere tcp dpt:imaps

Chặn địa chỉ IP truy cập

Để chặn một địa chỉ IP cụ thể truy cập vào server, sử dụng lệnh:

IPtables -A INPUT -s IP_ADDRESS -j DROP

Hay nếu muốn chặn một địa chỉ IP truy cập vào một cổng nhất định, bạn có thể áp dụng lệnh:

IPtables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j DROP

Sau khi đã thiết lập tất cả các quy tắc, bao gồm việc mở các cổng cần thiết hoặc hạn chế kết nối, cần chặn toàn bộ các kết nối còn lại và cho phép toàn bộ các kết nối ra ngoài từ VPS:

IPtables -P OUTPUT ACCEPT
IPtables -P INPUT DROP

Để kiểm tra lại các quy tắc sau khi thiết lập, sử dụng lệnh:

service IPtables status
IPtables -L -n

Tùy chọn -n giúp chỉ định IP, ví dụ, nếu chặn kết nối từ một địa chỉ cụ thể, IPtables sẽ hiển thị là xxx.xxx.xxx.xxx với tham số -n.

Cuối cùng, lưu lại các cài đặt tường lửa IPtables, nếu không sẽ mất khi khởi động lại hệ thống.

Trong CentOS, cấu hình được lưu tại:

/etc/sysconfig/IPtables

Để lưu các quy tắc tường lửa, sử dụng:

IPtables-save | sudo tee /etc/sysconfig/IPtables

Hoặc:

service IPtables save

Kết thúc, các quy tắc tường lửa được lưu vào /etc/sysconfig/IPtables: [OK]

Hướng dẫn thiết lập IPtables với Linux Firewall chi tiết

Để thiết lập IPtables Linux Firewall, người dùng cần nắm rõ các quy tắc và lệnh cơ bản. Việc áp dụng chính xác các lệnh này không chỉ giúp bảo vệ hệ thống mà còn tăng cường khả năng kiểm soát lưu lượng mạng. Dưới đây MONA Host sẽ hướng dẫn bạn những bước thiết lập IPtabales cụ thể và chi tiết nhất.

Hướng dẫn này giả định rằng bạn đang sử dụng máy chủ Linux với IPTables đã được cài đặt và người dùng của bạn có quyền truy cập với lệnh sudo. Khi làm việc với IPTables trên firewall Linux, bạn cần lưu ý không tự khóa truy cập vào 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 bạn mất quyền truy cập, bạn có thể cần phải kết nối thông qua một OOB console (Out of Band console) để khôi phục quyền truy cập của mình.

Bước 1: Cài đặt IPtables Linux Firewall

Trên hầu hết các phiên bản Linux hiện nay, IPtables đã được tích hợp sẵn. Để xác nhận iptables đã được cài đặt, hãy sử dụng lệnh sau:

iptables --version

Đối với các hệ điều hành dựa trên Debian, chẳng hạn như Ubuntu, bạn có thể thực hiện các bước sau để cài đặt IPtables (install IPtables). Đầu tiên, sử dụng trình quản lý gói APT để cài đặt IPtables Ubuntu bằng lệnh:

sudo apt install iptables

sử dụng trình quản lý gói APT để cài đặt IPtables Ubuntu

Để đảm bảo rằng các quy tắc tường lửa IPtables được giữ nguyên sau khi khởi động lại, bạn cần cài đặt gói iptables-persistent:

sudo apt install iptables-persistent

Trong quá trình này, hệ thống sẽ hiển thị đường dẫn tệp lưu các quy tắc và yêu cầu bạn xác nhận việc lưu các quy tắc hiện tại cho IPv4 và IPv6.

Cuối cùng, để kích hoạt dịch vụ netfilter-persistent khi khởi động, bạn chỉ cần chạy lệnh sau:

sudo systemctl enable netfilter-persistent

kích hoạt dịch vụ netfilter-persistent khi khởi động

Lệnh này đảm bảo rằng dịch vụ sẽ tự động khởi động mỗi khi hệ thống được khởi động lại.

Bước 2: Cách cấu hình IPtables trên Linux

Lệnh iptables cho phép người dùng quản lý lưu lượng truy cập mạng thông qua việc cấu hình tường lửa. Để cấu hình IPtables trên Linux (configure IPtables in Linux) hiệu quả, trước hết bạn cần nắm vững các lệnh cơ bản hay được sử dụng. Dưới đây là hướng dẫn chi tiết cách cấu hình IPtables trong các tình huống thực tế.

Liệt kê các rule hiện tại dưới dạng bảng

Để xem các quy tắc iptables ở chế độ dạng bảng, bạn hãy sử dụng lệnh sau:

sudo iptables -L

xem các quy tắc iptables ở chế độ dạng bảng

Hệ thống sẽ hiển thị trạng thái các chuỗi hiện có, bao gồm INPUT, FORWARD và OUTPUT.

Nếu bạn muốn giới hạn đầu ra cho một chuỗi cụ thể ( INPUT, OUTPUT, TCP,…), bạn hãy chỉ định tên chuỗi ngay sau -L.

Ví dụ như: bạn cần xem chuỗi INPUT, hãy nhập lệnh sau:

sudo iptables -L INPUT

xem các quy tắc iptables theo chuỗi cụ thể

Cho phép kết nối với Loopback

Giao diện loopback, hay còn được gọi là lo, giúp các phần mềm trong máy tính giao tiếp nhanh chóng và hiệu quả. Khi bạn ping localhost hoặc ping 127.0.0.1, máy chủ của bạn sẽ tự ping chính nó bằng cách sử dụng vòng lặp.
Để cho phép toàn bộ lưu lượng trên giao diện loopback, bạn hãy chạy lệnh sau:

sudo iptables -A INPUT -i lo -j ACCEPT

Cho phép kết nối với Loopback

Lệnh này sẽ cấu hình tường lửa để chấp nhận tất cả lưu lượng truy cập từ giao diện localhost.

Cho phép lưu lượng truy cập cho các dịch vụ cụ thể

Để cho phép lưu lượng trên các cổng cho các dịch vụ khác nhau, người dùng có thể tham khảo các lệnh dưới đây:

  • Lệnh cho phép những lượng truy cập web HTTP đến ( port 80 ), sử dụng lệnh sau:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Lệnh cho phép những lượng truy cập web HTTP đến ( port 80 )
  • Lệnh chỉ cho phép những lưu lượng SSH đến:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Lệnh chỉ cho phép những lưu lượng SSH đến:
  • Lệnh cho phép những lượng truy cập HTTPS (port 443):

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Lệnh cho phép những lượng truy cập HTTPS (port 443):

Kiểm soát lưu lượng truy cập theo địa chỉ IP

Người dùng có thể kiểm soát lưu lượng dựa trên địa chỉ IP bằng các lệnh như:

  • Chấp nhận tất cả lưu lượng từ một địa chỉ IP:

sudo iptables -A INPUT -s [IP-address] -j ACCEPT

Chấp nhận tất cả lưu lượng từ một địa chỉ IP
  • Loại bỏ lưu lượng từ một địa chỉ IP:

sudo iptables -A INPUT -s [IP-address] -j DROP

Loại bỏ lưu lượng từ một địa chỉ IP
  • Từ chối lưu lượng từ phạm vi địa chỉ IP:

sudo iptables -A INPUT -m iprange --src-range [IP-address-range] -j REJECT

Thay thế địa chỉ IP trong lệnh bằng địa chỉ thực tế.

Ghi lại các gói bị chặn

Để ghi lại các gói tin bị loại bỏ, thực hiện các bước sau:

  • Sử dụng mục tiêu LOG và thêm tiền tố tin nhắn:

sudo iptables -A INPUT -j LOG --log-prefix "Dropped: "

  • Thêm quy tắc để loại bỏ các gói tin sau khi ghi nhật ký:

sudo iptables -A INPUT -j DROP

  • Để kiểm tra nhật ký, sử dụng lệnh dmesg:

sudo dmesg | grep "Dropped"

Để kiểm tra nhật ký, sử dụng lệnh dmesg
  • Ngoài ra, người dùng có thể kiểm tra tệp syslog:

sudo tail -f /var/log/syslog | grep “Dropped packet”

Xóa một rule

Để xóa một rule cụ thể, đầu tiên bạn cần liệt kê tất cả các quy tắc bằng lệnh là:

sudo iptables -L --line-numbers

Xóa một rule

Nhập câu lệnh này để xác định số dòng của rule cần xóa và chạy:

sudo iptables -D INPUT [number]

Thay thế [number] bằng số dòng quy tắc cần xóa.

Nhập câu lệnh này để xác định số dòng của rule cần xóa và chạy:

Chặn tất cả lưu lượng đến ngoại trừ SSH

Để chặn mọi lưu lượng truy cập đến ngoại trừ các kết nối SSH, bạn cần thực hiện các thao tác chi tiết như sau:

  • Đặt chính sách mặc định cho chuỗi INPUT thành DROP bằng lệnh:

sudo iptables -P INPUT DROP

  • Cho phép kết nối SSH bằng lệnh:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

  • Cho phép các kết nối liên quan và đã được thiết lập bằng lệnh:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Cho phép các kết nối liên quan và đã được thiết lập bằng lệnh:

Bước 3: Lưu thay đổi trên IPtables

Để giữ các quy tắc IPtables sau khi khởi động lại, hãy thực hiện lưu bằng câu lệnh:

sudo netfilter-persistent save

Lưu thay đổi trên IPtables

Bằng cách hiểu rõ các lệnh và quy tắc trong IPtables là gì, bạn sẽ kiểm soát tốt hơn việc truy cập và bảo mật cho VPS của mình. Nếu bạn đang tìm kiếm một Cloud Hosting, VPS mạnh mẽ và bảo mật, MONA Host chính là giải pháp toàn diện, đáp ứng đầy đủ những yêu cầu từ chất lượng sản phẩm cho đến dịch vụ hỗ trợ chuyên nghiệp. Hãy liên hệ ngay HOTLINE 1900 636 648 để được tư vấn và trải nghiệm dịch vụ lưu trữ web hàng đầu thị trường.

Kết nối với mình qua

Mình là Võ Nguyên Thoại, hiện tại đang là Co-founder và CTO của MONA Host - công ty chuyên cung cấp các dịch vụ cloud hosting, vps và hạ tầng thuộc phân khúc cao cấp tại thị trường Việt Nam, đồng thời cũng là Group CTO của The MONA, công ty chủ quản của MONA Media, MONA Software và MONA Host, với hệ sinh thái đầy đủ và hoàn chỉnh để phát triển doanh nghiệp trên môi trường internet.

Với kinh nghiệm làm việc chuyên sâu hơn 15 năm trong lĩnh vực CNTT, trải dài từ mảng hạ tầng, hệ thống, phát triển phần mềm và devops, Thoại mong muốn đóng góp các kinh nghiệm và kiến thức của mình tại Mona để xây dựng một hạ tầng CNTT với các trải nghiệm mới, cao cấp hơn, mượt mà hơn, tin cậy hơn và xoá bỏ khoảng cách giữa các doanh nghiệp và công cuộc chuyển đổi số với đội ngũ chuyên viên kỹ thuật cao luôn hỗ trợ khách hàng 24/7.

Hy vọng với những kiến thức, hiểu biết Thoại chia sẻ sẽ hữu ích đến các bạn độc giả quan tâm!

Bài viết liên quan

Iptables Là Gì? Hướng Dẫn Cấu Hình Và Thiết Lập
24 Tháng Chín, 2024
Iptables Là Gì? Hướng Dẫn Cấu Hình Và Thiết Lập Iptables Chi Tiết
Sự phát triển không ngừng của các cuộc tấn công mạng khiến việc bảo vệ hệ thống máy chủ trở thành một nhiệm vụ “sống còn” đối với các nhà quản trị. Từ việc chặn lưu lượng truy cập không mong muốn đến bảo vệ chống lại các mối đe dọa từ bên ngoài, IPtables...

Võ Nguyên Thoại

Private Cloud Là Gì? Tổng Hợp Kiến Thức Về Private Cloud Chi Tiết
23 Tháng Chín, 2024
Private Cloud Là Gì? Tổng Hợp Kiến Thức Về Private Cloud Chi Tiết
Private Cloud là môi trường điện toán đám mây phổ biến được nhiều doanh nghiệp / tổ chức sử dụng hiện nay. Mô hình máy chủ ảo dùng riêng là giải pháp toàn diện giúp doanh nghiệp quản lý hạ tầng và lưu trữ dữ liệu ở mức bảo mật cao nhất. Trong bài viết...

Võ Nguyên Thoại

IIS Là Gì? Các Bước Cài Đặt Và Cấu hình IIS Server Chi Tiết
21 Tháng Tám, 2024
IIS Là Gì? Các Bước Cài Đặt Và Cấu hình IIS Server Chi Tiết
IIS của Microsoft là một giải pháp máy chủ web mạnh mẽ được sử dụng rộng rãi trong các tổ chức và doanh nghiệp. Được biết đến với khả năng xử lý các ứng dụng web một cách mượt mà và bảo mật, IIS cung cấp một loạt các tính năng giúp đơn giản hóa...

Võ Nguyên Thoại

Serverless là gì? Ưu nhược điểm và cách ứng dụng Serverless hiệu quả
08 Tháng Tám, 2024
Serverless Là Gì? Ưu Nhược Điểm Và Cách Ứng Dụng Serverless Hiệu Quả
Bạn đã từng nghe về Serverless nhưng vẫn chưa thực sự hiểu rõ đây là gì? Đúng như tên gọi, Serverless với chức năng chính là giúp doanh nghiệp không cần quản lý máy chủ. Trong bài viết này, hãy cùng MONA Host khám phá sâu hơn Serverless là gì để hiểu rõ hơn về...

Võ Nguyên Thoại

Client Server Là Gì? Tổng Hợp Thông Tin Về Mô Hình Client Server
23 Tháng Bảy, 2024
Client Server Là Gì? Tổng Hợp Thông Tin Về Mô Hình Client Server
Mô hình Client Server là mô hình giúp người dùng phân vùng các nhiệm vụ giữa các nhà cung cấp với nhau và được sử dụng rất phổ biến trên hệ thống mạng máy tính hiện nay. Vậy chính xác thì Client Server là gì? Mô hình mạng khách chủ Client Server có nguyên tắc...

Võ Nguyên Thoại

Litespeed Web Server là gì? Vì sao nên sử dụng Litespeed Cache?
22 Tháng Bảy, 2024
Litespeed Web Server là gì? Vì sao nên sử dụng Litespeed Cache?
Bạn có từng nghe đến LiteSpeed Web Server (LSWS) không? Đây là một trong những phần mềm máy chủ web được sử dụng phổ biến nhất hiện nay, đặc biệt là trong cộng đồng lập trình viên và quản trị viên hệ thống. Vậy Litespeed Web Server là gì? LiteSpeed có những tính năng nổi...

Võ Nguyên Thoại

VPN Server Là Gì? Có Nên Sử Dụng VPN Server Không?
06 Tháng Bảy, 2024
VPN Là Gì? Có Nên Sử Dụng Mạng Riêng Ảo Không?
Mạng riêng ảo (VPN) là khái niệm rất phổ biến hiện nay, chắc hẳn bạn đã từng nghe qua cụm từ này. Vậy thực chất VPN là gì? Hãy cùng MONA Host tìm hiểu về VPN Server trong nội dung dưới đây nhé. VPN là gì? VPN (Virtual Private Network) hay còn được gọi là...

Võ Nguyên Thoại

Proxy Server là gì?Sự khác biệt giữa Máy chủ proxy và VPN là gì?
02 Tháng Bảy, 2024
Proxy Server Là Gì? Sự Khác Biệt Giữa VPN Và Proxy Server Là Gì?
Proxy Server hoạt động như một máy chủ trung gian giữa người dùng và các trang web họ truy cập. Chúng được thiết lập như một tường lửa hoặc bộ lọc web, hoạt động như một lớp an ninh mạng giúp ngăn chặn kẻ tấn công mạng xâm nhập vào mạng riêng tư và bảo...

Võ Nguyên Thoại

Server Là Gì? Tính Năng Và Cách Thức Hoạt Động Của Máy Chủ
24 Tháng Sáu, 2024
Server Là Gì? Tính Năng Và Cách Thức Hoạt Động Của Máy Chủ
Máy chủ đóng vai trò quan trọng trên môi trường Internet, tuy nhiên vẫn chưa nhiều người dùng hiểu được máy chủ server là gì? Server chuyên dụng có thể sử dụng cho nhiều mục đích khác nhau như cung cấp không gian lưu trữ hay chạy những ứng dụng phần mềm. Bài viết dưới...

Võ Nguyên Thoại

502 Bad Gateway Là Lỗi Gì? Khắc Phục Lỗi 502 Bad Gateway Hiệu Quả
19 Tháng Sáu, 2024
Lỗi 502 Bad Gateway Là Gì? Khắc Phục Lỗi 502 Nhanh Chóng Hiệu Quả
502 Bad Gateway là một lỗi trang thái HTTP phổ biến người dùng thường gặp. Lỗi 502 Bad gateway xảy ra khi máy chủ hoạt động như thiết bị gateway hay proxy mà nhận được phản hồi không hợp lệ từ một máy chủ khác. Để hiểu rõ hơn về lỗi 502 Bad Gateway là...

Võ Nguyên Thoại

SSH Là Gì? Cách Sử Dụng SSH Để Kết Nối Với Server Linux
19 Tháng Sáu, 2024
SSH Là Gì? Cách Sử Dụng SSH Để Kết Nối Với Server Linux
SSH là một giao thức mạng được sử dụng rộng rãi hiện nay. Giao thức mạng này phát triển nhằm thay thế các giao thức kết nối không an toàn như Telnet. SSH cung cấp một phương thức mã hóa dữ liệu mạnh mẽ, đảm bảo rằng thông tin truyền tải qua mạng được bảo...

Võ Nguyên Thoại

Dịch vụ Email Server Chuyên Nghiệp, Bảo Mật Tuyệt Đối
05 Tháng Sáu, 2024
Dịch Vụ Email Server Chuyên Nghiệp, Bảo Mật Tuyệt Đối
Giao tiếp công việc qua Email được xem là một trong những phương thức an toàn và hiệu quả nhất được ứng dụng phổ biến trong đa số các lĩnh vực khác nhau. Phía sau mỗi email gửi đi và nhận về đó là một hệ thống phức tạp được gọi là Email Server, đóng...

Võ Nguyên Thoại

Nhận các thông báo mới từ MONA.Host?

Đăng ký để nhận các bài nghiên cứu, blog, thông tin mới nhất từ chúng tôi