最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx下ModSecurity模塊安裝的實(shí)現(xiàn)步驟

 更新時(shí)間:2025年09月12日 10:54:57   作者:深山技術(shù)宅  
本文提供了在Nginx 1.28.0上安裝ModSecurity v3的完整教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

以下是針對(duì)Nginx 1.28.0的ModSecurity v3完整安裝指南,包含編譯優(yōu)化和最新依賴處理:

系統(tǒng)環(huán)境準(zhǔn)備(Ubuntu 22.04/Debian 11為例)

# 安裝編譯依賴
sudo apt update
sudo apt install -y git build-essential libpcre3 libpcre3-dev libssl-dev \
     libtool autoconf automake flex bison curl libcurl4-openssl-dev \
     libxml2 libxml2-dev libyajl-dev doxygen zlib1g-dev pkg-config \
     liblmdb-dev libmaxminddb-dev libgeoip-dev libpcre++-dev

步驟1:編譯安裝ModSecurity庫(kù)(libmodsecurity)

# 下載最新穩(wěn)定版源碼
cd /usr/src
git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity
cd ModSecurity

# 更新子模塊(解決常見(jiàn)初始化問(wèn)題)
git submodule update --init --recursive

# 編譯優(yōu)化參數(shù)設(shè)置
./build.sh
./configure \
  --prefix=/usr/local/modsecurity \
  --with-maxmind=/usr \
  --with-geoip \
  --with-lmdb \
  --with-yajl \
  --with-ssdeep \
  --enable-standalone-module=no \
  CXXFLAGS="-O3 -march=native -pipe"

# 編譯安裝
make -j$(nproc)
sudo make install

# 添加庫(kù)路徑
echo "/usr/local/modsecurity/lib" | sudo tee /etc/ld.so.conf.d/modsecurity.conf
sudo ldconfig

步驟2:編譯Nginx 1.28.0動(dòng)態(tài)模塊

# 下載Nginx 1.28.0源碼
cd /usr/src
wget https://nginx.org/download/nginx-1.28.0.tar.gz
tar xvzf nginx-1.28.0.tar.gz

# 下載ModSecurity-Nginx連接器
git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git

# 獲取當(dāng)前Nginx編譯參數(shù)
nginx -V 2>&1 | grep configure > nginx-config.txt

# 添加動(dòng)態(tài)模塊編譯參數(shù)
sed -i "s/--with-compat//g" nginx-config.txt  # 移除舊兼容參數(shù)
echo --with-compat --add-dynamic-module=../ModSecurity-nginx >> nginx-config.txt

# 編譯動(dòng)態(tài)模塊
cd nginx-1.28.0
sudo bash -c ". ../nginx-config.txt && make modules"

# 驗(yàn)證模塊編譯
ls objs/ngx_http_modsecurity_module.so  # 確認(rèn)文件存在

步驟3:配置Nginx加載模塊

# 創(chuàng)建模塊目錄
sudo mkdir -p /etc/nginx/modules-available
sudo mkdir -p /etc/nginx/modules-enabled

# 復(fù)制模塊文件
sudo cp objs/ngx_http_modsecurity_module.so /etc/nginx/modules-available/

# 加載模塊配置
sudo tee /etc/nginx/modules-enabled/modsecurity.conf <<EOF
load_module modules-available/ngx_http_modsecurity_module.so;
EOF

# 主配置引用
sudo sed -i '1i include /etc/nginx/modules-enabled/*.conf;' /etc/nginx/nginx.conf

# 創(chuàng)建ModSecurity配置目錄
sudo mkdir -p /etc/nginx/modsec

步驟4:配置ModSecurity核心設(shè)置

# 復(fù)制基礎(chǔ)配置
sudo cp /usr/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf
sudo cp /usr/src/ModSecurity/unicode.mapping /etc/nginx/modsec/

# 修改關(guān)鍵配置
sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/nginx/modsec/modsecurity.conf
sudo sed -i 's#SecAuditLog /var/log/modsec_audit.log#SecAuditLog /var/log/nginx/modsec_audit.log#' /etc/nginx/modsec/modsecurity.conf

# 添加性能優(yōu)化參數(shù)
sudo tee -a /etc/nginx/modsec/modsecurity.conf <<EOF

