modsecurity3.0 nginx 安裝

備注:

使用的是modsecurity 3.0 的版本,也是nginx 官方推薦使用的媚值,同時使用的是nginx 的dynamic module?

1. 環(huán)境準(zhǔn)備

https://github.com/SpiderLabs/ModSecurity

https://github.com/SpiderLabs/ModSecurity-nginx

https://nginx.org/download/nginx-1.13.8.tar.gz

2. ?編譯libmodsecurity

a.預(yù)備(編譯依賴)

yum install -y pcre pcre-devel openssl openssl-devel libtool libtool-ltdl-devel gcc gcc-c++ gcc-g77 autoconf automake

geoip geip-devel libcurl libcurl-devel yajl yajl-devel lmdb-devel ssdeep-devel lua-devel

備注:比較多沛申,實(shí)際安裝會有提示

b.編譯

git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity

cd ModSecurity

git submodule init

git submodule update

./build.sh

./configure

make

make install

備注:fatal:No names found,cannot describe anything.提示這個錯誤可以不用管(官方說明)

c.modsecurity nginx dynamicmodule編譯

git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git

wget https://nginx.org/download/nginx-1.13.8.tar.gz

tar xvfnginx-1.13.8.tar.gz

cd nginx-1.13.8

./configure --add-dynamic-module=../ModSecurity-nginx

make modules

cp objs/ngx_http_modsecurity_module.so /usr/local/nginx/modules(此處為Nginx安裝位置,我的nginx也是源碼編譯)

d.nginx源碼編譯

參考上面的nginx下載

./configure

make

make install

3. 配置模塊加載

load_module modules/ngx_http_modsecurity_module.so;

備注:位置nginx main

4. 測試nginx 環(huán)境準(zhǔn)備

a.實(shí)際業(yè)務(wù)應(yīng)用

/usr/local/nginx/cong/nginx.conf

server{

listen localhost:8085;

location /{

default_type text/plain;

return 200 "Thank you for requesting ${request_uri}\n";

}

}

b.waf(modsecurity nginx出口酪耳,以及數(shù)據(jù)入口)nginx proxy

server{

listen 80;

location /{

proxy_pass http://localhost:8085;

proxy_set_header Host $host;

? ?? }

}

5. modsecurity 配置文件

a.官方模版

mkdir -p/usr/local/nginx/modsec

cd /usr/local/nginx/modsec

wget https://raw.githubusercontent.com/SpiderLabs/ModSecurity/v3/master/modsecurity.conf-recommended

mv modsecurity.conf-recommended modsecurity.conf

啟用規(guī)引擎

SecRuleEngine On

b.創(chuàng)建主配置文件

main.conf

內(nèi)容如下:

Include /usr/local/nginx/modsec/modsecurity.conf

SecRule ARGS:testparam "@contains test" "id:1234,deny,log,status:403"

c.waf上面的nginx80配置)

modsecurity on;

modsecurity_rules_file? /usr/local/nginx/modsec/main.conf;

6. 加載配置

sbin/nginx-t

備注:如果不報錯說明沒有問題铡恕,報錯可以參考日志解決

7. 測試

實(shí)際上翰萨,上面的配置是如果請求參考testparam包含test就提示403

測試結(jié)果:

curl -i http://localhost/foo?testparam=dalongtest

HTTP/1.1403Forbidden

Server:nginx/1.13.8

Date:Sun,18Feb201810:45:43GMT

Content-Type:text/html

Content-Length:169

Connection:keep-alive

?

403Forbidden

403Forbidden


nginx/1.13.8

?

curl -i http://localhost/foo?testparam=dalong

HTTP/1.1200OK

Server:nginx/1.13.8

Date:Sun,18Feb201810:46:14GMT

Content-Type:text/plain

Content-Length:47

Connection:keep-alive

Thank you for requesting/foo?testparam=dalong

8. 擴(kuò)展

同時支持OWASP的crs

配置參考:

wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/ v3.0.2.tar.gz

tar -xzvf v3.0.2.tar.gz

sudo mv owasp-modsecurity-crs-3.0.2 /usr/local

cd /usr/local/owasp-modsecurity-crs-3.0.2

sudo cp crs-setup.conf.example crs-setup.conf

?# Include the recommended configuration Include /usr/local/nginx/modsec/modsecurity.conf

# OWASP CRS v3 rules

Include /usr/local/owasp-modsecurity-crs-3.0.2/crs-setup.confInclude /usr/local/owasp-modsecurity-crs-3.0.2/rules/*.conf

8. 參考資料

https://github.com/SpiderLabs/ModSecurity/tree/v3/master

https://github.com/SpiderLabs/ModSecurity

https://www.nginx.com/resources/library/modsecurity-3-nginx-quick-start-guide/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脏答,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子亩鬼,更是在濱河造成了極大的恐慌殖告,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雳锋,死亡現(xiàn)場離奇詭異黄绩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)玷过,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門爽丹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冶匹,你說我怎么就攤上這事习劫。” “怎么了嚼隘?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵诽里,是天一觀的道長。 經(jīng)常有香客問我飞蛹,道長谤狡,這世上最難降的妖魔是什么灸眼? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮墓懂,結(jié)果婚禮上焰宣,老公的妹妹穿的比我還像新娘。我一直安慰自己捕仔,他們只是感情好匕积,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著榜跌,像睡著了一般闪唆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钓葫,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天悄蕾,我揣著相機(jī)與錄音,去河邊找鬼础浮。 笑死帆调,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的豆同。 我是一名探鬼主播番刊,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼诱告!你這毒婦竟也來了撵枢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤精居,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后潜必,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體靴姿,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年磁滚,在試婚紗的時候發(fā)現(xiàn)自己被綠了佛吓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡垂攘,死狀恐怖维雇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情晒他,我是刑警寧澤吱型,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站陨仅,受9級特大地震影響津滞,放射性物質(zhì)發(fā)生泄漏铝侵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一触徐、第九天 我趴在偏房一處隱蔽的房頂上張望咪鲜。 院中可真熱鬧,春花似錦撞鹉、人聲如沸疟丙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽享郊。三九已至,卻和暖如春崔慧,著一層夾襖步出監(jiān)牢的瞬間拂蝎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工惶室, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留温自,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓皇钞,卻偏偏與公主長得像悼泌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子夹界,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354