1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        使用ModSecurity 保護Web服務安全(5)

        發布時間:  2012/9/15 19:08:49

        3 了解mod_security 配置文件

        /etc/httpd/conf.d/mod_security.conf :mod_security模塊主配置文件
        /etc/httpd/modsecurity.d/ - 配置文件目錄。
        /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf – 特別配置文件
        /var/log/httpd/modsec_debug.log –調試文件日志。
        /var/log/httpd/modsec_audit.log ModSecurity報警信息文件。
        查看/etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf 確保下面有一行:

        SecRuleEngine On

        4 設置mod_security

        上述的步驟只是將Mod Security啟動而已,但實際上并不會為你的web服務器做任何的防護動作;因此需要額外設定才會讓Mod Security發揮功能,此部分將會對如何設定Mod Security做一個說明。

        下面開始介紹Mod Securit的四種主要的設定指令。

        (1)一般的設定,包括裝規則引擎(rule engineer)開啟等基本指令,常見的設定如下:

        #Basic configuration options

        # 打開過濾引擎開關。如果是Off,那么下面這些都不起作用了。

        SecRuleEngine On

        #配置是否讓ModSecurity默認處理或緩沖請求體

        SecRequestBodyAccess On

        #配置ModSecurity允許的最大請求體的緩存區大小

        SecResponseBodyAccess On

        #配置攔截文件存儲的目錄

        SecUploadDir /opt/apache-fronted/tmp/

        #配置是否保存事務處理后的攔截文件

        SecUploadKeepFiles Off

        #配置ModSecurity允許的最大請求體的緩存區

        SecRequestBodyLimit 131072

        #配置ModSecurity使用內存保存的最大請求體大小

        SecRequestBodyInMemoryLimit 131072

        #配置ModSecurity允許的最大請求體的緩存區大小,除了請求中正在傳送的文件大小。這項指令便于在受到某些使用大尺寸請求進行DoS攻擊時減少影響。提供上傳文件服務的WEB應用必須配置SecRequestBodyLimit為一個很大的值。由于大文件直接進行磁盤文件存取,不會加大內存的消耗。但是,仍然有可能有人利用超大請求體限制和發送大量大小的非上傳請求。該指令消除這一漏洞。

        SecResponseBodyLimit 524288

        (2)設定Mod Security如何執行調試的日志部分,常見的設定如下:

        #指定ModSecurity調試日志文件的路徑

        SecDebugLog logs/modsec_debug.log

        #配置冗長的調試日志數據

        SecDebugLogLevel 0

        (3) 設定Mod Security如何執行審計的日志部分,常見的設定如下:

        #定義主審計日志文件

        SecAuditEngine RelevantOnly

        SecAuditLogRelevantStatus ^5

        SecAuditLogParts ABIFHZ

        SecAuditLogType Serial

        SecAuditLog logs/modsec_audit.log

        (4) Rules

        Mod Security最主要的設定部分,是一個以事件為基礎的語言。

        語法:SecRule VARIABLES OPERATOR [ACTIONS]

        VARIABLES:指定哪些變量要進行處理

        OPERATOR:要如何處理這些變量取得我們想要的

        ACTIONS (optional):當達到上述的處理時,要做什么動作

        (5)Rule處理的階段

        ModSecurity 2.x允許把規則置于下述五個階段之一:

        請求頭(REQUEST_HEADERS) 階段

        這個階段的規則會在apache完成請求頭的讀取后立即被執行(post-read-request階段),這時,還沒有讀取請求體,意味著不是所有的參數都可用。如果你必須讓規則盡早運行,應把規則放在這個階段(在apache使用這個請求做某些事前),在請求體被讀取前做些事情,從而決定是否緩存這個請求體,或者決定你將希望這個請求體如何被處理(如是否以XML格式解析或不解析)。

        請求體(REQUEST_BODY) 階段

        這是通用輸入分析階段,大部分傳統的應用規則不在這兒,這個階段你肯定能收到參數(只有讀取過請求體后),在請求體階段,ModSecurity支持三種編碼類型。

        l  application/x-www-form-urlencoded - used to transfer form data

        l  multipart/form-data - used for file transfers

        l  text/xml - used for passing XML data

        大部分WEB應用還沒有使用其它的編碼方法。

        響應頭(RESPONSE_HEADERS) 階段

        發生在響應頭被發送到客戶端之前,如果你想觀察響應發生前就在這兒運行,如果你想使用響應頭來決定你是否想緩存響應體也行。注意一些響應狀態碼(如404)在請求環的早期就被apache管理著,我也無法觸發預期。加上apache在后面的勾子上雙增加了一些響應頭(如日期、服務器和連接信息等),這些我們無法觸發和審查。在代理配置模式下或使用phase:5(logging)工作的較好。

        響應體(RESPONSE_BODY) 階段

        這是通用輸出分析階段,這里你能運行規則截斷響應體(當然提供緩存)。這個階段你想檢查輸出的HTML信息公布、錯誤消息和失敗的驗證文字。

        記錄(LOGGING) 階段

        在日志發生前運行的一個階段,放在這個階段的規則只能影響日志記錄器如何執行,這個階段可以檢測apache記錄的錯誤消息,在這個階段你不能拒絕或阻斷連接,因為太遲了,這個階段也允許檢測其它的響應頭,如那在phase:3或者phase:4階段中不可用的。注意在這個階段,你應當小心不要繼承破壞性的動作到規則中,這樣的情況在ModSecurity2.5.0及其以后的版本中被當作配置錯誤。

        圖-4是標準的apache請求流程,5個ModSecurity處理階段顯示其中。因此,在rule的部分即可指定你要處理的哪一部份進行處理。

        圖-4

        (6)Rules 簡介

        SecRule是ModSecurity主要的指令,用于分析數據并根據結果執行動作。通常規則的格式如下:

        SecRule VARIABLES OPERATOR [ACTIONS]

        l  VARIABLES 規則中的變量

        第一部分,VARIABLES描述哪個變量被檢查,舉個例子,下述規則會拒絕URI中含有單詞dirty的事務。

        SecRule ARGS dirty

        每條規則可以指定一個或多個變量

        SecRule ARGS|REQUEST_HEADERS:User-Agent dirty

        XPath格式是選擇操作的第三方支持格式。XPath格式僅能針對特殊變量XML使用,只有請求體使用XML格式時可用。

        SecRule XML:/xPath/Expression dirty

        注意:不是所有的集合支持選擇操作格式類型,你需要參考各個集合的文檔來決定是否支持。

        一些常見的變量:

        ARGS、ARGS_NAMES、ARGS_GET、ARGS_GET_NAMES、ARGS_POST、ARGS_POST_NAMES

        AUTH_TYPE

        REQBODY_PROCESSOR、REQBODY_PROCESSOR_ERROR

        FILES、FILES_NAMES、FILE_SIZES

        REMOTE_ADDR、REMOTE_HOST、REMOTE_PORT

        REQUEST_BODY、REQUEST_COOKIES、REQUEST_COOKIES_NAMES、REQUEST_FILENAME

        RESPONSE_BODY

        Rule中的變量部分可以一個以上, 以”|”來區隔即可,如果設定的規則超過多行,則可用”\”來進行分隔。

        l  OPERATOR

        第二部分,OPERATOR描述如何進行檢查。OPERATOR是正則表達式(Regular Expression),但其實ModSecurity提供不少可用的OPERATOR,利用”@”即可指定要用何種OPERATOR,例如SecRule REQUEST_URI “@rx iii”。

        以下是一些范例:

        SecRule REMOTE_ADDR "^192\.168\.1\.101$"

        REMOTE_ADDR:指定變量對象為遠程聯機的IP地址

        "^192\.168\.1\.101$":針對上述的變量進行比對,如果非192.168.1.101,則符合,可指定要做何種動作

        SecRule ARGS "@validateUtf8Encoding"

        ARGS:指定變數為http傳遞的參數

        "@validateUtf8Encoding":指定OPERATOR為對這些參數進行Utf8編碼進行檢查

        SecRule FILES_TMPNAMES "@inspectFile /path/to/inspect_script.pl"

        FILES_TMPNAMES:指定變量為上傳檔案的暫存名稱

        "@inspectFile /path/to/inspect_script.pl":指定利用inspect_script.pl檔案的語法來檢查上傳檔案

        l  ACTIONS

        第三部分可選的,ACTIONS,描述當操作進行成功的匹配一個變量時具體怎么做。指定如果VARIABLE有符合OPERATOR的情況時,要執行何種動作。ACTIONS主要區分為五種型態:

        (1)Disruptive actions (中斷目前的處理)

        deny、drop、redirect、proxy、pause…

        (2)Non-disruptive actions (改變狀態)

        Append、auditlog、exec…

        (3)Flow actions (改變規則流動)

        allow、chain、pass、skip…

        (4)Meta-data actions (包含規則的metadata)

        id、rev、severity、msg、phase、log, nolog、…

        (5)Data actions (可放置內容給其它action用)

        capture、status、t、xmlns…
        如果有需要服務器的租用與托管的敬請聯系QQ:1501281758(億恩星辰)   聯系電話:0371—63322220


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线