日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

nginx 没有sbin目录_CentOS7下Nginx+ModSecurity配置、安装、测试教程

發布時間:2025/4/5 Nginx 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx 没有sbin目录_CentOS7下Nginx+ModSecurity配置、安装、测试教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?最近在工作上遇到一點問題,問了大佬、百度,都沒有很好地解決;經過大量搜索查閱以及試驗,終于將問題解決。于是寫下這篇文章以提醒自己,也可供讀者參考。

環境:CentOS-7-x86_64-LiveGNOME

-2003.iso+Xshell

版本:nginx/1.16.1 + modsecurity

一、安裝相關依賴工具

yum install -y git wget epel-releaseyum install -y gcc-c++ flex bison yajl yajl-devel curl-devel curl GeoIP-devel doxygen zlib-devel pcre-devel lmdb-devel libxml2-devel ssdeep-devel lua-devel libtool autoconf automake

注:如果不成功,可能是yum倉庫沒裝好,此處可自行百度

二、安裝Modsecurity

cd /usr/localgit clone https://github.com/SpiderLabs/ModSecurity//執行上面的步驟會生成Modsecurity目錄

注:用時較長,大約40分鐘,可能會有網速慢或者下載失敗的現象,重復嘗試幾遍就好了

cd ModSecuritygit checkout -b v3/master origin/v3/master

git submodule init

git submodule update

注:用時幾分鐘。這一步我做了兩次,可能是因為網絡阻塞。如果不成功,多嘗試幾次。

sh build.sh

先看看/usr/local下新生成有幾個目錄:

只有Modsecurity

進入到/usr/local/Modsecurity

//還是在/usr/local/Modsecurity目錄下操作./configure make //需要的時間稍微久一點,10分鐘左右 //編譯make install //安裝//上述安裝三部曲會在上一級目錄/usr/local下 生成modsecurity目錄

./configure圖示

第一次 make圖示(出錯) -------- ?沒有出錯可略過

根據提示去到/usr/local/include,把對應的文件刪了(正常情況下/usr/local存放的是下載的包,不會有諸如bin、include、lib之類的解壓目錄,所以放心刪,一定是之前安裝過什么才會存在這些目錄),然后回去/usr/local/Modsecurity執行make clean命令

解決方法:

rm /usr/local/include * -rfcd /usr/local/Modsecuritymake cleanmake

由于本人是第二次裝nginx+modsecurity,所以才會出現這樣的問題

第二次 make圖示(成功)

第一次make install圖示 ----- 和上面是同樣問題 上述問題解決后,該問題也迎刃而解

第二次make install

編譯安裝三部曲以后,在/usr/local下生成modsecurity目錄

三、安裝nginx與ModSecurity-nginx

cd /usr/localgit clone https://github.com/SpiderLabs/ModSecurity-nginx//上述步驟會在/usr/local下生成Modsecurity-nginx的目錄

wget http://nginx.org/download/nginx-1.16.1.tar.gz//上述步驟會在/usr/local下出現nginx-1.16.1.tar.gz文件

tar -xvzf nginx-1.16.1.tar.gzcd /usr/local/nginx-1.16.1./configure --add-module=/usr/local/ModSecurity-nginx//如果出錯,也可以直接./configuremakemake install//做完上述這些步驟 當前目錄(/usr/local)就會生成一個nginx的目

./configure --add-module=/usr/local/ModSecurity-nginx 圖示

make圖示

make install圖示

在/usr/local下生成nginx目錄

四、測試效果

輸入ifconfig查看ip

我的ip:192.168.200.132

啟動nginx

/usr/local/nginx/sbin/nginx

嘗試啟動 發現有問題

使用以下命令解決:

sudo fuser -k 80/tcp

已經沒問題了

1、未開啟nginx的狀態下,用瀏覽器訪問虛擬機配的ip

效果:

2、開啟nginx服務后,用瀏覽器訪問虛擬機配的ip:

/usr/local/nginx/sbin/nginx或cd /usr/local/nginx/sbin./nginx

