Tài liệu

Bắt đầu nhanh + mô tả chức năng của từng phần, từng thiết bị (đang tiếp tục cập nhật)

Quản lý tường lửa

Bài viết này giới thiệu chức năng「Quản lý tường lửa」của bảng điều khiển — xem và quản lý quy tắc tường lửa trên máy chủ đích.

Trước tiên tìm hiểu: Tường lửa là gì

Tường lửa là một lớp「kiểm soát cửa」của máy chủ, quyết định cổng nào, IP nào được phép truy cập. Ví dụ bạn muốn trang web cung cấp dịch vụ ra bên ngoài thì phải「mở cổng 80」; muốn chặn một IP đang tấn công bạn thì phải「chặn IP đó」.

> Quan trọng: ngoài tường lửa trong hệ thống máy chủ, các cloud lớn (Tencent Cloud/Alibaba Cloud) còn có「nhóm bảo mật」trên trang quản trị đám mây, hai thứ này độc lập với nhau. Một cổng muốn truy cập được thì cả hai lớp đều phải mở.

Giới thiệu chức năng

「Quản lý tường lửa」nằm trong「Bảng quản lý hệ thống」của máy chủ đích, dùng để xem quy tắc tường lửa của hệ thống, thêm / xóa quy tắc, cũng như quản lý chuyển tiếp cổng. Bảng điều khiển tự động thích ứng với ba backend tường lửa phổ biến iptables / nftables / ufw, không cần chọn thủ công.

Tình huống áp dụng

  • Xem máy chủ hiện có những quy tắc tường lửa nào, đã mở những cổng nào
  • Nhanh chóng mở một cổng (như mở 80 / 443 cho dịch vụ Web)
  • Chặn một IP nguồn hoặc một cổng
  • Quản lý chuyển tiếp cổng (xem Chuyển tiếp cổng)

Thành phần chức năng

Vào máy chủ đích →「Quản lý hệ thống」→「Tường lửa」, bao gồm:

1. Danh sách quy tắc: hiển thị quy tắc iptables / nftables (kèm số thứ tự quy tắc), hoặc trạng thái ufw (nếu đã bật)

2. Cổng lắng nghe: liệt kê các cổng mà máy chủ hiện đang lắng nghe cùng tiến trình tương ứng

3. Thêm / xóa quy tắc: nhập thủ công quy tắc iptables để mở / chặn

4. Chuyển tiếp cổng: DNAT lưu lượng cổng công cộng tới IP:cổng đích (chi tiết xem Chuyển tiếp cổng)

Xem quy tắc

iptables / nftables

Bảng điều khiển ưu tiên liệt kê quy tắc bằng iptables -L -n --line-numbers; nếu hệ thống dùng nftables, sẽ tự động chuyển sang dùng nft list ruleset.

ufw

Nếu máy chủ đã bật ufw (phổ biến trên Ubuntu), bảng điều khiển sẽ hiển thị thêm danh sách quy tắc của ufw status numbered.

Cổng lắng nghe

Bảng điều khiển dùng ss -tlnp để liệt kê cổng TCP đang lắng nghe và tiến trình tương ứng, tiện phán đoán cổng nào đã mở, đang bị dịch vụ nào chiếm.

Thêm / xóa quy tắc

Trong「Thêm quy tắc」nhập một quy tắc iptables (không kèm tiền tố iptables, bảng điều khiển sẽ tự thêm -A để thêm / -D để xóa), ví dụ:

# Mở cổng 8080
INPUT -p tcp --dport 8080 -j ACCEPT
# Chặn một IP
INPUT -s 1.2.3.4 -j DROP

> ⚠️ Chú ý: hãy đảm bảo bạn hiểu cú pháp quy tắc iptables. Quy tắc sai có thể khiến dịch vụ không truy cập được. Nên sao lưu quy tắc hiện tại trước khi thao tác (iptables-save > /root/iptables.bak).

Tự động thích ứng nhiều backend

Bảng điều khiển tự động phát hiện backend tường lửa mà máy chủ đang dùng:

BackendHệ thống áp dụngMô tả
iptables / iptables-legacyLinux truyền thốngTường lửa phổ biến nhất
nftablesBản phân phối mới / máy chủ đã có quy tắc nftƯu tiên dùng khi phát hiện quy tắc nft đang hoạt động, tránh quy tắc bị che khuất
ufwUbuntu / DebianChỉ dùng để「xem」, quản lý quy tắc đi qua iptables

Lưu ý

1. Thao tác cẩn trọng: quy tắc tường lửa ảnh hưởng trực tiếp tới khả năng truy cập của máy chủ. Quy tắc chặn sai có thể khiến SSH đứt, bảng điều khiển không kết nối được.

2. Lưu bền quy tắc: quy tắc thêm trực tiếp bằng iptables có thể mất sau khi khởi động lại (tùy vào việc hệ thống có cài iptables-persistent / netfilter-persistent hay không). Khi cần lưu bền hãy tự iptables-save hoặc chuyển sang dùng ufw.

3. Nhóm bảo mật của các cloud lớn: Tencent Cloud / Alibaba Cloud... ngoài tường lửa hệ thống còn có lớp「nhóm bảo mật」trên trang quản trị đám mây. Nếu một cổng chưa mở ở nhóm bảo mật thì dù tường lửa hệ thống có mở cũng không truy cập được —— cả hai lớp đều phải mở.

4. Chuyển tiếp cổng: nếu cần chuyển tiếp cổng, xem Chuyển tiếp cổng.