Tôi đã cố gắng kết hợp một tập lệnh iptables máy chủ cơ bản sẽ hoạt động cho hầu hết các trang web chỉ chạy một máy chủ web cơ bản sử dụng HTTP (S) và SSH (cổng 80, 443, & 22). Rốt cuộc, hầu hết VPS chỉ cần các quy tắc cổng bắt đầu này và có thể thêm các cổng thư hoặc trò chơi sau này khi cần.
Cho đến nay tôi có các quy tắc sau đây và tôi đã tự hỏi nếu có ai biết về một kịch bản tốt hơn hoặc bất kỳ cải tiến nào có thể được thêm vào.
*filter
# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allows all outbound traffic
# You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allows SSH connections (only 4 attempts by an IP every 3 minutes, drop the rest)
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Reject all other inbound - default deny unless explicitly allowed policy
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
iptables là một trong những phần quan trọng nhất trong việc bảo vệ hộp của bạn (cũng xem fail2ban) và có nhiều người như tôi gặp khó khăn trong việc hiểu mọi thứ tạo ra tường lửa cơ bản an toàn cho máy chủ của chúng tôi.
Cách an toàn nhất để chỉ mở các cổng cơ bản cần thiết cho máy chủ web là gì?
Cập nhật: cyberciti.biz có một kịch bản iptables khác trông khá tốt.
Ngoài ra, thay vì sử dụng Denyhosts hoặc fail2ban, bạn có thể sử dụng chính iptables để chặn các nỗ lực lặp lại tồi tệ tại SSH .
modprobe
không được cài đặt (hoặc có bất kỳ lỗi nào khác trước khi bạn mở cổng 22), bạn sẽ tự khóa máy chủ.