簡介 用於實現伺服器(Linux)的訪問控制的功能的。 分硬體和軟體防火牆。 主要是控制訪問的流入和伺服器的流出。 通過黑名單和白名單的思想來實現更細粒度的控制,這個一般結合其他的應用來定義策略實現。 概念 黑白名單 可以說防禦的思想,主要就是黑白名單的思想!!!!是黑白名單的組合。 黑名單指的是對 ...
簡介
用於實現伺服器(Linux)的訪問控制的功能的。
分硬體和軟體防火牆。
主要是控制訪問的流入和伺服器的流出。
通過黑名單和白名單的思想來實現更細粒度的控制,這個一般結合其他的應用來定義策略實現。
概念
黑白名單
可以說防禦的思想,主要就是黑白名單的思想!!!!是黑白名單的組合。
黑名單指的是對名單上的ip拒絕提供服務,主要用於拒絕惡意訪問和攻擊。
白名單指的是對名單上的ip是信任
的,不做嚴格的控制(不限速、不限頻率等)。比如說用於測試的時候使用、用於cdn回源下載、第三方防ddos服務的ip等。
伺服器類型
不同伺服器類型的策略是不一樣的。暫時定義幾個策略。這個需要根據對伺服器的架構職責來劃分。
- 代理伺服器。對外的http服務,一般只開放80埠,同時把請求轉發到其他伺服器。所以即有外網網卡又有內網網卡。
- 業務伺服器。不對外提供服務。所以沒有外網網卡,只有內網網卡。以最小原則的方式,限制可以通信的埠(具體的每一個開放的埠,都需要明確提供什麼服務)。特殊情況是需要外網卡的,比如說調用第三方簡訊或者郵件服務。
- 堡壘機。是日常運維使用的伺服器,只對外提供ssh服務。所以即有外網網卡又有內網網卡。
場景
- 過濾服務,只開放需要的服務
- 控制請求的頻率和速度
- 對指定ip的訪問不控制
- 拒絕指定ip的訪問
方案
iptables是一個鏈條,通過對鏈條規則的操作就可以實現場景
的需求。鏈條是順序執行的。鏈條是雙向的,包括入和出。限制可以做到網卡級別,不同的網卡限制的規則也是不一樣的
例如代理伺服器的設置
外網提供服務的防火牆設置思路:
- 通過黑名單思想,直接拒絕指定的ip(ip黑名單)訪問。
- 通過白名單思想,只提供80(埠白名單)埠的訪問。
- 通過白名單思想,對指定的ip(ip白名單)不設置訪問限制。
- 限制80埠的訪問(頻率和流量)。
- 拒絕所有服務。
內網提供服務的防火牆設置思路:
- 通過白名單思想,直接允許內網的指定埠(具體根據業務,比如資料庫、ssh、nfs等)可以訪問
- 拒絕所有服務。
所以,最重要的是規則設定,以及結合其他的應用實現自動添加黑名單ip。比如說結果nginx分析出惡意ip,然後通過添加到防火牆的黑名單里。
驗證方法
這裡的驗證方法和工具還需要不斷的補充
1.通過nmap來驗證,埠的開放情況
2.通過ab或者webbench來驗證,限制和訪問的頻率
參考資料
- iptables詳解
- linux下IPTABLES配置詳解
- netfilter/iptables全攻略
- iptables限制同一IP連接數
- 使用IPTABLES限制IP上傳下載速度,如何用iptables限速?