Cấu Hình Tường Lửa Debian: Bảo Vệ Hệ Thống Từ A Đến Z

Bạn đang sử dụng Debian và muốn bảo vệ hệ thống của mình khỏi những cuộc tấn công mạng? Cấu hình tường lửa là một bước vô cùng quan trọng. Trong bài viết này, Mekong WIKI sẽ hướng dẫn bạn cách Cấu Hình Tường Lửa Debian một cách chi tiết và dễ hiểu, ngay cả khi bạn là người mới bắt đầu. Chúng ta sẽ đi sâu vào các công cụ phổ biến, cách thiết lập các quy tắc, và những mẹo bảo mật hữu ích.

Tại Sao Cần Cấu Hình Tường Lửa Trên Debian?

Tường lửa hoạt động như một người gác cổng, kiểm soát lưu lượng mạng ra vào hệ thống của bạn. Nó giúp ngăn chặn các truy cập trái phép, phần mềm độc hại, và các cuộc tấn công từ bên ngoài. Nếu không có tường lửa, hệ thống Debian của bạn sẽ rất dễ bị tấn công, dẫn đến mất dữ liệu, gián đoạn dịch vụ, và nhiều hậu quả nghiêm trọng khác.

Các Loại Tường Lửa Phổ Biến Trên Debian

Có nhiều lựa chọn tường lửa khác nhau dành cho Debian, nhưng phổ biến nhất là:

  • iptables: Đây là tường lửa mặc định trên các hệ thống Linux, bao gồm Debian. Nó cung cấp khả năng kiểm soát chi tiết lưu lượng mạng thông qua các bảng và chuỗi quy tắc. Mặc dù mạnh mẽ, iptables có thể hơi phức tạp đối với người mới bắt đầu.
  • ufw (Uncomplicated Firewall): Ufw là một giao diện đơn giản hơn cho iptables, giúp bạn cấu hình tường lửa một cách dễ dàng hơn. Nó sử dụng cú pháp lệnh thân thiện với người dùng và cung cấp các cấu hình sẵn có cho các dịch vụ phổ biến.
  • nftables: Đây là thế hệ tường lửa mới, được thiết kế để thay thế iptables. Nftables cung cấp hiệu suất tốt hơn và cú pháp cấu hình linh hoạt hơn. Tuy nhiên, nó có thể đòi hỏi kiến thức chuyên sâu hơn về mạng.

Ưu Điểm và Nhược Điểm của Từng Loại Tường Lửa

Tường Lửa Ưu Điểm Nhược Điểm
iptables Kiểm soát chi tiết, linh hoạt, khả năng tùy biến cao Cú pháp phức tạp, khó học cho người mới bắt đầu
ufw Dễ sử dụng, cú pháp đơn giản, cấu hình sẵn có cho các dịch vụ phổ biến Ít linh hoạt hơn iptables, giới hạn về khả năng tùy biến nâng cao
nftables Hiệu suất cao, cú pháp linh hoạt, khả năng mở rộng Đòi hỏi kiến thức chuyên sâu về mạng

Chuyên gia bảo mật mạng Nguyễn Hoàng Nam nhận định: “Đối với người mới bắt đầu, ufw là một lựa chọn tuyệt vời để làm quen với việc cấu hình tường lửa trên Debian. Khi đã có kinh nghiệm, bạn có thể chuyển sang iptables hoặc nftables để có khả năng kiểm soát chi tiết hơn.”

Hướng Dẫn Cấu Hình Tường Lửa Ufw Trên Debian

Trong phần này, chúng ta sẽ tập trung vào cách cấu hình tường lửa ufw, vì nó dễ sử dụng và phù hợp cho hầu hết người dùng Debian.

Cài Đặt Ufw

Nếu ufw chưa được cài đặt trên hệ thống của bạn, bạn có thể cài đặt nó bằng lệnh sau:

sudo apt update
sudo apt install ufw

Kích Hoạt Ufw

Sau khi cài đặt, bạn cần kích hoạt ufw để nó bắt đầu hoạt động.

sudo ufw enable

Lưu ý rằng ufw sẽ chặn tất cả các kết nối đến theo mặc định. Vì vậy, bạn cần cho phép kết nối SSH trước khi kích hoạt ufw, nếu không bạn sẽ bị mất kết nối đến máy chủ.

