Chuyển đến nội dung
ToolMug

Tạo quy tắc firewall

Mở các cổng máy chủ cần và đóng phần còn lại mà không phải tra ba cú pháp khác nhau. Chọn mẫu bắt đầu, liệt kê cổng, giao thức và địa chỉ nguồn, rồi sao chép lệnh cho ufw (Ubuntu, Debian), firewalld (RHEL, Rocky, AlmaLinux) hoặc iptables thuần. Công cụ xếp quy tắc chặn trước quy tắc cho phép và cảnh báo nếu các quy tắc sẽ cắt kết nối SSH của chính bạn.

Chạy trong trình duyệt — không có dữ liệu nào bạn nhập bị tải lên

Bắt đầu từ:

Quy tắc đến

Chạy bằng quyền root. ufw enable sẽ hỏi xác nhận; kiểm tra danh sách bằng ufw status numbered.

Quy tắc chặn được đặt trước quy tắc cho phép, vì cả ba tường lửa đều áp dụng quy tắc khớp đầu tiên. Máy chủ đám mây thường còn có security group trong bảng điều khiển của nhà cung cấp; cổng cũng phải được mở ở đó.

Cách sử dụng

  1. Chọn một mẫu, chẳng hạn Máy chủ web (SSH, HTTP, HTTPS), hoặc sửa trực tiếp các quy tắc.
  2. Với mỗi quy tắc, nhập cổng, giao thức, địa chỉ nguồn (để trống nghĩa là từ mọi nơi) và Cho phép hoặc Chặn.
  3. Đặt cổng SSH của bạn và quyết định có chặn mọi lưu lượng đến còn lại hay không.
  4. Chọn tường lửa của bạn và sao chép các lệnh vào shell root trên máy chủ.

Giải thích tùy chọn

Cổng
Một cổng (22), một danh sách (80,443) hoặc một dải (8000-8100).
Từ
Địa chỉ hoặc mạng IPv4 hay IPv6, chẳng hạn 203.0.113.0/24. Nguồn IPv6 được đưa vào ip6tables.
Chặn mọi lưu lượng đến còn lại
Đặt chính sách mặc định cho lưu lượng đến là từ chối. Lưu lượng đi vẫn được cho phép.

Đầu ra ví dụ

Ba quy tắc, với SSH ở cổng 22 và chính sách mặc định đặt là từ chối: chỉ cho phép SSH từ 203.0.113.5, cho phép các cổng TCP 80 và 443 từ mọi nơi, và chặn 198.51.100.0/24 đến cổng 25. Quy tắc chặn được viết trước, vì quy tắc khớp đầu tiên sẽ thắng.

# ufw
ufw default deny incoming
ufw default allow outgoing
ufw deny from 198.51.100.0/24 to any port 25 proto tcp
ufw allow from 203.0.113.5 to any port 22 proto tcp
ufw allow 80,443/tcp
ufw enable

# iptables
iptables -A INPUT -p tcp -s 198.51.100.0/24 --dport 25 -j DROP
iptables -A INPUT -p tcp -s 203.0.113.5 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -P INPUT DROP

Với firewalld, các cổng mở cho mọi người dùng --add-port, còn các quy tắc có nguồn hoặc có chặn dùng rich rule. Vì quy tắc SSH duy nhất có địa chỉ nguồn, các lệnh firewalld cũng xóa dịch vụ ssh mặc định khỏi zone. Nếu thiếu bước đó, zone vẫn cho mọi người vào ở cổng 22.

Câu hỏi thường gặp

Làm sao để không tự khóa mình ngoài máy chủ?

Giữ một quy tắc cho phép cổng SSH của bạn, và nếu bạn giới hạn SSH theo một số IP, hãy kiểm tra IP hiện tại của mình trước. Giữ mở bảng điều khiển web của nhà cung cấp đám mây sẽ cho bạn đường quay lại.

Tôi đã mở cổng mà vẫn không kết nối được. Tại sao?

Máy chủ đám mây thường còn có security group hoặc tường lửa mạng trong bảng điều khiển của nhà cung cấp; cổng cũng phải được mở ở đó. Hãy kiểm tra thêm dịch vụ có đang lắng nghe không, ví dụ bằng ss -tlnp.

Máy chủ của tôi dùng tường lửa nào?

Ubuntu và Debian thường dùng ufw; RHEL, Rocky, AlmaLinux và CentOS dùng firewalld. Cả hai đều là giao diện cho tường lửa của nhân, nên hãy dùng một trong hai thay vì trộn thêm lệnh iptables thuần.

Quyền riêng tư

Công cụ này chạy hoàn toàn trong trình duyệt của bạn. Tệp và văn bản được xử lý ngay trên thiết bị và không bao giờ được tải lên máy chủ của chúng tôi.

Công cụ liên quan