也談nginx的安全限制

2021-09-05 04:30:30 字數 3080 閱讀 1275

一、nginx安全限制

前面已經詳細介紹了nginx負載均衡的配置以及nginx本身自帶的的一些安全措施,詳情請參考「

生產環境下的負載均衡配置

隨著業務的增加,網路連線的流量越來越大,合理的控制訪問請求及連線數非常重要,否則仍會出現失去響應的情況。

二、增加waf模組

ngx_lua_waf是乙個基於ngx_lua的web應用防火牆,主要防止sql注入,本地包含,部分溢位,fuzzing測試,xss,***f等web***;防止svn/備份之類檔案洩漏;防止apachebench之類壓力測試工具的***;遮蔽常見的掃瞄***工具,掃瞄器;遮蔽異常的網路請求;遮蔽附件類目錄php執行許可權;防止webshell上傳。

三、增加fail2ban防止非法ip

fail2ban是一款日誌掃瞄軟體,它可以從日誌中掃瞄異常記錄結合相應的識別規則並通過iptables封禁惡意的使用者ip防止進一步的***。

安裝fail2ban非常簡單,直接通過yum installfail2ban就可以完成安裝,它的配置檔案是/etc/fail2ban/jail.conf,所有的過濾策略則儲存在/etc/fail2ban/filter.d/下。jail.conf的配置內容如下圖所示:

我們可以先對照nginx的日誌檢視,之前的nginx中已經對ip和服務請求數做了限制,對於同一ip多次超過原有的請求限制的情況,我們可以使用fail2ban定義的規則(例如600秒內超過5次則封禁該ip2小時)。當然也可以根據實際情況自定義策略。

首先分析nginx的日誌記錄,需注意過濾策略要和日誌中的內容匹配,如下圖所示。

完成後重啟fail2ban服務,你可以看到fail2ban的日誌中封禁及解封ip的資訊,如下圖所示。

四、檢視nginx狀態

通過nginx**的方式實現負載均衡,除了可以通過分析訪問日誌記錄的方式來統計**次數外還可以使用nginx自帶的狀態統計功能來實現。它依賴於nginx的「ngx_http_stub_status_module」模組,請確保該模組在當前版本中存在。

啟用它的方式很簡單,具體配置如下圖所示。

active connections:23 #nginx 正處理的活動連線數 23個。

server accepts handled requests

nginx啟動到現在共處理了 24個連線 ,

nginx啟動到現在共成功建立24 次握手 ,

請求丟失數=(握手-連線),可以看出,我們沒丟請求

總共處理了50 次請求。

reading :nginx 讀取到客戶端的 header 資訊數。

writing : nginx 返回給客戶端的 header 資訊數。

waiting : nginx 已經處理完正在等候下一次請求指令的駐留連線。開啟 keep-alive 的情況下,這個值等於 active – (reading + writing)。

生產環境下的負載均衡配置

nginx配置指南之一

nginx操作指南之二

也談被嚴重高估的安全技術

今天,在看過51cto 哪些安全技術被嚴重高估?一文後,深有同感,也想在此再說上幾句,發表一點自己的一些看法。安全技術被嚴重高估,為什麼到現在才開始被人們所提及到。是因為很長一段時間以來,人們只聽到安全廠商們的喊聲,聽到的,看到的都是誇某某安全技術或產品如何如何好,以至於很長一段時間被這些呼聲蒙蔽了...

也談被嚴重高估的安全技術

今天,在看過51cto 哪些安全技術被嚴重高估?一文後,深有同感,也想在此再說上幾句,發表一點自己的一些看法。安全技術被嚴重高估,為什麼到現在才開始被人們所提及到。是因為很長一段時間以來,人們只聽到安全廠商們的喊聲,聽到的,看到的都是誇某某安全技術或產品如何如何好,以至於很長一段時間被這些呼聲蒙蔽了...

nginx 安全配置和限制訪問

nginx基本安全配置 配置ssl證書 listen 443 ssl ssl certificate usr local nginx conf server.crt ssl certificate key usr local nginx conf server.key 關閉目錄瀏覽功能 隱藏版本號 ...