sudo ufw allow OpenSSH

Cấu Hình Các Quy Tắc Cơ Bản

  • Cho phép kết nối từ một cổng cụ thể: Ví dụ, để cho phép kết nối đến cổng 80 (HTTP), bạn có thể sử dụng lệnh sau:

    sudo ufw allow 80
  • Cho phép kết nối đến một cổng cụ thể sử dụng giao thức TCP hoặc UDP: Ví dụ, để cho phép kết nối TCP đến cổng 22 (SSH), bạn có thể sử dụng lệnh sau:

    sudo ufw allow 22/tcp
  • Cho phép kết nối từ một địa chỉ IP cụ thể: Ví dụ, để cho phép kết nối từ địa chỉ IP 192.168.1.100, bạn có thể sử dụng lệnh sau:

    sudo ufw allow from 192.168.1.100
  • Cho phép kết nối đến một cổng cụ thể từ một địa chỉ IP cụ thể: Ví dụ, để cho phép kết nối TCP đến cổng 3306 (MySQL) từ địa chỉ IP 192.168.1.100, bạn có thể sử dụng lệnh sau:

    sudo ufw allow from 192.168.1.100 to any port 3306 proto tcp
  • Từ chối kết nối từ một cổng cụ thể: Ví dụ, để từ chối kết nối đến cổng 25 (SMTP), bạn có thể sử dụng lệnh sau:

    sudo ufw deny 25

Hiển Thị Trạng Thái và Quy Tắc Của Ufw

Để xem trạng thái và các quy tắc hiện tại của ufw, bạn có thể sử dụng lệnh sau:

sudo ufw status

Để hiển thị trạng thái và quy tắc chi tiết hơn, bạn có thể sử dụng lệnh sau:

sudo ufw status verbose

Xóa Bỏ Quy Tắc

Để xóa một quy tắc, bạn có thể sử dụng lệnh delete theo sau là quy tắc bạn muốn xóa. Ví dụ, để xóa quy tắc cho phép kết nối đến cổng 80, bạn có thể sử dụng lệnh sau:

sudo ufw delete allow 80

Bạn cũng có thể xóa quy tắc bằng cách sử dụng số thứ tự của nó. Đầu tiên, hiển thị danh sách các quy tắc bằng lệnh sudo ufw status numbered. Sau đó, sử dụng số thứ tự của quy tắc để xóa nó. Ví dụ, nếu quy tắc bạn muốn xóa có số thứ tự là 5, bạn có thể sử dụng lệnh sau:

sudo ufw delete 5

Đặt Chính Sách Mặc Định

Ufw cho phép bạn đặt chính sách mặc định cho các kết nối đến và đi. Chính sách mặc định xác định hành vi của tường lửa đối với các kết nối không khớp với bất kỳ quy tắc nào.

  • Từ chối tất cả các kết nối đến theo mặc định:

    sudo ufw default deny incoming
  • Cho phép tất cả các kết nối đi theo mặc định:

    sudo ufw default allow outgoing

Ví Dụ Cấu Hình Ufw Cho Máy Chủ Web

Giả sử bạn có một máy chủ web chạy trên Debian và bạn muốn cấu hình ufw để bảo vệ nó. Bạn cần cho phép kết nối đến các cổng 80 (HTTP) và 443 (HTTPS), đồng thời từ chối tất cả các kết nối khác.

  1. Cho phép kết nối đến cổng 80:

    sudo ufw allow 80
  2. Cho phép kết nối đến cổng 443:

    sudo ufw allow 443
  3. Từ chối tất cả các kết nối đến theo mặc định:

    sudo ufw default deny incoming
  4. Đảm bảo cho phép kết nối SSH để có thể quản lý máy chủ từ xa:

    sudo ufw allow OpenSSH
  5. Kích hoạt ufw:

    sudo ufw enable

Cấu Hình Tường Lửa Iptables Trên Debian

Iptables là một công cụ mạnh mẽ nhưng phức tạp hơn ufw. Nó cho phép bạn kiểm soát lưu lượng mạng một cách chi tiết thông qua các bảng và chuỗi quy tắc.

