成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

針對數據入侵的安全設置和策略
2007-10-08   網絡

一.引言

隨著網絡的普及和發展,基于Internet的各種系統也在各行各業中發揮著日益重要的作用。但由于計算機網絡具有連接形式多樣性、終端分布不均勻性和網絡的開放性、互聯性等特征,致使WEB系統易受黑客,惡意軟件和其它不軌行為的攻擊。而且,當其中涉及有關個人身份的隱私資料,或公司、學校等各種團體的敏感數據,甚至商業數據時,提高網絡安全性尤為重要。本文將以WEB系統中的典型配置(Win2000 server+SQL+IIS5.0)為例,著重討論WEB服務器的系統安全設置與SQL Injection的安全策略。



二.網絡安全隱患分析及安全技術



通常,我們所說的網絡安全是指:網絡系統的硬件、軟件及其系統中的數據受到保護,不會因為偶然或者惡意的攻擊而遭到破壞、更改、泄漏,系統能夠連續、可靠、正常地運行,網絡服務不中斷。因此,通常網絡安全包括了系統安全和數據安全兩個部分。同樣,對網絡地惡意攻擊行為也可大致分為系統型攻擊和數據型攻擊。在網絡安全中,各種硬件設施,防火墻都是必不可少的。除此之外,系統的安全設置及代碼的數據安全性也是其中不可忽視的一部分,本文將對此作深入的討論。具體分析如下:



1.系統安全設置



以Windows 2000 server + SQL Server 2000 + IIS5.0為例:相對而言,這是我們最常用的網絡服務器配置。但是微軟的漏洞層出不窮,補丁一個接一個。因此,加固系統安全就顯得異常重要。



首先,應盡可能選擇專用的Web Server服務器,在安裝系統時應斷開服務器的網絡連接,并在此基礎上安裝Service Pack 3的補丁程序。打完補丁后修改注冊表,首先禁止默認共享。在Windows 2000中,有一個“默認共享”,這是在安裝服務器的時候,把系統安裝分區自動進行共享,雖然對其訪問還需要超級用戶的密碼,但這是潛在的安全隱患,從服務器的安全考慮,最好關閉這個“默認共享”,以保證系統安全。將鍵值: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparametersautoshareserver修改為0。



HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters autosharewks修改為0。如果沒有這兩個鍵值,新建即可。注意,新建時選擇“雙字節值”。此外應禁止IPC$空連接,將鍵值 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa
estrictanonymous修改為1。



IPC$(Internet Process Connection)是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應的權限,在遠程管理計算機和查看計算機的共享資源時使用。利用IPC$,連接者甚至可以與目標主機建立一個空的連接而無需用戶名與密碼(當然,主機必須開了ipc$共享,否則是連接不上的),而利用這個空的連接,連接者還可以得到目標主機上的用戶列表。



其次,針對IIS,要盡量避免把IIS安裝在網絡中的主域控制器上。因為在安裝完IIS后,會在所安裝的計算機上生成IUSR_Computername的匿名賬戶。這個賬戶會被添加到域用戶組中,從而把應用于域用戶組的訪問權限提供給訪問Web服務器的每個匿名用戶,這樣不僅不能保證IIS的安全性,而且會威脅到主域控制器。在安裝完后,應運行IISLOCKD.EXE,該軟件是微軟發行的用于填補IIS漏洞的軟件。但這并不足以保證IIS的安全,應對IIS做進一步的加固:



a.刪除和停用IIS的示范程序和目錄,這是IIS自帶的程序和文件,也是進攻者對web系統進行攻擊的一個途徑。



條目



位置





IIS



?Inetpubiissamples





Admin Scripts



?InetpubAdminScripts





IIS Documentation



%systemroot%helpiis help





Data Access



?Program Filescommonfilessystemmsadc




b.為防止進攻者利用服務器的FTP設置和發送MAIL的功能對網站內容進行修改,如果服務器不需要FTP和發送MAIL, 可以刪掉ftproot和mailroot 兩個文件夾,并關掉相關服務。



c.為避免日志文件被修改或覆蓋,需要設置IIS日志文件的訪問控制權限:默認情況下,IIS的日志會在“%systemroot%system32logfiles”目錄下。如果可能,可以將日志的路徑換一個地方。推薦訪問控制權限:Administrators (Full Control) ;System (Full Control) ;Everyone (RWC). 這個步驟將防止一些有惡意的用戶通過刪除日志信息來掩蓋他的記錄。



d.刪除危險的腳本影射:例如:對.htr文件的映射,請求處理存在堆溢出漏洞,遠程攻擊者可以利用此漏洞得到主機本地普通用戶訪問權限。而對idq.dll,在處理某些URL請求時存在一個未經檢查的緩沖區,如果攻擊者提供一個特殊格式的URL,就可能引發一個緩沖區溢出。通過精心構造發送數據,攻擊者可以改變程序執行流程,執行任意代碼。成功地利用這個漏洞,攻擊者可以遠程獲取"Local System"權限。因此,刪除一些并不需要的腳本影射,可以將利用漏洞攻擊的可能性降至最低:




腳本類型



映射





Web-based password reset



.htr





Internet Database Connector



.idc





Server-Side Includes



.stm  .shtml  .shtm





Internet Printing



.printer





Index Server



.ida .idq .hta







2.數據攻擊



以下主要總結了針對SQL Injection 的安全防范策略及對SQL Server的設置。所謂SQL Injection,就是指利用某些數據庫的外部接口把用戶數據插入到實際的數據庫操作語言當中,從而達到入侵數據庫乃至操作系統的目的。在利用Web 腳本語言(ASP,PHP)做前臺+數據庫做后臺的WEB系統中,為達到與用戶交互的目的,就不可避免的有一些東西是來自用戶提交的信息,如用戶的登陸信息,查詢字符串,或用戶可以遠程修改的資料等等。這些信息往往可能被攻擊者利用,將SQL語句篡改成其它組合語句,以達到其攻擊目的。



