安全狗網站訪問認證
⑴ 網站被CC攻擊該如何防禦
網站被攻擊是一件十分讓人惱火的事情,不僅僅是讓網站速度變慢、訪問異常,導致用戶體驗變差,用戶大量流失,而且還會導致網站關鍵詞排名下降甚至被降權,極大幹擾了網站的正常穩定運行。那面對CC攻擊,該如何進行防禦呢?
1、把網站做成靜態頁面:大量事實證明,把網站盡可能做成靜態頁面,不僅能大大提高抗攻擊能力,而且還給駭客入侵帶來不少麻煩,至少到現在為止關於HTML的溢出還沒出現。像新浪、搜狐、網易等大型門戶網站基本上都是靜態頁面。
2、利用Session做訪問計數器:利用Session針對每個IP做頁面訪問計數器或文件下載計數器,防止用戶對某個頁面頻繁刷新導致資料庫頻繁讀取或頻繁下載某個文件而產生大額流量。
3、在存在多站的伺服器上,嚴格限制每一個站允許的IP連接數和CPU使用時間,這是一個很有效的方法。還有SQL注入,不光是一個入侵工具,更是一個DDOS缺口。CC的防禦要從代碼做起,一個腳本代碼的錯誤,可能帶來的是整個站的影響,甚至是整個伺服器的影響!
4、在IDC機房前端部署防火牆或者流量清洗的一些設備,還可以接入像墨者安全那樣的專業高防服務,隱藏伺服器真實IP,利用新的WAF演算法過濾技術,綜合大數據分析變種穿盾CC保護或者採用大帶寬的高防機房來清洗DDOS攻擊。此外,伺服器上部署的其他域名也不能使用真實IP解析,全部都使用CDN來解析。
⑵ 什麼是CC攻擊,如何防止網站被CC攻擊
CC主要是用來攻擊頁面的。就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁面越多,資料庫就越大,被訪問的頻率也越高,佔用的系統資源也就相當可觀,現在知道為什麼很多空間服務商都說大家不要上傳論壇,聊天室等東西了吧。
一個靜態頁面不需要伺服器多少資源,甚至可以說直接從內存中讀出來發給你就可以了,但是論壇就不一樣了,我看一個帖子,系統需要到資料庫中判斷我是否有讀讀帖子的許可權,如果有,就讀出帖子裡面的內容,顯示出來——這里至少訪問了2次資料庫,如果資料庫的體積有200MB大小,系統很可能就要在這200MB大小的數據空間搜索一遍,這需要多少的CPU資源和時間?如果我是查找一個關鍵字,那麼時間更加可觀,因為前面的搜索可以限定在一個很小的范圍內,比如用戶許可權只查用戶表,帖子內容只查帖子表,而且查到就可以馬上停止查詢,而搜索肯定會對所有的數據進行一次判斷,消耗的時間是相當的大。
CC就是充分利用了這個特點,模擬多個用戶(多少線程就是多少用戶)不停的進行訪問(訪問那些需要大量數據操作,就是需要大量CPU時間的頁面)。很多朋友問到,為什麼要使用代理呢?因為代理可以有效地隱藏自己的身份,也可以繞開所有的防火牆,因為基本上所有的防火牆都會檢測並發的TCP/IP連接數目,超過一定數目一定頻率就會被認為是Connection-Flood。
使用代理攻擊還能很好的保持連接,我們這里發送了數據,代理幫我們轉發給對方伺服器,我們就可以馬上斷開,代理還會繼續保持著和對方連接(我知道的記錄是有人利用2000個代理產生了35萬並發連接)。
可能很多朋友還不能很好的理解,我來描述一下吧。我們假設伺服器A對Search.asp的處理時間需要0.01S(多線程只是時間分割,對結論沒有影響),也就是說他一秒可以保證100個用戶的Search請求,伺服器允許的最大連接時間為60s,那麼我們使用CC模擬120個用戶並發連接,那麼經過1分鍾,伺服器的被請求了7200次,處理了6000次,於是剩下了1200個並發連接沒有被處理。有的朋友會說:丟連接!丟連接!問題是伺服器是按先來後到的順序丟的,這1200個是在最後10秒的時候發起的,想丟?!還早,經過計算,伺服器滿負開始丟連接的時候,應該是有7200個並發連接存在隊列,然後伺服器開始120個/秒的丟連接,我們發動的連接也是120個/秒,伺服器永遠有處理不完的連接,伺服器的CPU 100%並長時間保持,然後丟連接的60秒伺服器也判斷處理不過來了,新的連接也處理不了,這樣伺服器達到了超級繁忙狀態。
蝴蝶:我們假設伺服器處理Search只用了0.01S,也就是10毫秒(這個速度你可以去各個有開放時間顯示的論壇看看),我們使用的線程也只有120,很多伺服器的丟連接時間遠比60S長,我們的使用線程遠比120多,可以想像可怕了吧,而且客戶機只要發送了斷開,連接的保持是代理做的,而且當伺服器收到SQL請求,肯定會進入隊列,不論連接是否已經斷開,而且伺服器是並發的,不是順序執行,這樣使得更多的請求進入內存請求,對伺服器負擔更大。
當然,CC也可以利用這里方法對FTP進行攻擊,也可以實現TCP-FLOOD,這些都是經過測試有效的。
防範方法
說了攻擊原理,大家肯定會問,那麼怎麼防禦?使用硬體防火牆我不知道如何防範,除非你完全屏蔽頁面訪問,我的方法是通過頁面的編寫實現防禦。
1. 使用Cookie認證。這時候朋友說CC裡面也允許Cookie,但是這里的Cookie是所有連接都使用的,所以啟用IP+Cookie認證就可以了。
2. 利用Session。這個判斷比Cookie更加方便,不光可以IP認證,還可以防刷新模式,在頁面里判斷刷新,是刷新就不讓它訪問,沒有刷新符號給它刷新符號。給些示範代碼吧,Session:
<%if session(「refresh」)<> 1 then
Session(「refresh」)=session(「refresh」)+1
Response.redirect 「index.asp」
End if
%>
這樣用戶第一次訪問會使得Refresh=1,第二次訪問,正常,第三次,不讓他訪問了,認為是刷新,可以加上一個時間參數,讓多少時間允許訪問,這樣就限制了耗時間的頁面的訪問,對正常客戶幾乎沒有什麼影響。
3. 通過代理發送的HTTP_X_FORWARDED_FOR變數來判斷使用代理攻擊機器的真實IP,這招完全可以找到發動攻擊的人,當然,不是所有的代理伺服器都發送,但是有很多代理都發送這個參數。詳細代碼:
<%
Dim fsoObject
Dim tsObject
dim file
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then
response.write "無代理訪問"
response.end
end if
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
file = server.mappath("CCLog.txt")
if not fsoObject.fileexists(file) then
fsoObject.createtextfile file,true,false
end if
set tsObject = fsoObject.OpenTextFile(file,8)
tsObject.Writeline Request.ServerVariables("HTTP_X_FORWARDED_FOR")&"["&Request.ServerVariables("REMOTE_ADDR")&"]"&now()
Set fsoObject = Nothing
Set tsObject = Nothing
response.write "有代理訪問"
%>
這樣會生成CCLog.txt,它的記錄格式是:真實IP [代理的IP] 時間,看看哪個真實IP出現的次數多,就知道是誰在攻擊了。將這個代碼做成Conn.asp文件,替代那些連接資料庫的文件,這樣所有的資料庫請求就連接到這個文件上,然後馬上就能發現攻擊的人。
4. 還有一個方法就是把需要對數據查詢的語句做在Redirect後面,讓對方必須先訪問一個判斷頁面,然後Redirect過去。
5. 在存在多站的伺服器上,嚴格限制每一個站允許的IP連接數和CPU使用時間,這是一個很有效的方法。
CC的防禦要從代碼做起,其實一個好的頁面代碼都應該注意這些東西,還有SQL注入,不光是一個入侵工具,更是一個DDOS缺口,大家都應該在代碼中注意。舉個例子吧,某伺服器,開動了5000線的CC攻擊,沒有一點反應,因為它所有的訪問資料庫請求都必須一個隨機參數在Session裡面,全是靜態頁面,沒有效果。突然發現它有一個請求會和外面的伺服器聯系獲得,需要較長的時間,而且沒有什麼認證,開800線攻擊,伺服器馬上滿負荷了。
代碼層的防禦需要從點點滴滴做起,一個腳本代碼的錯誤,可能帶來的是整個站的影響,甚至是整個伺服器的影響,慎之!
⑶ 如果百度提示網站有危險,繼續瀏覽會有什麼後果
繼續瀏覽網路提示網站有危險的網站的後果包括以下幾種:
1、網站包含國家法律禁止的低俗內容,影響身心健康;
2、網站宣傳非法言論,會是瀏覽者誤入歧途;
3、非法賭博網站,在其誘導下,對個人財產造成損失;
4、非法釣魚網站,會造成數據丟失或者財產損失。
(3)安全狗網站訪問認證擴展閱讀
網路認定危險網站的條件包括但不限於:
1、網站直接包含了惡意代碼、虛假詐騙信息或被篡改;
2、自動跳轉到滿足上一條件的網站;
3、含有指向惡意代碼的超鏈;
4、含有大量指向風險網站的鏈接。
網路認定危險網站的類型:
1、惡意代碼
惡意代碼是指會對用戶實施不安全行為的代碼。這里提到的不安全行為包括但不限於:未經用戶運行,靜默安裝軟體;竊取用戶敏感信息;未經用戶允許,篡改用戶系統配置。
2、網路欺詐
目前流行的網路虛假欺詐手段有多種,包括但不限於:偽裝成知名網站,誘騙用戶輸入身份認證信息;偽裝成知名機構的客服,誘騙用戶轉移財產;以中獎、薦股、招聘等方式誘騙用戶轉移財產;推銷未經葯監局許可的特效葯品醫療器械等,騙取用戶錢財。
3、非法信息
非法信息指的是國家法律規定為違法的內容,包括但不限於:非法言論:威脅國家安全,泄露國家機密,意圖顛覆國家政權,破壞國家完整,損害國家榮譽和利益;色情:通過網站散布淫穢、色情影片及信息等;賭博:利用互聯網進行的博彩行為(如賭球、賭馬、骰寶、輪盤、網上百家樂等)。