自動甄別黑白名單的iptables安全指令碼

2021-09-05 04:20:58 字數 1463 閱讀 7830

①此指令碼能自動過濾掉企業中通過nat出去的白名單ip,很多企業都是通過nat軟路由上網,我們可以將一些與我們有往來的公司及本公司的安全ip新增進白名單,以防誤剔;

②閥值defiin這裡定義的是100,其實這個值應該根據具體生產環境而定,50-100之間較好;

③此指令碼原理其實很簡單,判斷瞬間連線數是否大於100,如果是白名單裡的ip則跳過;如果不是,則用iptables -i來自動剔除,這裡不能用-a,a是在iptables的規則的最後新增,往往達不到即時剔除的效果;

④此指令碼最後更新時間為2023年5月24日,這裡衷心感謝3158.com的技術總監唐老師,謝謝您在安全相關的指導;

⑤25是mail埠的,其它可依次類推,比如22,再比如80等,具體看你的伺服器的應用;目前發現子鏈結過多的web站點效果不好,我們這個時候可以用iptables的recent模組來解決,其它非web應用效果還是不錯的;

指令碼內容如下所示:

#/bin/bash

netstat -an| grep :80 | grep -v 127.0.0.1 |awk '' | sort|awk -f: '' 

| uniq -c | awk '$1 >50 ' > /root/black.txt

for i in `awk '' /root/black.txt`

docount=`grep $i /root/black.txt | awk ''`

define="50"

zero="0"

if [ $count -gt $define ];

then

grep $i /root/white.txt > /dev/null

if [ $? -gt $zero ];

then

echo "$count $i"

iptables -i input -p tcp -s $i -j drop 

fifi

done

2023年3月30日下午14:25分,用下列命令監控時:

netstat -an| grep :25 | grep -v 127.0.0.1 |awk '' | sort|

awk -f: '' | uniq -c | awk '$1 >100'

此命令顯示結果如下所示:

1122 219.136.163.207

17 61.144.157.236

用一查,發現

ip138.com ip查詢(搜尋ip位址的地理位置)

您查詢的ip:219.136.163.207

本站主資料:廣東省廣州市 電信(荔灣區)

呼叫deny_100.sh後將此ip drop掉,再執行./root/count.sh後無顯示,顯示成功,可用iptables -nv -l驗證,所以將此安全指令碼寫進crontab裡,每10分鐘執行一次,結果如下所示:

*/10 * * * * root /bin/sh /root/deny_100.sh

自動甄別黑白名單的iptables安全指令碼

此指令碼能自動過濾掉企業中通過nat出去的白名單ip,很多企業都是通過nat軟路由上網,我們可以將一些與我們有往來的公司及本公司的安全ip新增進白名單,以防誤剔 閥值defiin這裡定義的是100,其實這個值應該根據具體生產環境而定,50 100之間較好 此指令碼原理其實很簡單,判斷瞬間連線數是否大...

自動甄別黑白名單的iptables安全指令碼

此指令碼能自動過濾掉企業中通過nat出去的白名單ip,很多企業都是通過nat軟路由上網,我們可以將一些與我們有往來的公司及本公司的安全ip新增進白名單,以防誤剔 閥值defiin這裡定義的是100,其實這個值應該根據具體生產環境而定,50 100之間較好 此指令碼原理其實很簡單,判斷瞬間連線數是否大...

設定Azure WebSite黑白名單

azure website服務預設是不提供黑白名單,也就是說任何internet使用者都可以訪問azure website,那麼我們如何來給我們的 設定黑白名單?這裡有一種方式,可以通過配置 的配置檔案 web.config 來設定訪問的黑白名單。1 通過vs新建乙個asp.net mvc專案 上圖...