Cài Đặt Iptables

Iptables thường được cài đặt sẵn trên Debian. Nếu chưa có, bạn có thể cài đặt nó bằng lệnh sau:

sudo apt update
sudo apt install iptables

Các Bảng và Chuỗi Trong Iptables

Iptables sử dụng các bảng để tổ chức các quy tắc. Mỗi bảng chứa các chuỗi quy tắc. Các bảng phổ biến nhất là:

  • filter: Bảng này được sử dụng để lọc lưu lượng mạng dựa trên địa chỉ IP, cổng, giao thức, v.v.
  • nat: Bảng này được sử dụng để thực hiện Network Address Translation (NAT), cho phép bạn thay đổi địa chỉ IP và cổng của các gói tin.
  • mangle: Bảng này được sử dụng để sửa đổi các gói tin, chẳng hạn như thay đổi TTL (Time To Live) hoặc TOS (Type of Service).

Mỗi bảng chứa các chuỗi quy tắc. Các chuỗi phổ biến nhất là:

  • INPUT: Chuỗi này được sử dụng để xử lý các gói tin đến hệ thống.
  • OUTPUT: Chuỗi này được sử dụng để xử lý các gói tin đi ra khỏi hệ thống.
  • FORWARD: Chuỗi này được sử dụng để xử lý các gói tin được chuyển tiếp qua hệ thống.

Cấu Hình Các Quy Tắc Iptables

Cú pháp lệnh iptables có thể hơi phức tạp, nhưng bạn có thể làm theo các bước sau để cấu hình các quy tắc cơ bản:

  1. Xóa tất cả các quy tắc hiện có: Điều này đảm bảo rằng bạn bắt đầu với một cấu hình sạch.

    sudo iptables -F
    sudo iptables -X
    sudo iptables -t nat -F
    sudo iptables -t nat -X
    sudo iptables -t mangle -F
    sudo iptables -t mangle -X
    sudo iptables -P INPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT
    sudo iptables -P OUTPUT ACCEPT
  2. Đặt chính sách mặc định: Thông thường, bạn nên từ chối tất cả các kết nối đến và cho phép tất cả các kết nối đi.

    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT ACCEPT
  3. Cho phép kết nối loopback: Điều này cho phép các ứng dụng trên hệ thống giao tiếp với nhau.

    sudo iptables -A INPUT -i lo -j ACCEPT
    sudo iptables -A OUTPUT -o lo -j ACCEPT
  4. Cho phép kết nối SSH:

    sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
  5. Cho phép kết nối HTTP (cổng 80) và HTTPS (cổng 443):

    sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
  6. Cho phép các kết nối đã được thiết lập: Điều này cho phép các kết nối đã được thiết lập tiếp tục hoạt động.

    sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Lưu Các Quy Tắc Iptables

Các quy tắc iptables bạn vừa cấu hình sẽ bị mất khi khởi động lại hệ thống. Để lưu chúng, bạn có thể sử dụng lệnh sau:

sudo apt install iptables-persistent
sudo netfilter-persistent save

Lệnh này sẽ lưu các quy tắc iptables vào tệp cấu hình và tự động tải chúng khi khởi động lại hệ thống.

Ví Dụ Cấu Hình Iptables Cho Máy Chủ FTP

Giả sử bạn có một máy chủ FTP chạy trên Debian và bạn muốn cấu hình iptables để bảo vệ nó. Bạn cần cho phép kết nối đến các cổng 20 (FTP data) và 21 (FTP control), đồng thời từ chối tất cả các kết nối khác.

  1. Xóa tất cả các quy tắc hiện có (như đã trình bày ở trên).

  2. Đặt chính sách mặc định (như đã trình bày ở trên).

  3. Cho phép kết nối loopback (như đã trình bày ở trên).

  4. Cho phép kết nối SSH (như đã trình bày ở trên).

  5. Cho phép kết nối FTP data (cổng 20):

    sudo iptables -A INPUT -p tcp --dport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT
  6. Cho phép kết nối FTP control (cổng 21):

    sudo iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT
  7. Cho phép các kết nối đã được thiết lập (như đã trình bày ở trên).

  8. Lưu các quy tắc iptables (như đã trình bày ở trên).

