如何防禦DOS和DDOS***

    前一段也許是中秋和國慶的緣故吧,我公司客戶網店的生意比較好,在這生意紅火的時候,一些人就把持不住了,開始對客戶進行威脅,說如果你不給我多少錢的話,我就對你的網站進行***,讓你做不成生意……

    面對這樣的威脅,報警有用麼,沒有用,因爲損失也不是很大,所以公安部門是不會立案的,防止惡意******的重任就擔在了我們身上。

在開始講解我們在防禦***之前先簡單的介紹一下DOS和DDOS。

1.DOS

  1. DOS***是最早出現的,它的***方法說白了就是單挑,是比誰的機器性能好、速度快。舉個這樣的***
  2. 例子,假如你的機器每秒能夠發送10個***用的數據包,而被你***的機器(性能、網絡帶寬都是頂尖的)
  3. 每秒能夠接受並處理100***數據包,那樣的話,你的***就什麼用處都沒有了,而且非常有死機的可能。
  4. 要知道,你若是發送這種1VS1的***,你的機器的CPU佔用率是90%以上的,你的機器要是配置不夠高的
  5. 話,那你就死定了。 

2.DDOS

  1. 正所謂道高一尺,魔高一仗。經過無數次當機,***們終於又找到一種新的DOS***方法,這就是DDOS
  2. ***。它的原理說白了就是羣毆,用好多的機器對目標機器一起發動DOS***,但這不是很多***一起
  3. 參與的,這種***只是由一名***來操作的。這名***不是擁有很多機器,他是通過他的機器在網絡上
  4. 佔領很多的“肉雞”,並且控制這些“肉雞”來發動DDOS***,要不然怎麼叫做分佈式呢。還是剛纔的那
  5. 個例子,你的機器每秒能發送10***數據包,而被***的機器每秒能夠接受100的數據包,這樣你的攻
  6. 擊肯定不會起作用,而你再用10臺或更多的機器來對被***目標的機器進行***的話,嘿嘿!結果我就
  7. 不說了。 

我給大家舉些例子分析一下nginx服務器上的日誌

在這裏我稍微分析一下web服務器訪問日誌的格式,根據自己當時日誌格式定義的不同,日誌內容是不一樣的,但一般都是這樣的類型:

記錄客戶端的IP—記錄訪問時間與時區—記錄請求的url與http協議—記錄請求狀態,成功是200—記錄發送給客戶端主體內容的大小—記錄客戶讀取瀏覽器的相關信息。

再來看一下當時站點被***時的日誌

通過日誌可以看出它是對一個頁面進行不停地訪問,並且速度很快,同一個IP也會多次訪問,但是我們需要特別關注一下瀏覽器的信息。

再看一下另一種***時的日誌

這種***都沒有記錄瀏覽器的信息。

對於這兩種***我們可以在nginx的conf文件裏面加入這樣的信息

  1. if ( $http_user_agent ~* ^$){ 
  2.         return 444; 
  3.  } 
  4.  
  5.  if ( $http_user_agent ~* "Windows 5.1" ) 
  6.  { 
  7.          return 444; 
  8.  } 

如果使用的瀏覽器爲空則返回444,使用的瀏覽器爲Windows 5.1也返回444。

返回值444,是幹什麼的呢?你知道麼?

根據官方文檔的介紹“非http標準的返回碼444,它可以用來關閉連接”,這樣的話他就不會佔用我們服務器的任何資源,這三個4真是把訪問殺得很徹底啊!

那有的人會問,爲什麼要封Windows 5.1這種類型的瀏覽器呢,我給大家說一下我發現的正常日誌的瀏覽器類型都有哪些:compatible; MSIE 6.0;MSIE 8.0;MSIE 9.0;Windows NT 5.1;Windows NT 6.1; Trident/4.0;Trident/5.0;這些東西都是不固定的需要自己慢慢發現。

自己感覺對於***要看看日誌不要盲目的就去封IP,但並不是說封IP沒有用啊!

 

剛纔說的都是nginx的,接下來我們談一談apache上的***。

其實apache服務器自身就有一個模塊mod_evasive可以防禦DDOS***,至於效果麼,自己試試就知道了。

具體這個模塊的安裝和使用可以參照www.wdlinux.cn/mod_evasive裏面有詳細介紹。

 

    回過頭來繼續說***,其實一般簡單的***都是對一些小站點小打小鬧,大型的***人家纔不會對小站點下手的,再說大型的***靠封IP和修改配置文件壓根都不管用的,需要買上萬或是上百萬的硬件防火牆,所以目前對於我們這些小運維來說也用不到,所以能夠簡單的應付一下***就可以了!!!

     最後還是那句話多看日誌,三思而後行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章