nginx服務器配置安全維護,Nginx服務器相關的一些安全配置建議

這篇文章主要介紹了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 1k;

7. 將timeout設低來防止DOS攻擊。所有這些聲明都可以放到主配置文件中。

復制代碼 代碼如下: client_body_timeout?? 10;

client_header_timeout 10;

keepalive_timeout???? 5 5;

send_timeout????????? 10;

8. 限制用戶連接數來預防DOS攻擊。

復制代碼 代碼如下:limit_zone slimits $binary_remote_addr 5m;

limit_conn slimits 5;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541173.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541173.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541173.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

帶有示例的Python date strftime()方法

Python date.strftime()方法 (Python date.strftime() Method) date.strftime() method is used to manipulate objects of date class of module datetime. date.strftime()方法用于操作模塊datetime的日期類的對象。 It takes an instance of the class and returns a stri…

python 發送郵件connect none_使用python向IP地址發送郵件

所以我嘗試通過python腳本發送郵件。使用通常的接收者地址格式可以正常工作”userdomain.tld". 當我現在嘗試使用帶有接收者“user[IP Address]的腳本時,我所有的調試輸出看起來都很好,sendmail方法也可以工作,但是郵件始終沒有收到。我…

老男孩IT教育38期面授班 學員邢偉的決心書

大家好我叫邢偉,今年22歲,上一份工作是做媒體推廣的,拿完獎金飯補全勤獎月薪大概4K左右,在北京生活感覺力不從心現在參加老男孩IT教育linux運維38期,在接下來的學習中,我的目標是畢業后達到月薪12K在接下來的學習中早上…

PS打開PSD文檔服務器未響應,ps打不開psd文件的解決方法

很多人用ps做作品的時候,經常遇到psd文件打不開的問題,最常見的有三種原因,有兩種可以設置解決,另一種是文件損壞,不可恢復。下面是學習小編給大家整理的有關介紹ps打不開psd文件的解決方法,希望對大家有幫…

strictmath_Java StrictMath cbrt()方法與示例

strictmathStrictMath類cbrt()方法 (StrictMath Class cbrt() method) cbrt() method is available in java.lang package. cbrt()方法在java.lang包中可用。 cbrt() method is used to find the cube root of the given parameter in the method. Here, cbrt stands for cube …

模塊---常用模塊

import osprint(os.getcwd()) #得到當前目錄#os.chmod("/usr/local",7) #給文件或者文件夾加權限,7為最高權限print(os.chdir("../")) #更改當前目錄print(os.curdir) #當前目錄print(os.pardir) #父目錄print(os.mkdir("test1")) #創…

excel添加列下拉框票價_excel表格下拉表格添加數據-excel2017表格中怎么制作下拉菜單列表框...

在Excel表中,如何將增加下拉菜單的選項?excel中的下拉菜單選項,就是篩選的功能,具體操作如下:1.首先選中a、b兩列數據,在“開始”選項卡上選擇“篩選”;2.這樣就在excel表中添加了下拉菜單選項。…

ajax實現兩個aspx跳轉,請問ajax執行成功后可以跳轉到另一個頁面嗎?

一只名叫tom的貓通過ajax讀取到寫好的jsp,另一個jsp可以放framse或者層都可以,顯示就行了123456789$.ajax({ type: "POST", //用post方式傳輸 dataType: "html", //數據格式:json…

Android橫豎屏切換View設置不同尺寸或等比例縮放的自定義View的onMeasure解決方案(2)...

Android橫豎屏切換View設置不同尺寸或等比例縮放的自定義View的onMeasure解決方案(2)附錄文章1以xml布局文件方式實現了一個view在橫豎屏切換時候的大小尺寸縮放,實現這種需求,也可以使用自定義View的onMeasure方法實現。比如&…

java中的push方法_Java ArrayDeque push()方法與示例

java中的push方法ArrayDeque類push()方法 (ArrayDeque Class push() method) push() Method is available in java.lang package. push()方法在java.lang包中可用。 push() Method is used to push an element onto the stack denoted by this deque. push()方法用于將元素壓入…

7段均衡器最佳參數_十段均衡器的設置和參數

本帖最后由 GTXarrow 于 2015-2-2 14:53 編輯EQ的基本定義:EQ是Equalizer的縮寫,大陸稱為均衡器,港臺稱為等化器。作用是調整各頻段信號的增益值。10段均衡器表示有10個可調節節點。節點越多,便可以調節出更精確的曲線,同時難度更…

本地 服務器 文件傳輸,本地服務器文件傳輸

本地服務器文件傳輸 內容精選換一換CDM支持周期性自動將新增文件上傳到OBS,不需要寫代碼,也不需要用戶頻繁手動上傳即可使用OBS的海量存儲能力進行文件備份。這里以CDM周期性備份FTP的文件到OBS為例進行介紹。例如:FTP服務器的to_obs_test目錄…

上市公司行情查詢站點

http://stock.finance.sina.com.cn/usstock/quotes/BABA.html

java peek方法_Java ArrayDeque peek()方法與示例

java peek方法ArrayDeque類peek()方法 (ArrayDeque Class peek() method) peek() Method is available in java.lang package. peek()方法在java.lang包中可用。 peek() Method is used to return the head element of the queue denoted by this deque but without removing t…

中怎么撤回消息_微信消息撤回也能看到,這個開源神器牛x!語音、圖片、文字都支持!...

1.前言 微信在2014年的時候,發布的v5.3.1 版本中推出了消息撤回功能,用戶可以選擇撤回 2 分鐘內發送的最后一條信息。現在很多即時通訊的軟件都有撤回這個功能。騰訊為了照顧手殘黨,在微信和QQ中都加入了【消息撤回】的功能。但是這個功能對于…

ntce服務器不穩定,當心!你的教師資格證成績失效了!| 服務

原標題:當心!你的教師資格證成績失效了!| 服務湖南的小王同學資格證筆試考了兩次才全部通過,想著好好歇歇,結果就誤了面試報名,等到第三年面試報名時才發現有一科筆試成績已經過期了......天吶,…

java中get接口示例_Java即時類| 帶示例的get()方法

java中get接口示例即時類的get()方法 (Instant Class get() method) get() method is available in java.time package. get()方法在java.time包中可用。 get() method is used to get the value of the given field from this Instant object. get()方法用于從此Instant對象獲…

深度學習與計算機視覺系列(6)_神經網絡結構與神經元激勵函數

作者:寒小陽 && 龍心塵 時間:2016年1月。 出處: http://blog.csdn.net/han_xiaoyang/article/details/50447834 http://blog.csdn.net/longxinchen_ml/article/details/50448267 聲明:版權全部。轉載請聯系作者并注明出…

datasnap xe連接池_DataSnap 連接池

二、 DataSnap連接池連接池http://docwiki.embarcadero.com/Libraries/XE8/en/Datasnap.DSSession.TDSSessionManagerhttp://docwiki.embarcadero.com/Libraries/XE8/en/Datasnap.DSSession.TDSSessionManager_MethodsTDSSessionManager::GetThreadSession()->IdTDSSessionM…

軟件測試工程師階段_軟件工程測試階段

軟件測試工程師階段Testing can be defined as checking the software for its correctness. In other words, we can define it as a process of observing a program for its behavior on providing some set of inputs (known as test cases) to check whether it is produc…