Cấu Hình Tường Lửa Nftables Trên Debian

Nftables là một giải pháp tường lửa hiện đại, thay thế cho iptables. Nó cung cấp hiệu suất cao hơn và cú pháp cấu hình linh hoạt hơn.

Cài Đặt Nftables

Nftables thường được cài đặt sẵn trên các phiên bản Debian mới. Nếu chưa có, bạn có thể cài đặt nó bằng lệnh sau:

sudo apt update
sudo apt install nftables

Cú Pháp Cấu Hình Nftables

Nftables sử dụng cú pháp cấu hình dựa trên các bảng (tables), chuỗi (chains), và quy tắc (rules). Cấu hình nftables được lưu trữ trong tệp /etc/nftables.conf.

Ví Dụ Cấu Hình Nftables Cơ Bản

Dưới đây là một ví dụ về cấu hình nftables cơ bản:

flush ruleset

table inet filter {
    chain input {
        type filter hook input priority 0; policy drop;

        # Cho phép kết nối loopback
        iifname "lo" accept

        # Cho phép các kết nối đã được thiết lập
        ct state {established, related} accept

        # Cho phép kết nối SSH
        tcp dport 22 accept

        # Cho phép kết nối HTTP
        tcp dport 80 accept

        # Cho phép kết nối HTTPS
        tcp dport 443 accept
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
    }

    chain output {
        type filter hook output priority 0; policy accept;
    }
}

Trong ví dụ này:

  • flush ruleset xóa tất cả các quy tắc hiện có.
  • table inet filter tạo một bảng có tên là filter trong họ giao thức inet (IPv4 và IPv6).
  • chain input định nghĩa một chuỗi đầu vào.
    • type filter hook input priority 0; policy drop; chỉ định rằng chuỗi này là một chuỗi lọc, được gắn vào hook đầu vào, có độ ưu tiên là 0 và chính sách mặc định là từ chối.
    • iifname "lo" accept cho phép tất cả các kết nối trên giao diện loopback.
    • ct state {established, related} accept cho phép các kết nối đã được thiết lập.
    • tcp dport 22 accept cho phép kết nối SSH.
    • tcp dport 80 accept cho phép kết nối HTTP.
    • tcp dport 443 accept cho phép kết nối HTTPS.
  • chain forward định nghĩa một chuỗi chuyển tiếp.
  • chain output định nghĩa một chuỗi đầu ra.

Lưu và Tải Cấu Hình Nftables

Để lưu cấu hình nftables, bạn có thể sử dụng lệnh sau:

sudo nft -f /etc/nftables.conf

Để tải cấu hình nftables khi khởi động lại hệ thống, bạn cần kích hoạt dịch vụ nftables:

sudo systemctl enable nftables

Ví Dụ Cấu Hình Nftables Cho Máy Chủ DNS

Giả sử bạn có một máy chủ DNS chạy trên Debian và bạn muốn cấu hình nftables để bảo vệ nó. Bạn cần cho phép kết nối đến cổng 53 (DNS) sử dụng giao thức UDP và TCP, đồng thời từ chối tất cả các kết nối khác.

flush ruleset

table inet filter {
    chain input {
        type filter hook input priority 0; policy drop;

        # Cho phép kết nối loopback
        iifname "lo" accept

        # Cho phép các kết nối đã được thiết lập
        ct state {established, related} accept

        # Cho phép kết nối DNS (UDP)
        udp dport 53 accept

        # Cho phép kết nối DNS (TCP)
        tcp dport 53 accept
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
    }

    chain output {
        type filter hook output priority 0; policy accept;
    }
}

Các Mẹo Bảo Mật Tường Lửa Nâng Cao