這里,我們舉一個簡單的例子:




dim conn

dim rst

username=request.querystring("username")

password=request.querystring("password")

set conn=Server.CreateObject("ADODB.Connection")

conn.open strConn ‘數據庫連接字符串略

set rst=conn.execute("select * from login where username=‘" & username & "‘ and password=‘"

& password "‘")

if not rst.eof then

response.write "log in"

else

response.write "failed"

end if

rst.close

conn.close

  其中,實施SQL Injection的關鍵代碼如下:set rst=conn.execute("select * from login where username=‘" & username & "‘ and password=‘" & password "‘")

  在數據庫中,我們在表login中定義username=user , password= pwd。如果在登錄界面輸入正確,則username , password 嵌入到SQL語句中,組成的URL為:http://localhost/test.asp ? username=username&password=password

  如果,入侵者提交這樣的URL又會怎樣呢?http://localhost / test.asp ? username=username&password=any ‘or 1=1--

  結果,組成的SQL為:select * from login where username=‘username‘ and password=‘any‘ or 1=1--‘

  而1=1永遠成立,--后面的東西將被忽略。所以,不管正確的密碼是什么,這個語句返回的都將是login. 這就是最典型的SQL Injection,也是較為簡單的一種。SQL Injection的威脅性也不止于此,還有諸如:得到后臺數據庫信息、讀取數據庫中的數據,甚至獲取系統信息,修改注冊表等。根據以上特點,我們提出如下的防范措施:



首先,SQL Injection通常在與用戶交互時發生,那么對用戶的輸入進行嚴格的過濾是非常重要的,尤其是對單引號、雙引號以及“――”等符號。而且不僅是對QUERY_STRING環境變量的過濾,還要對所有的表單提交的數據以及用戶可以通過修改來控制的下拉菜單、按鈕等所有的交互數據進行過濾。同時,考慮到很多惡意的攻擊可能會結合一些數據的組合來繞開這種過濾方法。因此,可以采用一種更安全的方法,進行一些安全替換等。比如:將單引號替換為兩個單引號input = replace (input,” ’ ”,” ’ ’ ”)但是,僅從程序的角度來過濾是不夠的,還需要結合其它的安全手段,比如:使用防火墻過濾掉進入80端口的單引號、雙引號以及“――”等特殊符號。此外,還要對SQL Server 進行必要的安全配置,刪除一些存儲過程:



  1.直接運行系統命令的存儲過程:xp_cmdshell 。xp_cmdshell是進入操作系統的最佳捷徑,是數據庫留給操作系統的一個大后門。



  2. 刪除訪問注冊表的存儲過程,某些注冊表存儲過程甚至能夠讀出操作系統管理員的密碼來:xp_regaddmultistring, xp_regdeletekey, xp_regdeletevalue, xp_regenumvalues, xp_regread, xp_regremovemultistring, xp_regwrite 。



  3.OLE存儲過程:Sp_OACreate, Sp_OADestroy, Sp_OAGetErrorInfo, Sp_OAGetProperty, Sp_OAMethod, Sp_OASetProperty, Sp_OAStop



  4.其他有一定安全隱患的存儲過程:如xp_servicecontrol, xp_stopmail, xp_startmail, xp_perfmonitor, xp_unc_to_drive, xp_perfend, sp_sdidebug, xp_availablemedia, xp_deletemail, xp_dirtree, xp_dropwebtask, xp_dsninfo,等。



  其實在多數應用中根本用不到多少系統的存儲過程,而SQL Server的這么多系統存儲過程只是用來適應廣大用戶需求的,所以請刪除不必要的存儲過程,因為有些系統的存儲過程能很容易地被人利用起來提升權限或進行破壞。在刪除這些存儲過程的之前,先備份。如果系統不能正常運行,則恢復它。



三.結語:



網絡安全技術是網絡安全管理的重要內容,合理的系統及IIS配置能夠增強網絡安全。同時,代碼的安全及防火墻的合理配置也是不可忽視的內容。文中所提及的技術已在某些高校的就業管理系統中得到應用。實踐證明,這些技術是可行和有效的。同時,雖然本文是針對Win2000 server+SQL+IIS5.0做的探討,但也可以有選擇地應用于其它的服務器配置。

熱詞搜索:

上一篇:SQL Server的數據備份、管理與恢復(下)
下一篇:數據庫的快捷備份

分享到: 收藏
主站蜘蛛池模板: 康熙王朝是哪一年拍的| 花煞| who is next| 电影善良的妻子| 新有菜免费在线观看| 萱草花合唱谱二声部| 免费看黄在线看| 云南的旅游攻略| outlander| 追捕演员表名单| 金太狼的幸福生活剧情介绍| 金马电影网| 刘慧茹| 琉璃演员表全部演员介绍| 地理填充图册| 电影绿色地狱| 火船 电影| cctv16节目表今天目表| 格子论文| 日记100字简单| 欧美一级毛片无遮挡| 香帅传奇| 黄视频免费| 唐安| 高达w| 冬日舞蹈教程完整版| 砵兰街大少国语版免费观看| 陈浩民演的电视剧大全| 防冲撞应急处置预案| 新妈妈2| 红白黑黄| 泪桥简谱| 敖丙手机壁纸| 一问倾城| 欧若拉歌词| 高纤维食物一览表| 松永纱奈| 爱情与灵药 电影| 魔女| 第一财经直播电视直播 现场直播| 生化危机启示录2|