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

2021-09-21 16:11:45 字數 2957 閱讀 5525

①此指令碼能自動過濾掉企業中通過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應用效果還是不錯的;

指令碼內容如下所示:

12

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#/bin/bash

netstat-an|grep:80 |grep-v127.0.0.1 |awk''|sort|awk-f:''

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

foriin`awk''/root/black.txt`

do

count=`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

fi

fi

done

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

12

netstat-an|grep:25 |grep-v127.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

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

參考資料一:廣東省廣州市 電信(荔灣區)

參考資料二:廣東省廣州市荔灣區 電信adsl

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

1*/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專案 上圖...