Xây Dựng Firewall Bằng Cách Sử dụng Iptables trên Ubuntu 20.04

IPtables là gì? Cách xây dựng Firewall bằng cách dùng IPtables như thế nào? Bài viết này, LANIT chia sẻ các bước thực hiện trên Ubuntu 20.04. Theo dõi ngay sau đây nhé!

Iptables là gì?

Iptables là một công cụ quản lý tường lửa (firewall) trong hệ thống Linux. Nó là chương trình tiện ích trong không gian người dùng cho phép quản trị viên hệ thống xác định các quy tắc (rules) để kiểm soát cách dữ liệu mạng được chuyển tiếp, chặn hoặc cho phép của tường lửa nhân Linux.

Sử dụng Iptables trên Ubuntu 20.04 để triển khai xây dựng Firewall cơ bản
Iptables là gì

Các quy tắc này có thể kiểm soát các khía cạnh khác nhau của lưu lượng mạng như:

  • Chặn hoặc cho phép kết nối đến từ các cổng cụ thể (port) trên máy tính hoặc máy chủ và ngược lại
  • Quản lý các giao thức mạng được sử dụng như TCP, UDP, hoặc ICMP.
  • Xác định IP nguồn và đích cho kết nối mạng.
  • Áp dụng các quy tắc NAT để chuyển tiếp lưu lượng mạng trong mạng nội bộ.

Iptables có thể được cấu hình thông qua các dòng lệnh hoặc tệp cấu hình. Công cụ này có sẵn trên các phân phối Linux và là một phần quan trọng của bảo mật hệ thống và mạng trong môi trường Linux.

Lợi ích khi Sử dụng Iptables để xây dựng firewall

Sử dụng Iptables để xây dựng Firewall trong hệ thống Linux là cách để bảo vệ máy tính hoặc máy chủ của bạn và mạng của bạn một cách hiệu quả. Cụ thể, việc này mang đến một số lợi ích có thể kể đến như:

  • Bảo vệ mạng và hệ thống: Iptables cho phép quản trị viên xác định các quy tắc để kiểm soát lưu lượng mạng, giúp ngăn chặn truy cập trái phép và tấn công từ bên ngoài.
  • Quản lý port và dịch vụ: Có thể chỉ định những cổng nào được mở và cho phép truy cập từ mạng ngoài. Giúp kiểm soát dịch vụ và ứng dụng nào có thể hoạt động trên máy chủ.
  • Lọc và loại bỏ lưu lượng không mong muốn: Iptables có thể chặn lưu lượng spam, tấn công DDoS và các loại tấn công mạng khác trước khi chúng tiếp cận máy chủ của bạn.
  • Quản lý truy cập từ xa: Có thể xác định nguồn của truy cập từ xa bằng IP và loại kết nối (TCP, UDP, ICMP), cho phép hoặc chặn kết nối từ các máy tính hoặc mạng cụ thể.
  • Bảo vệ dữ liệu quan trọng: Iptables có thể được cấu hình để bảo vệ dữ liệu quan trọng, chỉ các máy tính hoặc mạng được ủy quyền mới có thể truy cập vào tài nguyên quan trọng.
  • Tích hợp NAT: Iptables hỗ trợ Network Address Translation (NAT), cho phép bạn chuyển tiếp lưu lượng mạng trong mạng nội bộ hoặc ẩn IP thật của máy chủ khỏi các kết nối từ bên ngoài.
  • Tuân thủ các quy tắc mạng: Iptables giúp tuân thủ các quy tắc và chuẩn mạng.
  • Linh hoạt và tùy chỉnh: Iptables cho phép bạn tùy chỉnh và cấu hình các quy tắc firewall theo nhu cầu của bạn.
Iptables là gì
Iptables là gì

Như vậy, với những lợi ích trên, cho thấy Iptables là công cụ mạnh mẽ để xây dựng firewall trong hệ thống Linux, giúp bảo vệ máy chủ và mạng của bạn khỏi các mối đe dọa và tấn công mạng và kiểm soát truy cập từ xa an toàn nhất.