Ngoài việc cấu hình các quy tắc cơ bản, bạn có thể áp dụng các mẹo bảo mật nâng cao sau để tăng cường khả năng bảo vệ của tường lửa:

  • Sử dụng Fail2ban: Fail2ban là một công cụ giúp bảo vệ hệ thống của bạn khỏi các cuộc tấn công brute-force. Nó hoạt động bằng cách theo dõi các tệp nhật ký và tự động chặn các địa chỉ IP có hành vi đáng ngờ. Bạn có thể tham khảo hướng dẫn cấu hình fail2ban trên debian để biết thêm chi tiết.
  • Chặn IP bằng Iptables: Nếu bạn phát hiện một địa chỉ IP đang tấn công hệ thống của bạn, bạn có thể chặn nó bằng iptables. Bạn có thể tham khảo hướng dẫn chặn ip bằng iptables debian để biết thêm chi tiết.
  • Sử dụng GeoIP: GeoIP cho phép bạn chặn lưu lượng mạng từ các quốc gia cụ thể. Điều này có thể hữu ích nếu bạn chỉ muốn cho phép lưu lượng truy cập từ một số quốc gia nhất định.
  • Kiểm tra tường lửa thường xuyên: Bạn nên kiểm tra cấu hình tường lửa của mình thường xuyên để đảm bảo rằng nó vẫn phù hợp với nhu cầu bảo mật của bạn.
  • Cập nhật phần mềm thường xuyên: Đảm bảo rằng bạn cập nhật tất cả các phần mềm trên hệ thống của mình, bao gồm cả tường lửa. Các bản cập nhật thường chứa các bản vá bảo mật quan trọng.
  • Sử dụng mật khẩu mạnh: Sử dụng mật khẩu mạnh cho tất cả các tài khoản trên hệ thống của bạn, đặc biệt là tài khoản root.
  • Tắt các dịch vụ không cần thiết: Tắt tất cả các dịch vụ không cần thiết để giảm thiểu bề mặt tấn công của hệ thống.
  • Giám sát nhật ký: Thường xuyên giám sát các tệp nhật ký của hệ thống để phát hiện các hoạt động đáng ngờ.

Chuyên gia an ninh mạng Lê Thị Thảo khuyên: “Việc cấu hình tường lửa chỉ là một phần trong chiến lược bảo mật tổng thể. Bạn cần kết hợp nó với các biện pháp bảo mật khác, chẳng hạn như sử dụng mật khẩu mạnh, cập nhật phần mềm thường xuyên, và giám sát nhật ký để đảm bảo an toàn cho hệ thống của bạn.”

Tích Hợp Tường Lửa Với Các Ứng Dụng Phổ Biến

Khi cấu hình tường lửa, bạn cần xem xét các ứng dụng và dịch vụ bạn đang sử dụng trên hệ thống của mình. Dưới đây là một số ví dụ về cách tích hợp tường lửa với các ứng dụng phổ biến:

  • MySQL/MariaDB: Nếu bạn đang sử dụng MySQL hoặc MariaDB, bạn cần cho phép kết nối đến cổng 3306. Tuy nhiên, bạn nên hạn chế kết nối chỉ từ các địa chỉ IP cần thiết. Bạn có thể tham khảo hướng dẫn cài mysql mariadb debian để biết thêm thông tin về cách cài đặt và cấu hình MySQL/MariaDB.
  • Docker: Nếu bạn đang sử dụng Docker, bạn cần cho phép kết nối đến các cổng mà các container của bạn sử dụng. Bạn có thể tham khảo hướng dẫn cài docker trên debian để biết thêm thông tin về cách cài đặt và cấu hình Docker.
  • SSH: Đảm bảo rằng bạn cho phép kết nối SSH, nhưng bạn nên thay đổi cổng SSH mặc định và chỉ cho phép kết nối từ các địa chỉ IP tin cậy để tăng cường bảo mật.

Sao Lưu và Khôi Phục Cấu Hình Tường Lửa

Việc sao lưu cấu hình tường lửa rất quan trọng để bạn có thể khôi phục nó trong trường hợp xảy ra sự cố.

  • Ufw: Bạn có thể sao lưu cấu hình ufw bằng cách sao chép tệp /etc/ufw/user.rules/etc/default/ufw.

  • Iptables: Bạn có thể sao lưu cấu hình iptables bằng cách sử dụng lệnh iptables-save > /path/to/backup/file.

  • Nftables: Cấu hình nftables được lưu trữ trong tệp /etc/nftables.conf. Bạn có thể sao lưu tệp này để sao lưu cấu hình nftables.

Để khôi phục cấu hình tường lửa, bạn chỉ cần sao chép các tệp sao lưu trở lại vị trí ban đầu và khởi động lại dịch vụ tường lửa.

