限制網絡訪問是降低服務器被攻擊風險的核心思路之一,因為絕大多數入侵都是從開放的網絡入口開始的。思路是“減少暴露面 + 精確授權”,讓服務器只對必要的人、必要的業務開放。我給你分成幾個層次來說明,從最外層網絡入口到最內層系統配置都涉及到限制網絡訪問的措施。
1. 網絡層面:減少暴露入口
目標:只開放業務需要的端口和 IP,拒絕其余一切。
防火墻規則(iptables、firewalld、ufw):例如只開放 80、443、22(SSH),其他全部丟棄:
# 允許 HTTP/HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT# 限制 SSH 只允許公司固定 IP
iptables -A INPUT -p tcp --dport 22 -s 203.0.113.10 -j ACCEPT# 默認拒絕所有其他
iptables -P INPUT DROP
云廠商安全組:如果是云服務器,優先在安全組中限制入站規則,只放通業務必需端口。
使用端口映射和變更默認端口:比如將 SSH 端口改成非 22(雖然不能防御有心人,但能減少自動化掃描攻擊)。
2. 應用層面:限制訪問來源
目標:在應用程序內部也做訪問限制,形成雙重防護。
Nginx/Apache 白名單限制:只允許特定 IP 訪問后臺
location /admin {allow 203.0.113.0/24;deny all;
}
API Token + IP 綁定:對外 API 增加訪問密鑰,并綁定固定來源 IP,避免被盜用。
3. 管理接口隔離
目標:不讓管理面暴露在公網,減少被掃端口的機會。
SSH 端口限制:SSH 僅開放給內網或用戶。
面板訪問限制:如寶塔、Webmin、phpMyAdmin 等,必須配置 IP 白名單,或通過反向代理加認證。
跳板機:管理所有服務器只通過一臺跳板機登錄,其他服務器禁用直連 SSH。
4. 網絡隔離與分區
目標:即便某臺機器被攻破,也不能橫向滲透到其他系統。
VPC 子網隔離:前端、后端、數據庫分不同子網,通過安全組控制流量。
物理隔離敏感服務:重要數據庫不要直接暴露公網,只能內網訪問。
反向代理隔離:外部請求先經過反向代理(如 Nginx、HAProxy),再轉發到應用,后端不直接暴露。
5. 主動防御機制
目標:發現異常訪問時快速阻斷。
Fail2ban / SSHGuard:監控日志,一旦發現連續錯誤登錄,自動封禁 IP。
WAF(Web 應用防火墻):阻擋 SQL 注入、XSS、惡意爬蟲等。
流量清洗/高防 IP:如果面臨大流量 DDoS,使用云廠商防護或接入 CDN。
6. 最佳實踐建議
最小開放原則:開放前問自己“這個端口/接口真的要公網訪問嗎?”
分層防護:外層云安全組、內層防火墻、應用級限制疊加使用。
定期審計:用 nmap、netstat 檢查開放端口,確認無多余入口。
如果你愿意,我可以幫你整理一個**“限制網絡訪問防御方案配置清單”**,直接按這個清單操作,就能一步步降低風險,幾乎不留不必要的入口。這樣你不需要自己東拼西湊規則,也更適合服務器長期維護。