搜尋
首頁運維linux運維提高nginx安全性方法

提高nginx安全性方法

Aug 23, 2017 pm 03:47 PM
nginx安全性方法

Nginx是當今最受歡迎的Web伺服器之一。它為世界上7%的web流量提供服務而且正在以驚人的速度成長。它是個讓人驚奇的伺服器,我願意部署它。

下面是一個常見安全陷阱和解決方案的列表,它可以輔助來確保你的Nginx部署是安全的。

1. 在設定檔中小心使用"if"。它是重寫模組的一部分,不應該在任何地方使用。

「if」宣告是重寫模組評估指令強制性的部分。換個說法,Nginx的設定一般來說是聲明式的。在某些情況下,由於使用者的需求,他們試圖在一些非重寫指令內使用“if”,這導致我們現在遇到的情況。大多數情況下都能正常運作,但…看上面提到的。

看起來唯一正確的解決方案是在非重寫的指令內完全停用“if”。這將更改現有的許多配置,所以還沒有完成。

2. 將每個~ .php$請求轉交給PHP。 我們上週發布了這個流行指令的潛在安全漏洞介紹。即使檔案名稱為hello.php.jpeg它也會符合~ .php$這個正規則而執行檔。

現在有兩個解決上述問題的好方法。我覺得確保你不輕易執行任意程式碼的混合方法很有必要。

如果沒找到檔案時使用try_files和only(在所有的動態執行情況下都應該注意) 將它轉遞給執行PHP的FCGI進程。

確認php.ini檔案中cgi.fix_pathinfo設定為0 (cgi.fix_pathinfo=0) 。這樣確保PHP檢查檔案全名(當它在檔案結尾沒有發現.php它將忽略) 

修復正規表示式匹配不正確檔案的問題。現在正規表示式認為任何檔案都包含".php"。在站點後面加上“if”確保只有正確的檔案才能運作。將/location ~ .php$和location ~ ..*/.*.php$都設定為return 403;

3. 停用autoindex模組。這個可能在你使用的Nginx版本中已經更改了,如果沒有的話只需在配置文件的location塊中增加autoindex off;聲明即可。

4. 停用伺服器上的ssi (伺服器端引用)。這個可以透過在location塊中加入ssi off; 。

5. 關閉伺服器標記。如果開啟的話(預設)所有的錯誤頁面都會顯示伺服器的版本和資訊。將server_tokens off;聲明加入到Nginx設定檔來解決這個問題。

6. 在設定檔中設定自訂快取以限制緩衝區溢位攻擊的可能性。

client_body_buffer_size  1K;

client_header_buffer_size 1k;

client_max_body_size 1k;

large_client_header_buffers 2 11k;

large_client_header_buffers 2 11k#time#out#7.防止DOS攻擊。所有這些聲明都可以放到主設定檔中。

client_body_timeout   10;

client_header_timeout 10;

keepalive_timeout     5 5;

send_timeout   問題     5;

send_timeout   #     #10.預防DOS攻擊。

limit_zone slimits $binary_remote_addr 5m;

limit_conn slimits 5;

9. 試著避免使用HTTP認證。 HTTP認證預設使用crypt,它的雜湊並不安全。如果你要用的話就用MD5(這也不是個好選擇但負載方面比crypt好) 。

10. 保持與最新的Nginx安全性更新。

以上是提高nginx安全性方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Linux的5支支柱:了解他們的角色Linux的5支支柱:了解他們的角色Apr 11, 2025 am 12:07 AM

Linux系統的五大支柱是:1.內核,2.系統庫,3.Shell,4.文件系統,5.系統工具。內核管理硬件資源並提供基本服務;系統庫為應用程序提供預編譯函數;Shell是用戶與系統交互的接口;文件系統組織和存儲數據;系統工具用於系統管理和維護。

Linux維護模式:工具和技術Linux維護模式:工具和技術Apr 10, 2025 am 09:42 AM

在Linux系統中,可以通過在啟動時按特定鍵或使用命令如“sudosystemctlrescue”進入維護模式。維護模式允許管理員在不受干擾的情況下進行系統維護和故障排除,如修復文件系統、重置密碼、修補安全漏洞等。

關鍵Linux操作:初學者指南關鍵Linux操作:初學者指南Apr 09, 2025 pm 04:09 PM

Linux初學者應掌握文件管理、用戶管理和網絡配置等基本操作。 1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。 2)用戶管理:使用useradd、passwd、userdel、usermod命令。 3)網絡配置:使用ifconfig、echo、ufw命令。這些操作是Linux系統管理的基礎,熟練掌握它們可以有效管理系統。

如何使用sudo向Linux的用戶授予高架特權?如何使用sudo向Linux的用戶授予高架特權?Mar 17, 2025 pm 05:32 PM

本文解釋瞭如何管理Linux中的Sudo特權,包括授予,撤銷和安全性最佳實踐。關鍵重點是安全和sudoers安全和限制訪問。Character數量:159

如何在Linux中實現SSH的兩因素身份驗證(2FA)?如何在Linux中實現SSH的兩因素身份驗證(2FA)?Mar 17, 2025 pm 05:31 PM

本文提供了有關使用Google Authenticator在Linux上設置兩因素身份驗證(2FA)的指南,詳細介紹了安裝,配置和故障排除步驟。它突出了2FA的安全益處,例如增強的SEC

如何使用TOP,HTOP和VMSTAT等工具來監視Linux中的系統性能?如何使用TOP,HTOP和VMSTAT等工具來監視Linux中的系統性能?Mar 17, 2025 pm 05:28 PM

本文討論了使用TOP,HTOP和VMSTAT監視Linux系統性能,並詳細介紹其獨特功能和自定義選項,以進行有效的系統管理。

如何使用軟件包管理器(APT,YUM,DNF)管理Linux中的軟件包?如何使用軟件包管理器(APT,YUM,DNF)管理Linux中的軟件包?Mar 17, 2025 pm 05:26 PM

文章討論了使用APT,YUM和DNF在Linux中管理軟件包,涵蓋安裝,更新和刪除。它比較了它們對不同分佈的功能和適用性。

如何在Linux中使用正則表達式(REGEX)進行模式匹配?如何在Linux中使用正則表達式(REGEX)進行模式匹配?Mar 17, 2025 pm 05:25 PM

本文介紹瞭如何在Linux中使用正則表達式(REGEX)進行模式匹配,文件搜索和文本操作,詳細列式,命令和工具,例如GREP,SED和AWK。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用