效果:

模擬攻擊,測試未啟動ModSecurity時的訪問效果訪問URL為:http://服務器IP/?param=%22%3E%3Cscript%3Ealert(1);%3C/script%3E

結論:配置了nginx服務的虛擬機,只有開啟了nginx服務,才能訪問其IP

一些網站攻擊:譬如SQL注入、XSS攻擊,也不會被攔截。

ModSecurity作為一款入侵偵測與防護引擎,它主要是用于Web應用程序,所以也被稱為Web應用程序防火墻(WAF)。它可以作為Web服務器的模塊或是單獨的應用程序來運作。ModSecurity的功能是增強Web Application 的安全性和保護Web application以避免遭受來自已知與未知的攻擊。

所以我們需要在linux以及nginx下配置modsecurity

五、最后配置

創建用于存在配置文件的文件夾

mkdir /usr/local/nginx/conf/modsecurity

1、將/usr/local/Modsecurity/modsecurity.conf-recommended

復制到/usr/local/nginx/conf/modsecurity,并重命名為modsecurity.conf;

2、將/usr/local/Modsecurity/unicode.mapping

復制到/usr/local/nginx/conf/modsecurity;

下載規則文件壓縮包

owasp-modsecurity-crs-3.3-dev.zip?

移動到/usr/local下

解壓

unzip owasp-modsecurity-crs-3.3-dev.zip

1、解壓后復制crs-setup.conf.example

到/usr/local/nginx/conf/modsecurity/下并重命名為crs-setup.conf;

2、復制rules文件夾

到/usr/local/nginx/conf/modsecurity/下,

同時修改REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example與RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example兩個文件的文件名,將".example"刪除,可將自己寫的規則放置于此兩個文件中;

編輯nginx.conf

(/usr/local/nginx/conf/nginx.conf)

在http或server節點中添加以下內容(在http節點添加表示全局配置,在server節點添加表示為指定網站配置):

vim /usr/local/nginx/conf/nginx.conf//在下面添加如下內容,下圖所示modsecurity on;modsecurity_rules_file /usr/local/nginx/conf/modsecurity/modsecurity.conf;

編輯modsecurity.conf

(/usr/local/nginx/conf/modsecurity/modsecurity.conf)

SecRuleEngine DetectionOnly改為SecRuleEngine On

同時添加以下內容:

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

六、重新加載Nginx測試效果

配完以后重新啟動nginx

命令行輸入:

/usr/local/nginx/sbin/nginx?-s?reload?//nginx已啟動的情況或/usr/local/nginx/sbin/nginx //nginx未啟動的情況

瀏覽器訪問:

http://192.168.200.132/?param="><script>alert(1);script>

攔截成功!!

此外也可以對網頁進行一些簡單的攻擊用來測試modsecurity是否成功攔截攻擊

簡單SQL注入:https://192.168.200.132/?id=1 AND 1=1簡單xss攻擊:https://192.168.200.132/?search=alert('xss');相應的,也是顯示上述網頁展現的??403Forbidden

七、查看nginx與modsecurity的版本信息

nginx:

[root@CetnOS-GUI /usr/local/nginx/sbin]# ./nginx -Vnginx version: nginx/1.16.1built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)configure arguments: --add-module=/usr/local/ModSecurity-nginx

我這里的版本是nginx/1.16.1

第一次安裝遇到的問題:啟動nginx時出現錯誤

/usr/local/nginx/sbin/nginx -s reload

解決辦法:原因是安裝的時候某一步驟出了錯,需要重新來一遍,將modsecurity、Modsecurity、Modsecurity-nginx、nginx刪掉即可,若對自己某一步驟有信心,可以不刪除相應目錄,參考上述文章執行命令產生的目錄所對應的具體步驟。

至此,Linux+nginx下安裝、測試modsecurity結束,謝謝觀看!

總結

以上是生活随笔為你收集整理的nginx 没有sbin目录_CentOS7下Nginx+ModSecurity配置、安装、测试教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。