close

實驗環境

"網路應用程式防火牆"(Web Application Firewall,WAF)正如同前些日子

 KEYNES介紹之

Dragon WAF (中華龍網出品)。 

WAF就如同一般防火牆的功能一樣,不過它主要是定位在網站主機的保護上。

本篇將使用開源碼社群中的最有名的網站伺服器Apache再加上modSecurity模組,

modsercurity rules 條例眾多繁雜,其中為人所知的sql_injection_attacks &

trojans 木馬防護 & xss_attacks 等等rules 皆規範在modsercurity rules 條件中

再者整合專防止Ddos 阻斷式攻擊外掛模組(mod_evasiv),讓您Apache防護擁有WAF

般加持保護,重點是這兩個外掛模組皆免費!非常Cool

剛好因為"網管人"前後兩期技術專欄有提到.KEYNES手養拿來TRY it !

實驗說明 

因在網路上搜尋相關技術文章大多使用mod_security 1.9.5 

升級到隔代大改版2.5.12  察覺一些rule 設計都全變了

本例將運行環境如下

CentOS 5.5:  安裝Apache 2.2.3 

                        mod_sercurity 2.5.12(目前官方最新)

                        mod_evasive 1.10.1

*以上套件皆由發行版RPM安裝方式,請預先安裝好EPEL與REMI Repo

 然後再行以下command

shell> yum -y install httpd mod_security mod_evasive

最後使用rpm -qa  httpd  mod_security mod_evasive



(1): [mod_security] WAF 模組組態

       當我們利用yum 安裝完mod_security 後有個好處是,我們無需利用

       vi 編寫 /etc/httpd/conf/httpd.conf  將module 編寫寫入此檔即刻載入此module

       (源碼安裝則需要修改載入module 設定) 

       下圖:  我們重新啟動httpd , 並 tail -f 10 /var/log/httpd/error_log 

        
可察知 模組 mod_security 已經隨httpd啟用訊息

     

    
 編輯mod_security 組態檔  vi /etc/httpd/conf.d/mod_security.conf

      發行版mod_security 安裝完成後,自動將mod_security module 載入設定

      寫入此檔

      LoadModule security2_module modules/mod_security2.so
      LoadModule unique_id_module modules/mod_unique_id.so

      mod_security 相關設定檔

       Include modsecurity.d/*.conf
       Include modsecurity.d/base_rules/*.conf                       #rules_條例
       Include modsecurity.d/modsecurity_localrules.conf
    

    
      vi /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf   

     
#主要組態檔案(安裝完後初始化),請參閱說明並依照企業現況修改,about log

   
     
      切換到 /etc/httpd/mod_security.d/base_rules 目錄下,我們可以由下圖看到,

      mod_security 模組定義保護Apache 制定rules 種類

    
       vi modsecurity_crs_45_trojans.conf      #木馬攻擊防範rule展示
    
     vi modsecurity_crs_40_generic_attacks.conf      
#網站一般攻擊rule 規範展示   
  
     vi modsecurity_crs_41_sql_injection_attacks.conf     # sql_injection_attacks 防護
     
  
(2): [mod_evasive]  防止Ddos模組組態

       同上安裝mod_security 當我們用yum 安裝完成同時亦完成module 載入動作

       vi /etc/httpd/conf.d/mod_evasive.conf

        DOSPageCount       2     # 綠色標記為一組: 設定當同1 IP 在1秒內點選該頁面兩次
                                                        
                                             即發送403 Forbidden阻斷訊息給Client禁此存取該頁面
        DOSPageInterval     1
      
       DOSSiteCount        50    # 橘色標記為一組: 設定當同1 IP 在1秒內點該Site50次
                                                        
                                             即發送403 Forbidden阻斷訊息給Client禁此存取該頁面 
       DOSSiteInterval     1

       
DOSBlockingPeriod   10  #藍色標記: Block IP Period : 封鎖具攻擊性IP存取Site 10 秒

    
      頁面往下拉:

      DOSLogDir           "/var/lock/mod_evasive"              #log紀錄檔設置

       DOSWhitelist   192.168.0.198                #白名單IP設置

      
   
    [最後我們測試 Ddos 運行是否OK]

     請先獲得 test.pl  Ddos 測試程式

     並利用perl   test.pl 進行Ddos攻擊本機Appache測試動作

 *經過幾次200 ok 後,阻檔ddos攻擊 403 Forbidden 禁止使用者於Period限定時間內存取該Site*
   
  檢示log 檔,攻擊紀錄成功被稽核

 
Lab操作時參考資訊:

http://www.atomicorp.com/wiki/index.php/Atomic_ModSecurity_Rules

網管人2010/11期
arrow
arrow
    全站熱搜

    終極.凱因斯 發表在 痞客邦 留言(0) 人氣()