国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

服務器如何防溢出?
2008-07-07   IT專家網

溢出是操作系統、應用軟件永遠的痛!在駭客頻頻攻擊、系統漏洞層出不窮的今天,任何人都不能保證操作系統系統、應用程序不被溢出。既然溢出似乎是必然的,而且利用溢出攻擊的門檻比較低,利用工具有一定電腦基礎的人都可以完成一次溢出。這樣看來,電腦系統就處于隨時被溢出的危險中,特別是肩負重任的服務器如果被溢出被滲透的話那后果不堪設想。我們總不能坐以待斃,做為網絡管理人員,應該未雨綢廖做好防范工作,把服務器被溢出的可能性降到最低。

  一、防什么,怎么防?

  1、必須打齊補丁

  盡最大的可能性將系統的漏洞補丁都打完;Microsoft Windows Server系列的服務器系統可以將自動更新服務打開,然后讓服務器在指定的某個時間段內自動連接到Microsoft Update網站進行補丁的更新。如果服務器為了安全起見禁止了對公網外部的連接的話,可以用Microsoft WSUS服務在內網進行升級。(見圖1)

  服務器防溢出

  圖1

  2、服務最小化

  最少的服務等于最大的安全,停掉一切不需要的系統服務以及應用程序,最大限度地降底服務器的被攻擊系數。比如前陣子的NDS溢出,就導致很多服務器掛掉了。其實如果WEB類服務器根本沒有用到DNS服務時,大可以把DNS服務停掉,這樣DNS溢出就對你們的服務器不構成任何威脅了。(見圖2)

  服務器防溢出

圖2

  3、端口過濾

  啟動TCP/IP端口的過濾,僅打開服務器常用的TCP如21、80、25、110、3389等端口;如果安全要求級別高一點可以將UDP端口關閉,當然如果這樣之后缺陷就是如在服務器上連外部就不方便連接了,這里建議大家用IPSec來封UDP。在協議篩選中只允許TCP協議、UDP協議 以及RDP協議等必需用協議即可;其它無用均不開放。(見圖3)

  服務器防溢出

圖3

  4、系統防火墻

  啟用IPSec策略,為服務器的連接進行安全認證,給服務器加上雙保險。封掉一些危險的端口,諸如:135 145 139 445 以及UDP對外連接之類、以及對通讀進行加密與只與有信任關系的IP或者網絡進行通訊等等。通過IPSec禁止UDP或者不常用TCP端口的對外訪問就可以非常有效地防反彈類木馬。

  5、系統命令防御

  刪除、移動、更名或者用訪問控制表列Access Control Lists (ACLs)控制關鍵系統文件、命令及文件夾:

  (1).黑客通常在溢出得到shell后,來用諸如net.exe、net1.exe、ipconfig.exe、user.exe、query.exe、 regedit.exe、regsvr32.exe 來達到進一步控制服務器的目的。如:加賬號、克隆管理員了等等。我們可以將這些命令程序刪除或者改名。(見圖4)

  服務器防溢出

圖4

  提示:在刪除與改名時先停掉文件復制服務 (FRS)或者先將 %windir%system32dllcache下的對應文件刪除或改名。

  (2).也或者將這些.exe文件移動到你指定的文件夾,這樣也方便以后管理員自己使用。

  (3).訪問控制表列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這些黑客常用的文件,在“屬性”→“安全”中對他們進行訪問的ACLs用戶進行定義,諸如只給administrator有權訪問,如果需要防范一些溢出攻擊、以及溢出成功后對這些文件的非法利用;那么我們只需要將system用戶在ACLs中進行拒絕訪問即可。

  (4).如果你覺得在GUI下面太麻煩的話,你也可以用系統命令的CACLS.EXE來對這些.exe文件的Acls進行編輯與修改,或者說將他寫成一個.bat批處理 文件來執行以及對這些命令進行修改。

  (5).對磁盤如C、D、E、F等進行安全的ACLS設置從整體安全上考慮的話也是很有必要的,另外特別要對Windows、WinntSystem、Document and Setting等文件夾。

  6、組策略配置

  想禁用“cmd.exe”,執行“開始→運行”輸入gpedit.msc打開組策略,選擇“用戶配置→管理模板→系統”,把“阻止訪問命令提示符”設為“啟用”。同樣的可以通過組策略禁止其它比較危險的應用程序。(見圖5)

  服務器防溢出

