人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

防備額外訪問量帶來的拒絕服務式攻擊

防備額外訪問量帶來的拒絕服務式攻擊

更新時間:2021-05-21 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。

    現在網上流傳一種方法,就是利用額外訪問量來進行拒絕服務式攻擊,這種攻擊,只需要一個文件,短短的幾行代碼,就可以通過訪問該文件的用戶,在他們不知不覺的情況下給你的目標帶來數十倍,甚至上百倍的訪問量,當該文件的訪問量達到一定數目時,給對方帶來的壓力將是非常可怕的。而且,這種攻擊由于攻擊源都是普通用戶,無法在放火墻上面做任何設置,可以說是防不勝防。但是道高一尺,魔高一丈,有矛必有盾,這樣的攻擊方式很難維護,但是也絕對不是不能防護。下面討論一下防御辦法。
1:利用參數變換保護數據庫訪問率:對于使用到數據庫或者其它文件資源的動態頁面可以使用參數變換,比如我們設定函數Encrypt(id)把id轉化成String的參數,我們的頁面news.asp?id=acehj.我們可以通過Decrypt(string)進行解碼,把它們解回id這樣一來,客戶很難偽造一個合法的參數訪問頁面,頁面在解碼的過程中利用驗證碼就拒絕了非法客戶的訪問,避免了惡意客戶的數據庫訪問,通過犧牲一點點的CPU計算時間獲得了數據庫訪問的安全。大家先看幾個例子看能不能猜出里面的函數變換139<=>adkl.110<=>abba.80<=>hag.11234567890<=>abdfhjlnprjs。
看出來了嗎?Encrypt和Decrypt的代碼如下:
<%
Function Encrypt (id)
  StrR=""
  Chk=0
  For x=1 to len(id)
             StrR=StrR&chr(95+x+cint(mid(id,x,1)))
             Chk=Chk+Cint(mid(id,x,1))
    Next
    Chk=Chk mod 26
    StrR=StrR&chr(95+chk)
    Encrypt=StrR
  End Function
  Function Decrypt(str)
      StrR=""
      For x=1 to len(str)-1
           u=(asc(mid(str,x,1))-x-95)
           StrR=""
           For x=1 to len(str,x,1))-x-95
                   u=(asc(mid(str,x,1))-x-95)
                   StrR=StrR&u
      Next
      Chk=Chk mod 26
      if right(str,1)<>chr(95+chk) then
                   response.write "驗證錯誤"
                   response.end
                   end if
           Decrypt=StrR
     End Function
%>

調用Encrypt(1235)得到acehj("aech?")時,只有?為j時能得到正確結果1234,除此之外的任何字符都將返回"現驗證錯誤"。
通過這樣的保護變化,客戶訪問的就是news.asp?id=acehj.無法看到實際id為1235,隨機生成的id又無法通過驗證過程,就無法通過軟件模擬來制造多線程的合法訪問,避免因為非法訪問使得數據庫資源耗盡而拒絕服務。另外,在這樣的保護下,SQL lnjection漏洞也得到了很好的防御。
這僅僅是個示范代碼,這個函數還有許多可以改進的地方:
1)可以增加函數變化的強度,降低函數被猜測出具體過程的概率。
2)可以把函數運用到Cookie中,對于Cookie做相應的變化,增加防御手段的隱蔽性。
3)可以把客戶IP加入函數運算,不光節約增強了函數強度,還達到防止盜鏈的功能。一旦用戶改變IP或偽造COOKIE及ID,馬上就發現
4)可以把時間加入函數運算,不光節約服務器的存儲空間,而且服務器只要通過對客戶發送的字符串進行解碼就能判斷出客戶信息。
  程序可以改進的地方還有好多每雖然能從多方面保護服務器,但也要注意使用方法,比如第四點提到的對空間的節約,就需要考慮空間和時間綜合因素。
2:在代碼層提高程序運行效率,增加服務器運行能力,減少被拒絕服務的可能。程序代碼非常關鍵,實現同樣的功能,代碼的好壞,效率差別極大,這里有兩個添加數據的代碼大家比較下:
代碼一
<%
  sql="select * from users"
  rs.open sql,conn.1.3
  rs.addnew
  rs("username")="TEST"
  rs("password"="123456"
  rs.updatw
  rs.close
%>
代碼二
<%
  sql="insert into users (username,password) values ('TEST','!23456')"
            rs.open sql,conn,1,3
%>

明顯的代碼二的效率比一要高的多,特別是當數據庫體積較大或者進行對次的重復操作時效率的提升是相當可觀的,代碼的好壞決定了程序的優劣,決定了服務器所能支持的客戶數,進而決定了服務器的抗擊DDOS的能力。
3:限制代理用戶的訪問:對代理用戶訪問的限制可以有效的防止黑客利用CC之類的工具進行攻擊,限制黑客對代理的使用,增加他暴露的可能,所以禁止代理訪問能夠降低被攻擊的可能。這個代碼能夠識別出大部分的代理訪問。這段代碼可以按用戶自己的要求修改后寫在Conn.asp里面,就能起作用拉,當然,代理是個雙刃劍,對代理的限制也一樣,禁止代理訪問會給一部分用戶的正常訪問帶來不變,所以要考慮后使用。
4:使用HTTPS協議,使用HTTPS協議可以說好處多多,可以多傳輸數據的安全性給予充分的保障,由于HTTPS協議的復雜性,能對HTTPS協議進行攻擊也相對少的多,HTTPS協議如果使用的非標準端口,基本可以杜絕所有的代理攻擊,還避免了多線程的下載,降低服務器壓力,但是由于HTTPS協議的復雜性,服務器新跟能夠相對HTTPS協議來說會低些,對客戶電腦性能的要器樂也就有所提高。
5:減少動態文件的使用,增加景泰文件使用,動態文件可以帶來豐富的頁面,實現很多功能,節省開發時間,但是方便的同時就是服務器資源消耗的提升,所以許多大論壇都把訪問大的帖子做成靜態的,還有許多文章系統也事用的靜態頁面[比如Wwww.Cnhacks.CoM]以增加服務器的抗攻擊能力。
6:合理設置防火墻,防火墻能夠有效地檢測出功能,并對攻擊進行積極的防御,但是如果對防火搶的設置不合理,發有可能出現防火墻負擔能力比服務器還差的情況,拒絕服務器攻擊產生的根源變成防火墻
7:有條件的服務器可以使用端口重定向功能,80端口只負責做頁面轉向,具體提供服務的端口由系統動態決定,通過80端口的轉往。
8:對于已經遭受攻擊的服務器,可以在使用以上手段防御的同時,考慮增加服務器集群增加服務器的服務能力。



網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 宝清县| 宁阳县| 沈丘县| 新化县| 通辽市| 德兴市| 丹寨县| 白银市| 临城县| 杭锦后旗| 英德市| 辉县市| 深圳市| 太仆寺旗| 永寿县| 崇左市| 安徽省| 景东| 洞口县| 额尔古纳市| 西和县| 凌云县| 乌鲁木齐市| 常德市| 东兰县| 志丹县| 丽水市| 宁河县| 南澳县| 新邵县| 东山县| 湘乡市| 松原市| 灵武市| 普兰县| 屏南县| 启东市| 读书| 斗六市| 黄平县| 西宁市|