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:
| Backend | Hệ thống áp dụng | Mô tả |
|---|---|---|
iptables / iptables-legacy | Linux truyền thống | Tường lửa phổ biến nhất |
nftables | Bả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 |
ufw | Ubuntu / Debian | Chỉ 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.