在頻頻惡意攻擊用戶(hù)、系統(tǒng)漏洞層出不窮的,作為網(wǎng)絡(luò)治理員、系統(tǒng)治理員雖然在服務(wù)器的安全上都下了不少功夫,諸如及時(shí)打上系統(tǒng)安全補(bǔ)丁、進(jìn)行一些常規(guī)的安全配置,但有時(shí)仍不安全。因此必須惡意用戶(hù)入侵之前,通過(guò)一些系列安全設(shè)置,來(lái)將入侵者們擋在“安全門(mén)”之外,下面將最簡(jiǎn)單、最有效的防(Overflow)溢出、本地提供權(quán)限攻擊類(lèi)的解決辦法給大家分享。
一、如何防止溢出類(lèi)攻擊
1、盡的可能性將系統(tǒng)的漏洞補(bǔ)丁都打完,是比如Microsoft Windows Server系列的系統(tǒng)可以將自動(dòng)更新服務(wù)打開(kāi),然后讓服務(wù)器在您指定的某個(gè)時(shí)間段內(nèi)自動(dòng)連接到Microsoft Update網(wǎng)站進(jìn)行補(bǔ)丁的更新。假如您的服務(wù)器為了安全起見(jiàn) 禁止了對(duì)公網(wǎng)外部的連接的話(huà),可以用Microsoft WSUS服務(wù)在內(nèi)網(wǎng)進(jìn)行升級(jí)。
2、停掉一切不需要的系統(tǒng)服務(wù)以及應(yīng)用程序,限能的降底服務(wù)器的被攻擊系數(shù)。比如前陣子的MSDTC溢出,導(dǎo)致很多服務(wù)器掛掉了。其實(shí)假如 WEB類(lèi)服務(wù)器根本沒(méi)有用到MSDTC服務(wù)時(shí),您大可以把MSDTC服務(wù)停掉,這樣MSDTC溢出對(duì)您的服務(wù)器不構(gòu)成任何威脅了。
3、啟動(dòng)TCP/IP端口的過(guò)濾,僅打開(kāi)常用的TCP如21、80、25、110、3389等端口;假如安全要求級(jí)別高一點(diǎn)可以將UDP端口關(guān)閉,當(dāng)然假如這樣之后缺陷是如在服務(wù)器上連外部不方便連接了,這里建議大家用IPSec來(lái)封UDP。在協(xié)議篩選中”只答應(yīng)”TCP協(xié)議(協(xié)議號(hào)為:6)、 UDP協(xié)議(協(xié)議號(hào)為:17)以及RDP協(xié)議(協(xié)議號(hào)為:27)等必需用協(xié)議即可;其它無(wú)用均不開(kāi)放。
4、啟用IPSec策略:為服務(wù)器的連接進(jìn)行安全認(rèn)證,給服務(wù)器加上雙保險(xiǎn)。如③所說(shuō),可以在這里封掉一些危險(xiǎn)的端品諸如:135 145 139 445 以及UDP對(duì)外連接之類(lèi)、以及對(duì)通讀進(jìn)行加密與只與有信任關(guān)系的IP或者網(wǎng)絡(luò)進(jìn)行通訊等等。(注:其實(shí)防反彈類(lèi)木馬用IPSec簡(jiǎn)單的禁止UDP或者不常用TCP端口的對(duì)外訪問(wèn)成了,關(guān)于IPSec的如何應(yīng)用這里不再敖續(xù),可以到服安討論Search “IPSec”, 會(huì)有N多關(guān)于IPSec的應(yīng)用資料..)
5、刪除、移動(dòng)、更名或者用訪問(wèn)控制表列Access Control Lists (ACLs)控制要害系統(tǒng)文件、命令及文件夾:
?。?).黑客通常在溢出得到shell后,來(lái)用諸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 來(lái)達(dá)到進(jìn)一步控制服務(wù)器的目的如:加賬號(hào)了,克隆治理員了等等;這里可以將這些命令程序刪除或者改名。(注重:在刪除與改名時(shí)先停掉文件復(fù)制服務(wù) (FRS)或者先將 %windir%\system32\dllcache\下的對(duì)應(yīng)文件刪除或改名。)
?。?).也或者將這些.exe文件移動(dòng)到指定的文件夾,這樣也方便以后治理員自己使用。
?。?).訪問(wèn)控制表列ACLS控制:找到%windir%\system32下找到cmd.exe、cmd32.exe net.exe net1.exe ipconfig.exe tftp.exe ftp.exe user.exe reg.exe regedit.exe regedt32.exe regsvr32.exe 這些黑客常用的文件,在“屬性”→“安全”中對(duì)他們進(jìn)行訪問(wèn)的ACLs用戶(hù)進(jìn) 行定義,諸如只給administrator有權(quán)訪問(wèn),假如需要防范一些溢出攻擊、以及溢出成功后對(duì)這些文件的非法利用,那么只需要將system用戶(hù)在 ACLs中進(jìn)行拒絕訪問(wèn)即可。
?。?).假如覺(jué)得在GUI下面太麻煩的話(huà),也可以用系統(tǒng)命令的CACLS.EXE來(lái)對(duì)這些.exe文件的Acls進(jìn)行編輯與修改,或者說(shuō)將他寫(xiě)成一個(gè).bat批處理 文件來(lái)執(zhí)行以及對(duì)這些命令進(jìn)行修改。(具體用戶(hù)自己參見(jiàn)cacls

幫助進(jìn)行,由于這里的命令太多不一一列舉寫(xiě)成批處理代碼給各位了!!)
?。?).對(duì)磁盤(pán)如C/D/E/F等進(jìn)行安全的ACLS設(shè)置從整體安全上考慮的話(huà)也是很有必要的,另外非凡是win2k,對(duì)Winnt、Winnt\System、Document and Setting等文件夾。
6、進(jìn)行注冊(cè)表的修改禁用命令解釋器: (假如您覺(jué)得用⑤的方法太煩瑣的話(huà),那么您不防試試下面一勞永逸的辦法來(lái)禁止CMD的運(yùn)行,通過(guò)修改注冊(cè)表,可以禁止用戶(hù)使用命令解釋器 (CMD.exe)和運(yùn)行批處理文件(.bat文件)。具體方法:新建一個(gè)雙字節(jié)(REG_DWord)執(zhí)行 HKEY_CURRENT_USER\Software\PolicIEs\ Microsoft\Windows\System\DisableCMD,修改其值為1,命令解釋器和批處理文件都不能被運(yùn)行。修改其值為2,則只是禁止命令解釋器的運(yùn)行,反之將值改為0,則是打開(kāi)CMS命令解釋器。假如您賺手動(dòng)太麻煩的話(huà),請(qǐng)將下面的代碼保存為*.reg文件,然后導(dǎo)入。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
“DisableCMD”=dword:00000001
7、對(duì)一些以System權(quán)限運(yùn)行的系統(tǒng)服務(wù)進(jìn)行降級(jí)處理。(諸如:將Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以 System權(quán)限運(yùn)行的服務(wù)或者應(yīng)用程序換成其它administrators成員甚至users權(quán)限運(yùn)行,這樣會(huì)安全得多了…但前提是需要對(duì)這些基本運(yùn)行狀態(tài)、調(diào)用API等相關(guān)情況較為了解. )
其實(shí),關(guān)于防止如Overflow溢出類(lèi)攻擊的辦法除了用上述的幾點(diǎn)以外,還有N多種辦法:諸如用組策略進(jìn)行限制,寫(xiě)防護(hù)過(guò)濾程序用DLL方式加載windows到相關(guān)的SHell以及動(dòng)態(tài)鏈接程序之中這類(lèi)。當(dāng)然自己寫(xiě)代碼來(lái)進(jìn)行驗(yàn)證加密需要有相關(guān)深厚的Win32編程基礎(chǔ)了,以及對(duì)Shellcode較有研究;由于此文僅僅是討論簡(jiǎn)單的解決辦法,因此其它辦法不在這里詳述了