筆者長期以來一直做得工作基本上就是開發公司的php程式,另外維護幾台centos伺服器,在長時間的工作中總結了一套對付攻擊的小手段,不敢藏私,分享給大家,希望大家喜歡!
首先說一下伺服器那邊的設定狀況好了,伺服器在公司內部,一條光纖直接接入,有7個固定ip,每一台伺服器均有自己的固定ip,另外每一台伺服器均為雙網絡卡,除了有乙個外網固定ip外還同屬於乙個內網,這7個固定ip是通過一台帶有路由功能的硬體防火牆進行分發的.硬體防火牆只對外開放了80埠,其餘的全部都關掉了.而伺服器則基本上都是centos,只有一台是windows.centos全部開了linux系統自帶的防火牆,遠端管理的時候通過某種特殊手段連線到這個伺服器所在的區域網的某台windows作業系統的伺服器上,然後再通過這台windows上安裝的ssh即可操控每一台伺服器了,雖然這麼設定非常麻煩,但卻很安全.(這裡補充說一下,每台伺服器的防火牆均設定了允許某個內網ip才可ssh單向連線的規則,這設定就比較繁瑣了,小孩子沒有娘說起來話很長,既然很長我就不說了.)
既然如此大家或許會問,只開了乙個80還有什麼好攻擊的呢?其實不然,首先有某公司常常會用webbench壓力測試工具來試圖癱瘓nginx,沒辦法因為這套程式之前就是他們開發的,他們知道這套程式執行的時候極其消耗cpu資源.其次有眾多來自內地網友們猜測這套程式的潛在漏洞,例如猜測管理員後台入口,猜測是否有**備份的壓縮檔案放在伺服器上等等,他們的這些訪問方式全部都是針對80埠來的,如果不採取某些措施的話nginx會常常癱瘓掉,導致**出現錯誤500或錯誤502,而那些猜測的害處我就更不用多說了,對於以上諸多不友好的來訪者筆者只好做一些扼殺手段了.
其實做法說起來也並不複雜,首先我會用php取得來訪者的訪問意圖,如果對方的意圖有鬼或不軌滿足了我的**條件,那麼就乾掉他吧!首先用php自動建立.sh這樣乙個檔案,這個檔案的的內容就是用來改寫linux的防火牆規則(當然了我也可以改寫硬體防火牆的規則,不過太麻煩了,還是偷個懶吧!),修改這個.sh檔案的屬性和所有者讓其可以被執行,然後用linux的crontab來取得並執行這個.sh把**規則寫入防火牆,同時給筆者發一封email告知我某個倒霉蛋已經被**了即可.
下邊是我的做法:
<?php
# 自動封鎖ip qq群:223494678
# 用法:
# 1.首先把下方的php程式碼放入被全域性require的配置檔內.
# 2.用ssh執行:cat /etc/crontab
# 3.加入下邊兩行:
# #auto lock webbench
# */1 * * * * root /home/wwwroot/bossadm_web/webbench.sh;
# 4.重啟crontab的服務:service crontab restart
//封鎖任何來源的webbench
}//封鎖敏感url,針對猜測如下url的ip直接封殺 qq群:223494678
//這段程式碼最好是加入到404.php內,這樣效果更大(需要重新配置一下httpd.conf,讓404錯誤頁指向到該404.php) qq群:223494678
if(isset($_server['request_uri']) and trim($_server['request_uri'])!='')
}//建立sh檔,用途是封鎖ip,該sh檔會被排程以root身份執行. qq群:223494678
function dolock($x) -j drop;\n echo \" - `date`\" | mail -s \"webbench\" [email protected];\n cat /dev/null > ",lock_ex);
chmod($p,0755);
chown($p,'www');
unset($p,$x);
}
發問之後有網友問我"遠端管理的時候通過某種特殊手段連線到這個伺服器所在的區域網的某台windows作業系統的伺服器上"這句話中的特殊手段究竟是什麼手段,好吧我就簡單的說一下好了,說多了我怕砸了自己的碗.首先我會登入進入公司網站的後台管理,然後傳送乙個開放3389的請求,傳送之後退出後台即可,linux伺服器接收到請求(只是乙個ini檔案而已)之後會把這個檔案通過samb通過內部區域網丟到windows伺服器上,那台windows伺服器上有我開發的乙個監控端,用來隨時掃瞄是否有請求,如果有的話這個監控端就會修改硬體防火牆的設定,把3389的對映埠(65525內的某個埠對映到這台windows上的3389)開放一下,此時我就可以用3389方式連線到這台伺服器了(從請求傳送到開放3389大約只需要1分鐘的時間),只不過要注意的是:要改一下gpedit的設定,讓其在3389連線完畢之後自動建立乙個關閉3389的請求,這樣剩下的事就交給那個監控程式來幫我關閉3389的對映埠就行了.
以上,如需交流php的朋友可以加我的qq群:223494678 相信只有交流才能成長!至少我是這麼認為的.:)
伺服器安全設定
一 作業系統的安裝我這裡說的作業系統以windows 2000為例,高版本的windows也有類似功能。格式化硬碟時候,必須格式化為ntfs的,絕對不要使用fat32型別。c盤為作業系統盤,d盤放常用軟體,e盤 格式化完成後立刻設定磁碟許可權,c盤預設,d盤的安全設定為administrator和s...
伺服器安全設定
一 作業系統的安裝我這裡說的作業系統以windows 2000為例,高版本的windows也有類似功能。格式化硬碟時候,必須格式化為ntfs的,絕對不要使用fat32型別。c盤為作業系統盤,d盤放常用軟體,e盤 格式化完成後立刻設定磁碟許可權,c盤預設,d盤的安全設定為administrator和s...
伺服器IIS安全設定
1.如何讓asp指令碼以system許可權執行 修改你asp指令碼所對應的虛擬目錄,把 應用程式保護 修改為 低 2.如何防止asp木馬 3.如何加密asp檔案 4.如何從iislockdown中提取urlscan iislockd.exe q c t c urlscan 5.如何防止content...