Sử dụng Iptables trên Ubuntu 20.04 để triển khai xây dựng Firewall cơ bản

Để triển khai firewall cơ bản bằng iptables trên Ubuntu 20.04, bạn cần thực hiện các bước đơn giản để cài đặt iptables sau đó tiến hành thiết lập quy tắc tường lửa. Dưới đây là hướng dẫn từng bước:

Bước 1: Cài Đặt iptables (Nếu Chưa Cài Đặt)

Iptables thường đã được cài đặt trên Ubuntu 20.04. Trường hợp chưa cài đặt, bạn có thể tiến hành cài đặt nó với lệnh sau:

sudo apt update
sudo apt install iptables

Bước 2: Xem Quy Tắc iptables Hiện Tại (Nếu Có)

Nếu hệ thống đã có các quy tắc iptables thì bạn cần xem xét các quy tắc này lại trước khi thêm các quy tắc mới vào hệ thống với lệnh sau:

sudo iptables -L

Bước 3: Thiết Lập Quy Tắc Mặc Định

Chặn tất cả các kết nối đến máy chủ, ngoại trừ các kết nối đã thiết lập với lệnh sau:

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP

Bước 4: Cho Phép Loopback và Kết Nối Đã Thiết Lập

Cho phép các kết nối trên giao diện loopback và các kết nối đã thiết lập với các lệnh sau:

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT

Bước 5: Cho Phép Kết Nối Đến Các Dịch Vụ Cụ Thể

Ví dụ: Để cho phép kết nối đến máy chủ web (port 80) và SSH (port 22) ta dùng lệnh sau:

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

Bước 6: Lưu Quy Tắc iptables

Sử dụng lệnh sau để lưu các quy tắc iptables:

sudo sh -c "iptables-save > /etc/iptables.rules"

Bước 7: Cấu Hình iptables Tự Động Tải Khi Khởi Động

Tạo một tệp systemd để tải các quy tắc iptables khi hệ thống khởi động với lệnh sau:

sudo nano /etc/systemd/system/iptables-restore.service

Thêm nội dung sau vào tệp:

[Unit]
Description=Load iptables rules
After=network.target
[Service]
ExecStart=/sbin/iptables-restore /etc/iptables.rules
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

Lưu và đóng tệp.

Bước 8: Kích Hoạt và Khởi Động Dịch Vụ iptables-restore

Để kích hoạt và khởi động dịch vụ iptables-restore

sudo systemctl enable iptables-restore
sudo systemctl start iptables-restore

Bước 9: Kiểm Tra Quy Tắc iptables

Kiểm tra lại các quy tắc iptables để đảm bảo rằng chúng đã được áp dụng đúng với lệnh sau:

sudo iptables -L

Đến đây là firewall iptables của bạn đã được thiết lập và sẽ được tải tự động khi hệ thống khởi động. Hãy nhớ kiểm tra kỹ càng trước khi đóng cửa cửa sổ kết nối SSH hiện tại để tránh mất quyền truy cập vào máy chủ của bạn.

Lời kết

Trên đây là những chia sẻ và hướng dẫn xây dựng firewall cơ bản bằng cách sử dụng IPtables. Hy vọng với những chia sẻ trên có thể giúp bạn thực hiện một cách nhanh chóng.

Dịch vụ máy chủ, vps giá rẻ tại LANIT có chương trình tặng firewall Chống DDoS mạnh mẽ, kèm ưu đãi khi đăng ký thuê dịch vụ.

Cảm ơn bạn đã theo dõi bài viết của chúng tôi!

avata Hải

Triệu Huyền Trang

Triệu Huyền Trang chuyên gia 3 năm kinh nghiệm trong ngành Công Nghệ, Phần Mềm. Chuyên chia sẻ các kiến thức phần mềm mã nguồn, ứng dụng và thông tin về công nghệ hữu ích.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!