Giải Quyết Các Vấn Đề Thường Gặp Khi Cấu Hình Tường Lửa

Trong quá trình cấu hình tường lửa, bạn có thể gặp phải một số vấn đề. Dưới đây là một số vấn đề thường gặp và cách giải quyết:

  • Mất kết nối SSH: Nếu bạn vô tình chặn kết nối SSH, bạn sẽ bị mất kết nối đến máy chủ. Để khắc phục, bạn cần truy cập vào máy chủ thông qua một phương tiện khác (ví dụ: console) và cho phép kết nối SSH.
  • Không thể truy cập trang web: Nếu bạn không thể truy cập trang web của mình sau khi cấu hình tường lửa, hãy kiểm tra xem bạn đã cho phép kết nối đến các cổng 80 và 443 chưa.
  • Không thể kết nối đến cơ sở dữ liệu: Nếu bạn không thể kết nối đến cơ sở dữ liệu của mình, hãy kiểm tra xem bạn đã cho phép kết nối đến cổng cơ sở dữ liệu (ví dụ: 3306 cho MySQL/MariaDB) từ địa chỉ IP của máy chủ ứng dụng chưa.

Kết luận

Cấu hình tường lửa là một bước quan trọng để bảo vệ hệ thống Debian của bạn khỏi các cuộc tấn công mạng. Bằng cách làm theo các hướng dẫn trong bài viết này, bạn có thể cấu hình tường lửa ufw, iptables, hoặc nftables một cách hiệu quả và tăng cường khả năng bảo mật cho hệ thống của mình. Hãy nhớ rằng, bảo mật là một quá trình liên tục, và bạn cần thường xuyên kiểm tra và cập nhật cấu hình tường lửa của mình để đảm bảo rằng nó vẫn phù hợp với nhu cầu bảo mật của bạn. Nếu bạn muốn quản lý user trên hệ thống của mình, bạn có thể tham khảo thêm bài viết về tạo user mới debian.

Câu Hỏi Thường Gặp (FAQ)

1. Tường lửa là gì và tại sao tôi cần nó?

Tường lửa là một hệ thống bảo mật mạng kiểm soát lưu lượng mạng đến và đi, giúp ngăn chặn truy cập trái phép và các cuộc tấn công. Bạn cần nó để bảo vệ hệ thống Debian của mình khỏi các mối đe dọa trên internet.

2. Ufw, iptables và nftables khác nhau như thế nào?

Ufw là một giao diện đơn giản cho iptables, dễ sử dụng cho người mới bắt đầu. Iptables cung cấp khả năng kiểm soát chi tiết hơn nhưng phức tạp hơn. Nftables là thế hệ tường lửa mới, hiệu suất cao và cú pháp linh hoạt.

3. Làm thế nào để kiểm tra xem tường lửa của tôi đang hoạt động?

Bạn có thể sử dụng lệnh sudo ufw status (cho ufw), sudo iptables -L (cho iptables) hoặc sudo nft list ruleset (cho nftables) để xem trạng thái và các quy tắc của tường lửa.

4. Tôi nên sử dụng tường lửa nào cho Debian?

Nếu bạn là người mới bắt đầu, ufw là một lựa chọn tốt. Nếu bạn cần kiểm soát chi tiết hơn, hãy sử dụng iptables hoặc nftables.

5. Làm thế nào để cho phép kết nối SSH thông qua tường lửa?

Sử dụng lệnh sudo ufw allow OpenSSH (cho ufw) hoặc cấu hình quy tắc iptables/nftables để cho phép kết nối TCP đến cổng 22.

6. Làm thế nào để chặn một địa chỉ IP cụ thể bằng tường lửa?

Sử dụng lệnh sudo ufw deny from <địa chỉ IP> (cho ufw) hoặc cấu hình quy tắc iptables/nftables để từ chối lưu lượng từ địa chỉ IP đó.

7. Điều gì sẽ xảy ra nếu tôi vô tình chặn tất cả các kết nối đến?

Bạn sẽ bị mất kết nối đến máy chủ. Để khắc phục, bạn cần truy cập vào máy chủ thông qua một phương tiện khác (ví dụ: console) và cho phép kết nối SSH hoặc các kết nối cần thiết khác.