一、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 關閉目錄瀏覽功能 隱藏版本號 ...