圖5

  7、服務降級

  對一些以System權限運行的系統服務進行降級處理。比如:將Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以 System權限運行的服務或者應用程序換成其它administrators成員甚至users權限運行,這樣就會安全得多了。但前提是需要對這些基本運行狀態、調用API等相關情況較為了解。(見圖6)

  服務器防溢出

見圖5

  小結:其實,關于防止如Overflow溢出類攻擊的辦法除了用上述的幾點以外,還有很多種辦法:比如通過注冊表進行建立相應的鍵值,進行設置;寫防護過濾程序用DLL方式加載windows到相關的SHell以及動態鏈接程序之中這類。當然自己寫代碼來進行驗證加密就需要有相關深厚的Win32編程基礎了,以及對Shellcode較有研究。

  二、如何防滲透?

  如果不幸如果某臺服務器被攻擊者溢出成功,退而求其次,那應該怎樣防止被攻擊者溢出得到Shell后對局域網的其他服務器的進一步入侵呢?

  1、其實在做好上述的工作之后,基本上可以預防攻擊者在溢出之后得到shell了,即使Overflow溢出成功,但在用CMDSHELL、以及對外連接時就卡了。為什么呢?因為:(1).溢出后程序無法再調用到CMDSHLL我們已經禁止system訪問CMD.exe了。(2).溢出之后在進行反彈時已經無法對外部IP進行連接了。當然能過system權限來反彈shell對于大部分攻擊者就困難了。

  2、當然世界上是不存在絕對的安全的,假設入侵者在得到了shell之后,做些什么呢?一般入侵者在在得到shell之后,就會利用系統命令加賬號,通過tftp、ftp、vbs等方式傳文件了等等來達到進一步控制服務器。這里我們通過上述的辦法對命令進行了限制,入侵者是沒有辦法通過tftp、 ftp來傳文件了,但他們仍然可以能過echo寫批處理,用批處理通過腳本BAT、VB等從WEB上下載文件,以及修改其它盤類的文件等潛在破壞行為。所以我們需要將echo命令也限制以及將其它盤的System寫、修改文件的權限進行處理。以及將VB類腳本以及XML、http等組件進行禁用或者限制system的運行權限。這樣的話別人得到Shell也無法對服務器上的文件進行刪除以及進行步的控制系統了;同時也防止本地提權反彈Shell了。(見圖7)

  服務器防溢出

圖7

  總結:服務器的安全是個系統工程,任何小小的疏忽都有可以造成服務器的淪陷。“防”永遠比“補”好,管理員“防”在溢出之前,把被攻擊的危險降到最低,這才是真正的服務器安全之道。

熱詞搜索:

上一篇:免疫墻路由器和內網安全管理技術
下一篇:Fedora6中IPtables日志管理技巧

分享到: 收藏
主站蜘蛛池模板: 巴中市| 阿克苏市| 耒阳市| 深水埗区| 合作市| 大兴区| 东宁县| 大足县| 河北区| 新源县| 古交市| 高陵县| 革吉县| 漾濞| 凌云县| 苍山县| 图木舒克市| 秭归县| 土默特左旗| 高碑店市| 肥城市| 轮台县| 南京市| 平和县| 东安县| 康马县| 东城区| 北安市| 高平市| 武宁县| 康平县| 镇赉县| 富川| 玛沁县| 屯昌县| 丰顺县| 海城市| 义乌市| 略阳县| 夏河县| 郁南县|