中小型網(wǎng)站制作時安全性分析與研究詳解
發(fā)布時間:2022-04-02來源:admin
中小型網(wǎng)站制作時安全性分析與研究詳解,小型公司的宣傳網(wǎng)站也是的當下網(wǎng)站制作公司制作最多的一種網(wǎng)站了,由于這種網(wǎng)站是好多的公司都能使用得到的,并且方便與用戶通過網(wǎng)站將自己公司的產(chǎn)品或者服務(wù)上傳到網(wǎng)絡(luò)公司,方便與公司的產(chǎn)品或者宣傳和推廣了,但是這種方面最多,由于這種小網(wǎng)站基本上很簡單,沒有什么技術(shù)門檻,只要是個懂技術(shù)的人都是能制作的出來,但是問題是即使你能制作出來這樣的網(wǎng)站,但是網(wǎng)站的安全性以及穩(wěn)定性如何,是需要時間的驗證的,往往用戶在日常找<a href="http://www.szbc888.com" target="_blank"><strong>網(wǎng)站制作公司</strong></a>的時候,也很少去關(guān)注這些網(wǎng)站的安全和穩(wěn)定的,接下來我們來聽一下<a href="http://www.szbc888.com" target="_blank"><strong>深圳網(wǎng)頁制作</strong></a>公司的技術(shù)是怎么說的。<br />
1 網(wǎng)頁防篡改的意義和應(yīng)對措施 <br />
  目前,企事業(yè)單位網(wǎng)站一般搭建在Windows或Linux服務(wù)器上,對web服務(wù)器來說,包含的風險不僅是服務(wù)器宕機或者網(wǎng)站癱瘓,更嚴重的是被黑客入侵后上傳了木馬文件,由于木馬文件是可執(zhí)行文件或具有可執(zhí)行腳本,能夠篡改網(wǎng)站文件使其鏈接到廣告、游戲甚至國外政治敏感站點,所以危害極大。對網(wǎng)站管理者來說,防止木馬文件上傳和網(wǎng)頁被篡改非常重要!網(wǎng)頁防篡改的基本要求是:及時發(fā)現(xiàn)和處理上傳的木馬和被篡改的正常文件。常見的防護措施包括: <br />
  (1) 加固服務(wù)器安全設(shè)置,包括禁止遠程操作注冊表、禁用CMD命令、開啟防火墻等。 <br />
  (2) 安裝安全狗、云盾、防篡改等商業(yè)軟件或者購買硬件防護設(shè)備(WAF)。 <br />
  兩類措施各有不足,第一類措施強化了服務(wù)器的安全,但是對HTTP的80端口攻擊無能為力,例如SQL注入、XSS攻擊等。第二類措施需要購買昂貴的商業(yè)產(chǎn)品,不適于資金緊張的中小型網(wǎng)站。 <br />
  2 本文的防篡改系統(tǒng)設(shè)計思路 <br />
  中小網(wǎng)站管理者缺少足夠的資金,無法將安全工作外包或購買安全設(shè)備,卻往往具有一定的編程能力或者豐富的網(wǎng)站安全經(jīng)驗,本文根據(jù)這一情況設(shè)計了適合于中小型網(wǎng)站的防篡改系統(tǒng),根據(jù)此設(shè)計開發(fā)的軟件可以24小時運行在Windows或Linux服務(wù)器上,以后臺服務(wù)方式保護網(wǎng)站,設(shè)計思路包含兩類防護措施。 <br />
  (1) 文件監(jiān)聽和合法性檢查 <br />
  Windows和Linux系統(tǒng)都提供了文件系統(tǒng)的事件觸發(fā)機制,當操作系統(tǒng)監(jiān)聽到文件被創(chuàng)建、修改和重命名時,會觸發(fā)相應(yīng)事件并調(diào)用對應(yīng)的方法,在方法中執(zhí)行文件合法性檢查,就能實時監(jiān)測網(wǎng)站文件的變化,實現(xiàn)被動防護[1][2]。 <br />
  (2) 設(shè)計蜜罐頁面和入侵痕跡檢索 <br />
  為了進一步提高防護能力,增加了主動防護措施,在網(wǎng)站目錄中設(shè)計蜜罐頁面,“引誘”入侵者訪問此頁面,從而在日志文件中留下痕跡,通過分析日志檢索并屏蔽非法IP。 <br />
  3 文件監(jiān)聽和合法性檢查 <br />
  3.1 業(yè)務(wù)邏輯 <br />
  (1) 對網(wǎng)站文件進行監(jiān)聽 <br />
  Windows平臺可以使用FileSystemWatcher類對指定的文件夾進行監(jiān)聽,也可以使用JNotify包進行監(jiān)聽,由于后者兼容Linux平臺,所以建議使用后者,兩種監(jiān)聽技術(shù)都對文件的內(nèi)容修改、創(chuàng)建、重命名、刪除等事件提供了觸發(fā)機制,重點監(jiān)聽創(chuàng)建、修改和重命名事件的發(fā)生,以下是事件的觸發(fā)條件、參數(shù)和處理方法。 <br />
  (2) 文件合法性檢查 <br />
  以Create事件為例,檢查參數(shù)文件是否為木馬依賴于網(wǎng)站的配置、運行特征和管理員的安全經(jīng)驗,不同的網(wǎng)站需要設(shè)置不同的檢查規(guī)則,以某中學網(wǎng)站為例,總結(jié)并形成如表2所示的幾條規(guī)則。 <br />
  規(guī)則等級的數(shù)值越大表示檢驗優(yōu)先級越高,最先檢查的是文件上傳(創(chuàng)建)時間,因為網(wǎng)站編輯一般在每天6:30~23:00內(nèi)工作,所以此時間段之外上傳的文件違規(guī);其次檢查上傳文件是否位于UploadFile目錄下,位于此目錄之外違規(guī);接下來檢查上傳文件類型是否為動態(tài)腳本或可執(zhí)行文件,若是則違規(guī);最后以文本形式打開文件,檢查內(nèi)容是否含有暗鏈或非法關(guān)鍵詞,若存在則違規(guī)。所有規(guī)則檢查結(jié)果為真表示上傳文件合法,可以保留在網(wǎng)站上,違反任意一條就視為非法文件進行處理。 <br />
  (3) 非法文件處理 <br />
  由于非法文件可能是入侵者上傳的,這說明此時的網(wǎng)站很可能已經(jīng)被黑客攻破,服務(wù)器肯定存在漏洞,需要執(zhí)行以下操作: <br />
  1) 加密非法文件并備份到某個隱藏位置后刪除此文件。 <br />
  2) 根據(jù)非法文件名稱和上傳時間,在網(wǎng)站日志中查找來源IP,發(fā)現(xiàn)后屏蔽。 <br />
  3) 發(fā)送手機短信給管理員。 <br />
  4) 將非法文件信息寫入自定義日志,以備日后分析服務(wù)器漏洞。 <br />
  3.2 開發(fā)實現(xiàn) <br />
  上述設(shè)計思路已經(jīng)使用Java語言實現(xiàn),主要包含以下幾個技術(shù)要點。 <br />
  (1) 讀取XML配置文件 <br />
  由于不同網(wǎng)站的配置、運行情況很不相同,所以監(jiān)聽網(wǎng)站前先要讀取XML文件初始化參數(shù),包括監(jiān)聽的網(wǎng)站目錄、禁止上傳的文件類型、日志位置、上傳文件所在目錄、發(fā)送短信參數(shù)等。 <br />
  (2) 監(jiān)聽工具 <br />
  服務(wù)程序使用Java的JNotify組件進行監(jiān)控,程序運行后調(diào)用監(jiān)控類,監(jiān)控類繼承于JNotifyListener接口,需要開發(fā)者重寫fileRenamed、fileModified、fileCreated等方法,發(fā)生了某個事件就執(zhí)行對應(yīng)方法。 <br />
  (3) 使用Drools引擎實現(xiàn)業(yè)務(wù)邏輯規(guī)則化 <br />
  文件合法性檢查歸結(jié)為一組業(yè)務(wù)規(guī)則的執(zhí)行,建議使用Drools引擎來實現(xiàn)業(yè)務(wù)邏輯的規(guī)則化[3][4],開發(fā)者可以針對各類觸發(fā)事件,分別編寫出每組業(yè)務(wù)規(guī)則并形成DRL文件,Drools引擎解析、執(zhí)行文件包含的所有規(guī)則,這大大簡化了傳統(tǒng)的高級語言編程,以表2的時間限制規(guī)則為例,只要將它的Salience屬性定義為四個規(guī)則中的最大值,就可以最先執(zhí)行,參數(shù)6:30和23:00可以在規(guī)則中直接修改且不需要重新編譯,此規(guī)則調(diào)用外部java類靜態(tài)方法檢測時間的合法性,這樣就將業(yè)務(wù)邏輯和類庫代碼分離開了。 (4) IP屏蔽技術(shù) <br />
  若發(fā)現(xiàn)網(wǎng)站被上傳了非法文件,可以根據(jù)文件上傳時間或者事件觸發(fā)時間在網(wǎng)站日志中查找入侵IP,重點查找POST操作,發(fā)現(xiàn)后使用Java語句調(diào)用IPTABLES命令實現(xiàn)IP屏蔽。在Windows系統(tǒng)中可以調(diào)用IPSEC安全策略中的netsh命令實現(xiàn)IP屏蔽。 <br />
  (5) 手機短信通知 <br />
  使用訂購的中國移動云MAS服務(wù),可以使用MAS服務(wù)提供的接口編寫Java短信類,將非法文件的文件名、處理方式和違反的規(guī)則名稱等參數(shù)寫入預(yù)定義模板發(fā)送給網(wǎng)站管理員,實現(xiàn)24小時短信通知。 <br />
  4 設(shè)計蜜罐頁面和入侵痕跡檢索 <br />
  4.1 設(shè)計蜜罐頁面 <br />
  入侵者為了找到網(wǎng)站漏洞,總是先用工具軟件掃描網(wǎng)站,尤其是最常見的登錄和管理頁面,例如login.asp、index.asp等,這為網(wǎng)站防御提供了一個蜜罐“誘騙”思路[5][6]:將正常使用的后臺登錄和管理頁面重命名隱藏起來,然后在網(wǎng)站根目錄下添加login或index等蜜罐頁面,這些頁面不提供任何服務(wù)功能,正常用戶應(yīng)該訪問不到,只是是為了引誘入侵者訪問。 <br />
  服務(wù)程序定時讀取日志文件,每次讀取從上次日志結(jié)尾開始,利用正則表達式檢索訪問了蜜罐頁面的IP,這些IP一定是嘗試入侵者,由于入侵者找到漏洞并成功入侵總是需要時間的,在不嚴重增加服務(wù)器負擔的情況下,采用較小時間間隔定時檢索日志,可以及時發(fā)現(xiàn)大多數(shù)入侵企圖。 <br />
  4.2 入侵痕跡的擴展檢索 <br />
  除了發(fā)現(xiàn)蜜罐頁面的來訪IP之外,還可以同時檢索SQL注入和XSS入侵痕跡,它們的表現(xiàn)是在GET或POST請求的URL字符串中含有非法字符和單詞,包括: <br />
  (1) 西文的單引號、雙引號、中括號和星號等,重點檢查單引號。<br />
