Win平臺Web訪問白名單設定指令碼(IP安全性原則)
最近老是有使用者申請開通某網站的訪問許可權,我接手之前瀏覽許可權的設定方法是修改 tomcat 下的 server.xml 配置檔案,通過定義 allow="IP.."的訪問規則來控制瀏覽許可權。這種方法有個很不好的地方,每加一次許可權,你就得重啟一次 tomcat,使用者老是擠牙膏一樣,一次一兩個 IP 的發郵件來申請開通,不但很煩人,而且對正在使用的使用者體驗也非常的糟糕!於是我決定要改善這個糟糕的局面。
在 Linux 下,我們都是通過配置防火牆 iptables 來控制 80 埠的訪問的,結果到了 windows 下,估計前面的人也沒深究如何進行類似的設定,於是就使用了那個蹩腳的方法!
我在接手 WEB 運維之前,做過一段時間的 PC 維護,當時公司為了安全考慮需要封堵一些後門埠,我也因此編寫過相關的封埠的指令碼,所以看到 windows 平臺的 WEB 防火牆問題,自然而然就想到了通過封堵 80 埠來控制瀏覽許可權的方法。
在非 Server(windows XP/7 等)的環境下,要通過命令列來設定IP 安全性原則是需要用到一個叫做 ipseccmd.exe 的命令列工具的,而今天是 Windows Server 平臺,就完全支援使用 netsh ipsec static add filter 命令來設定 IP 安全性規則!命令列的用法我也就先不說了,有時間再來補充,直接上程式碼:
MS DOS1234567891011121314151617181920212223242526272829303132333435363738 | @echo off color2fmodeconcols=60lines=25titleWindows平臺WEB防火牆白名單批量匯入工具:startclsecho= echo ※注•意•事•項•(必讀)※ echo============================================================ |
簡單說明:此指令碼的功能主要是省去了 IP 安全性原則繁瑣的手動設定步驟,直接貼上 IP 即可匯入白名單!通過 3 個 for 迴圈(可能有點冗餘,暫時未考慮優化)將整行多個 IP 依次分離匯入到規則中。這裡說的整行的意思是,你只需要將你的 IP 貼上進來,不論是單個 IP 還是 IP 段,不論是空格隔開還是,逗號隔開,都能實現依次分離匯入。
注意事項:
1.由於編寫時間很短,所以暫未實現多個 C 的 IP 段的判斷,若是多個 C,比如 10.*.*.*/22 請拆分為 4 個段輸入(待改進).
2.輸入的 IP 需要使用空格或逗號隔開,不要直接連線在一起,否則就會傻傻分不清楚拉;
3.支援單個 IP 和 IP 段的混輸,能夠判斷 IP 型別來執行不同的語句;
4.預設定義一個 C 的 IP 段結尾為 0 或 1,即如果你是 192.168.1.1 或 192.168.1.0,指令碼會將其作為相同的 IP 段處理,也就是直接判斷為 192.168.1.0/24。
以上指令碼為今天下午應急之作,可能存在 BUG,僅供參考~若有問題留言請聯絡,希望能幫到您!