# 性能優(yōu)化設(shè)置
SecArgumentSeparator "&"
SecAuditLogParts ABIJDEFHZ
SecAuditLogType Serial
SecAuditLogStorageDir /var/log/nginx/modsec_audit/
SecUploadDir /tmp
SecTmpDir /tmp
SecDataDir /tmp
EOF

# 創(chuàng)建日志目錄
sudo mkdir -p /var/log/nginx/modsec_audit
sudo chown www-data:adm /var/log/nginx/modsec_audit

步驟5:安裝OWASP核心規(guī)則集(CRS v4.0)

# 下載最新CRS
cd /etc/nginx/modsec
sudo git clone https://github.com/coreruleset/coreruleset
sudo mv coreruleset owasp-modsecurity-crs

# 配置規(guī)則集
cd owasp-modsecurity-crs
sudo cp crs-setup.conf.example crs-setup.conf
sudo cp rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
sudo cp rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf

# 創(chuàng)建主規(guī)則文件
sudo tee /etc/nginx/modsec/main.conf <<EOF
Include modsecurity.conf
Include owasp-modsecurity-crs/crs-setup.conf
Include owasp-modsecurity-crs/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
Include owasp-modsecurity-crs/rules/*.conf
Include owasp-modsecurity-crs/rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
EOF

步驟6:Nginx站點(diǎn)配置

# 在目標(biāo)站點(diǎn)配置中添加
server {
    ...
    modsecurity on;
    modsecurity_rules_file /etc/nginx/modsec/main.conf;
    
    # 可選:特定路徑禁用規(guī)則
    location /api {
        modsecurity off;
    }
    
    # 錯(cuò)誤頁(yè)面定制
    error_page 403 /403.html;
    location = /403.html {
        internal;
    }
}

步驟7:測(cè)試與啟動(dòng)

# 配置文件測(cè)試
sudo nginx -t

# 啟動(dòng)服務(wù)
sudo systemctl restart nginx

# 查看日志驗(yàn)證
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/nginx/modsec_audit.log

# 測(cè)試規(guī)則有效性
curl -I "http://localhost/?param=<script>alert(1)</script>"
# 應(yīng)返回 403 Forbidden

性能優(yōu)化建議

  1. 規(guī)則排除:在REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf中添加應(yīng)用例外

    # WordPress排除示例
    SecRule REQUEST_URI "@contains /wp-admin/" \
         "id:1000,phase:1,pass,nolog,ctl:ruleEngine=DetectionOnly"
    
  2. 精簡(jiǎn)規(guī)則:僅啟用必要規(guī)則集

    # 禁用不常用規(guī)則文件
    sudo mv /etc/nginx/modsec/owasp-modsecurity-crs/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf{,.disabled}
    
  3. 調(diào)整防護(hù)級(jí)別:編輯crs-setup.conf

    SecAction \
      "id:900000,\
       phase:1,\
       nolog,\
       pass,\
       t:none,\
       setvar:tx.paranoia_level=1"
    

常見(jiàn)問(wèn)題解決

1. 模塊加載失敗

sudo grep "modsecurity" /var/log/nginx/error.log
  • 解決方案:確認(rèn)Nginx版本匹配,重新執(zhí)行步驟2

2. 規(guī)則不生效

  • 檢查nginx -T輸出確認(rèn)模塊加載
  • 驗(yàn)證配置文件路徑權(quán)限:sudo chmod -R 755 /etc/nginx/modsec

3. 高CPU占用

# 在modsecurity.conf添加:
SecPcreMatchLimit 100000
SecPcreMatchLimitRecursion 100000
SecCollectionTimeout 600

自動(dòng)更新腳本

#!/bin/bash
# ModSecurity自動(dòng)更新腳本
cd /usr/src/ModSecurity
git pull
git submodule update --init --recursive
./build.sh
./configure --prefix=/usr/local/modsecurity
make -j$(nproc)
sudo make install
sudo ldconfig

cd /etc/nginx/modsec/owasp-modsecurity-crs
git pull

sudo nginx -t && sudo systemctl reload nginx

將此腳本保存為/usr/local/bin/update-modsec并添加可執(zhí)行權(quán)限

完成以上步驟后,您的Nginx 1.28.0將獲得企業(yè)級(jí)WAF防護(hù)。建議初次部署時(shí)使用SecRuleEngine DetectionOnly模式運(yùn)行24小時(shí),分析日志后再啟用主動(dòng)防護(hù)。

到此這篇關(guān)于Nginx下ModSecurity模塊安裝的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Nginx ModSecurity安裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx反向代理后無(wú)法獲取客戶端真實(shí)IP地址

    Nginx反向代理后無(wú)法獲取客戶端真實(shí)IP地址

    本文主要介紹了Nginx反向代理后無(wú)法獲取客戶端真實(shí)IP地址,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 深入理解Nginx之error_page模塊的使用

    深入理解Nginx之error_page模塊的使用

    error_page是nginx一個(gè)重要的指令,作用是定制化服務(wù)器錯(cuò)誤頁(yè)面,本文主要介紹了Nginx之error_page模塊的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Nginx如何配置加密證書訪問(wèn)實(shí)現(xiàn)

    Nginx如何配置加密證書訪問(wèn)實(shí)現(xiàn)

    本文主要介紹了Nginx如何配置加密證書訪問(wèn)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Nginx中配置開(kāi)啟Nginx Status來(lái)查看服務(wù)器運(yùn)行狀態(tài)

    Nginx中配置開(kāi)啟Nginx Status來(lái)查看服務(wù)器運(yùn)行狀態(tài)

    這篇文章主要介紹了Nginx中配置開(kāi)啟Nginx Status來(lái)查看服務(wù)器運(yùn)行狀態(tài)的方法,Nginx Status為Nginx服務(wù)器內(nèi)置的狀態(tài)頁(yè),需要的朋友可以參考下
    2016-01-01
  • nginx出現(xiàn)500 Internal Server Error錯(cuò)誤的解決方法

    nginx出現(xiàn)500 Internal Server Error錯(cuò)誤的解決方法

    這篇文章主要介紹了nginx出現(xiàn)500 Internal Server Error錯(cuò)誤的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • 神器!最佳 Nginx 日志分析工具 GoAccess

    神器!最佳 Nginx 日志分析工具 GoAccess

    非常小又精悍的 Nginx 日志分析工具 GoAccess,今天在 CentOS VPS 上安裝測(cè)試了一番,就2個(gè)字,神器!
    2014-02-02
  • Nginx反向代理與緩存實(shí)現(xiàn)代碼

    Nginx反向代理與緩存實(shí)現(xiàn)代碼

    文章系統(tǒng)解析Nginx反向代理核心配置、緩存機(jī)制、性能優(yōu)化、安全防護(hù)及高級(jí)應(yīng)用場(chǎng)景,涵蓋負(fù)載均衡、緩存策略、限流規(guī)則、日志監(jiān)控等關(guān)鍵內(nèi)容,提供生產(chǎn)環(huán)境配置建議與云原生適配方案,助力高效部署與運(yùn)維,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • 配置Nginx服務(wù)器防止Flood攻擊的方法

    配置Nginx服務(wù)器防止Flood攻擊的方法

    這篇文章主要介紹了配置Nginx服務(wù)器防止Flood攻擊的方法,包括PHP的應(yīng)用請(qǐng)求限制等降低負(fù)載的措施,需要的朋友可以參考下
    2015-06-06
  • nginx proxy_pass 路徑拼接的具體實(shí)現(xiàn)

    nginx proxy_pass 路徑拼接的具體實(shí)現(xiàn)

    本文主要介紹了nginx proxy_pass 路徑拼接的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • Nginx的正則表達(dá)式詳解

    Nginx的正則表達(dá)式詳解

    今天來(lái)聊一聊他的正則表達(dá)式的使用規(guī)則,我會(huì)簡(jiǎn)單的舉幾個(gè)例子然后進(jìn)行說(shuō)明講解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10

最新評(píng)論

崇州市| 平利县| 闽侯县| 五常市| 盱眙县| 江阴市| 张家港市| 舟曲县| 晋州市| 亳州市| 阜康市| 乌拉特后旗| 西畴县| 织金县| 房产| 凌海市| 策勒县| 富裕县| 太白县| 金湖县| 九龙县| 腾冲县| 萨迦县| 肥西县| 嘉禾县| 江达县| 山东省| 六枝特区| 玉田县| 当雄县| 客服| 浦北县| 汽车| 巴彦淖尔市| 大名县| 拜城县| 巫山县| 承德市| 正镶白旗| 闵行区| 彝良县|