來訪的URL字符串都記錄在網(wǎng)站日志文件中,為了盡可能發(fā)現(xiàn)攻擊性URL,建議管理員將待檢索的非法字符和單詞寫成正則表達式去匹配URL,若匹配則說明此URL含有攻擊,例如“.*select.*or”表示在URL查找select和or,匹配成功表明此URL存在SQL攻擊。 <br />
  由于SQL的攻擊URL復(fù)雜多變,管理員需要不斷更新,而Drools規(guī)則的修改不需要重新編譯程序源代碼,所以建議將待檢索的正則表達式串編入Drools規(guī)則,在規(guī)則中調(diào)用外部類靜態(tài)方法驗證來訪URL是否與之匹配。 <br />
  5 運維和管理 <br />
  建議以命令行方式在服務(wù)器上安裝程序和所需的Drools開發(fā)包,以后臺服務(wù)形式24小時伴隨網(wǎng)站運行,為了保證服務(wù)在線運行,將程序設(shè)置為開機啟動并定時檢查進程是否存在,在Window Server中使用計劃任務(wù)和PowerShell實現(xiàn),在Linux系統(tǒng)中使用Crond和Shell實現(xiàn)。 <br />
  為了有效管理服務(wù)器的防篡改系統(tǒng)運行,開發(fā)Android手機端App,APP能夠基于SSH協(xié)議向服務(wù)器發(fā)送指令,實現(xiàn)以下功能。 <br />
  (1) 請求并接收服務(wù)器端認定的非法文件信息,以供管理員瀏覽、分析。 <br />
  (2) 發(fā)送文件恢復(fù)指令,將誤刪除的文件恢復(fù)到原位置。 <br />
  (3) 發(fā)送IP操作指令,解除誤屏蔽的IP。 <br />
  (4) 定時發(fā)送HTTP請求,檢查網(wǎng)站是否可以正常訪問。 <br />
  (5) 發(fā)送重啟網(wǎng)站、重啟和關(guān)閉服務(wù)器的指令。 <br />
聯(lián)系方式: 0755-84185494