為了更好的指導(dǎo)部署與測試藝術(shù)升系統(tǒng)nginx網(wǎng)站服務(wù)器高性能同時下安全穩(wěn)定運行,需要對nginx服務(wù)進行調(diào)優(yōu)與加固;
成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)與策劃設(shè)計,海豐網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:海豐等地區(qū)。海豐做網(wǎng)站價格咨詢:13518219792
本次進行Nginx服務(wù)調(diào)優(yōu)加固主要從以下幾個部分:
本文檔僅供內(nèi)部使用,禁止外傳,幫助研發(fā)人員,運維人員對系統(tǒng)長期穩(wěn)定的運行提供技術(shù)文檔參考。
Nginx是一個高性能的HTTP和反向代理服務(wù)器,也是一個IMAP/POP3/SMTP服務(wù)器。Nginx作為負載均衡服務(wù)器, Nginx 既可以在內(nèi)部直接支持 Rails 和 PHP 程序?qū)ν膺M行服務(wù),也可以支持作為 HTTP代理服務(wù)器對外進行服務(wù)。
Nginx版本選擇:
項目結(jié)構(gòu):
Nginx文檔幫助:
Nginx首頁地址目錄: /usr/share/nginx/html
Nginx配置文件:
localtion 請求匹配的url實是一個正則表達式:
Nginx 匹配判斷表達式:
例如,匹配末尾為如下后綴的靜態(tài)并判斷是否存在該文件, 如不存在則404。
查看可用模塊編譯參數(shù):
http_gzip模塊
開啟gzip壓縮輸出(常常是大于1kb的靜態(tài)文件),減少網(wǎng)絡(luò)傳輸;
http_fastcgi_module模塊
nginx可以用來請求路由到FastCGI服務(wù)器運行應(yīng)用程序由各種框架和PHP編程語言等??梢蚤_啟FastCGI的緩存功能以及將靜態(tài)資源進行剝離,從而提高性能。
keepalive模塊
長連接對性能有很大的影響,通過減少CPU和網(wǎng)絡(luò)開銷需要開啟或關(guān)閉連接;
http_ssl_module模塊
Nginx開啟支持Https協(xié)議的SSL模塊
Linux內(nèi)核參數(shù)部分默認值不適合高并發(fā),Linux內(nèi)核調(diào)優(yōu),主要涉及到網(wǎng)絡(luò)和文件系統(tǒng)、內(nèi)存等的優(yōu)化,
下面是我常用的內(nèi)核調(diào)優(yōu)配置:
文件描述符
文件描述符是操作系統(tǒng)資源,用于表示連接、打開的文件,以及其他信息。NGINX 每個連接可以使用兩個文件描述符。
例如如果NGINX充當(dāng)代理時,通常一個文件描述符表示客戶端連接,另一個連接到代理服務(wù)器,如果開啟了HTTP 保持連接,這個比例會更低(譯注:為什么更低呢)。
對于有大量連接服務(wù)的系統(tǒng),下面的設(shè)置可能需要調(diào)整一下:
精簡模塊:Nginx由于不斷添加新的功能,附帶的模塊也越來越多,建議一般常用的服務(wù)器軟件使用源碼編譯安裝管理;
(1) 減小Nginx編譯后的文件大小
(2) 指定GCC編譯參數(shù)
修改GCC編譯參數(shù)提高編譯優(yōu)化級別穩(wěn)妥起見采用 -O2 這也是大多數(shù)軟件編譯推薦的優(yōu)化級別。
GCC編譯參數(shù)優(yōu)化 [可選項] 總共提供了5級編譯優(yōu)化級別:
常用編譯參數(shù):
緩存和壓縮與限制可以提高性能
NGINX的一些額外功能可用于提高Web應(yīng)用的性能,調(diào)優(yōu)的時候web應(yīng)用不需要關(guān)掉但值得一提,因為它們的影響可能很重要。
簡單示例:
1) 永久重定向
例如,配置 http 向 https 跳轉(zhuǎn) (永久)
nginx配置文件指令優(yōu)化一覽表
描述:Nginx因為安全配置不合適導(dǎo)致的安全問題,Nginx的默認配置中存在一些安全問題,例如版本號信息泄露、未配置使用SSL協(xié)議等。
對Nginx進行安全配置可以有效的防范一些常見安全問題,按照基線標(biāo)準(zhǔn)做好安全配置能夠減少安全事件的發(fā)生,保證采用Nginx服務(wù)器系統(tǒng)應(yīng)用安全運行;
Nginx安全配置項:
溫馨提示: 在修改相應(yīng)的源代碼文件后需重新編譯。
設(shè)置成功后驗證:
應(yīng)配置非root低權(quán)限用戶來運行nginx服務(wù),設(shè)置如下建立Nginx用戶組和用戶,采用user指令指運行用戶
加固方法:
我們應(yīng)該為提供的站點配置Secure Sockets Layer Protocol (SSL協(xié)議),配置其是為了數(shù)據(jù)傳輸?shù)陌踩?,SSL依靠證書來驗證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。
不應(yīng)使用不安全SSLv2、SSLv3協(xié)議即以下和存在脆弱性的加密套件(ciphers), 我們應(yīng)該使用較新的TLS協(xié)議也應(yīng)該優(yōu)于舊的,并使用安全的加密套件。
HTTP Referrer Spam是垃圾信息發(fā)送者用來提高他們正在嘗試推廣的網(wǎng)站的互聯(lián)網(wǎng)搜索引擎排名一種技術(shù),如果他們的垃圾信息鏈接顯示在訪問日志中,并且這些日志被搜索引擎掃描,則會對網(wǎng)站排名產(chǎn)生不利影響
加固方法:
當(dāng)惡意攻擊者采用掃描器進行掃描時候利用use-agent判斷是否是常用的工具掃描以及特定的版本,是則返回錯誤或者重定向;
Nginx支持webdav,雖然默認情況下不會編譯。如果使用webdav,則應(yīng)該在Nginx策略中禁用此規(guī)則。
加固方法: dav_methods 應(yīng)設(shè)置為off
當(dāng)訪問一個特制的URL時,如"../nginx.status",stub_status模塊提供一個簡短的Nginx服務(wù)器狀態(tài)摘要,大多數(shù)情況下不應(yīng)啟用此模塊。
加固方法:nginx.conf文件中stub_status不應(yīng)設(shè)置為:on
如果在瀏覽器中出現(xiàn)Nginx自動生成的錯誤消息,默認情況下會包含Nginx的版本號,這些信息可以被攻擊者用來幫助他們發(fā)現(xiàn)服務(wù)器的潛在漏洞
加固方法: 關(guān)閉"Server"響應(yīng)頭中輸出的Nginx版本號將server_tokens應(yīng)設(shè)置為:off
client_body_timeout設(shè)置請求體(request body)的讀超時時間。僅當(dāng)在一次readstep中,沒有得到請求體,就會設(shè)為超時。超時后Nginx返回HTTP狀態(tài)碼408(Request timed out)。
加固方法:nginx.conf文件中client_body_timeout應(yīng)設(shè)置為:10
client_header_timeout設(shè)置等待client發(fā)送一個請求頭的超時時間(例如:GET / HTTP/1.1)。僅當(dāng)在一次read中沒有收到請求頭,才會設(shè)為超時。超時后Nginx返回HTTP狀態(tài)碼408(Request timed out)。
加固方法:nginx.conf文件中client_header_timeout應(yīng)設(shè)置為:10
keepalive_timeout設(shè)置與client的keep-alive連接超時時間。服務(wù)器將會在這個時間后關(guān)閉連接。
加固方法:nginx.conf文件中keepalive_timeout應(yīng)設(shè)置為:55
send_timeout設(shè)置客戶端的響應(yīng)超時時間。這個設(shè)置不會用于整個轉(zhuǎn)發(fā)器,而是在兩次客戶端讀取操作之間。如果在這段時間內(nèi),客戶端沒有讀取任何數(shù)據(jù),Nginx就會關(guān)閉連接。
加固方法:nginx.conf文件中send_timeout應(yīng)設(shè)置為:10
GET和POST是Internet上最常用的方法。Web服務(wù)器方法在RFC 2616中定義禁用不需要實現(xiàn)的可用方法。
加固方法:
limit_zone 配置項限制來自客戶端的同時連接數(shù)。通過此模塊可以從一個地址限制分配會話的同時連接數(shù)量或特殊情況。
加固方法:nginx.conf文件中l(wèi)imit_zone應(yīng)設(shè)置為:slimits $binary_remote_addr 5m
該配置項控制一個會話同時連接的最大數(shù)量,即限制來自單個IP地址的連接數(shù)量。
加固方法:nginx.conf 文件中 limit_conn 應(yīng)設(shè)置為: slimits 5
加固方法:
加固方法:
解決辦法:
描述后端獲取Proxy后的真實Client的IP獲取需要安裝--with-http_realip_module,然后后端程序采用JAVA(request.getAttribute("X-Real-IP"))進行獲取;
描述: 如果要使用geoip地區(qū)選擇,我們需要再nginx編譯時加入 --with-http_geoip_module 編譯參數(shù)。
描述: 為了防止外部站點引用我們的靜態(tài)資源,我們需要設(shè)置那些域名可以訪問我們的靜態(tài)資源。
描述: 下面收集了Web服務(wù)中常規(guī)的安全響應(yīng)頭, 它可以保證不受到某些攻擊,建議在指定的 server{} 代碼塊進行配置。
描述: 為了防止某些未備案的域名或者惡意鏡像站域名綁定到我們服務(wù)器上, 導(dǎo)致服務(wù)器被警告關(guān)停,將會對業(yè)務(wù)或者SEO排名以及企業(yè)形象造成影響,我們可以通過如下方式進行防范。
執(zhí)行結(jié)果:
描述: 有時你的網(wǎng)站可能只需要被某一IP或者IP段的地址請求訪問,那么非白名單中的地址訪問將被阻止訪問, 我們可以如下配置;
常用nginx配置文件解釋:
(1) 阿里巴巴提供的Concat或者Google的PageSpeed模塊實現(xiàn)這個合并文件的功能。
(2) PHP-FPM的優(yōu)化
如果您高負載網(wǎng)站使用PHP-FPM管理FastCGI對于PHP-FPM的優(yōu)化非常重要
(3) 配置Resin on Linux或者Windows為我們可以打開 resin-3.1.9/bin/httpd.sh 在不影響其他代碼的地方加入:-Dhttps.protocols=TLSv1.2, 例如
原文地址:
因為IIS(即Internet Information Server)的方便性和易用性,使它成為最受歡迎的Web服務(wù)器軟件之一。但是,IIS的安全性卻一直令人擔(dān)憂。如何利用IIS建立一個安全的Web服務(wù)器,是很多人關(guān)心的話題。要創(chuàng)建一個安全可靠的Web服務(wù)器,必須要實現(xiàn)Windows 2003和IIS的雙重安全,因為IIS的用戶同時也是Windows 2003的用戶,并且IIS目錄的權(quán)限依賴Windows的NTFS文件系統(tǒng)的權(quán)限控制,所以保護IIS安全的`第一步就是確保Windows 2000操作系統(tǒng)的安全,所以要對服務(wù)器進行安全加固,以免遭到黑客的攻擊,造成嚴(yán)重的后果。
我們通過以下幾個方面對您的系統(tǒng)進行安全加固:
1. 系統(tǒng)的安全加固:我們通過配置目錄權(quán)限,系統(tǒng)安全策略,協(xié)議棧加強,系統(tǒng)服務(wù)和訪問控制加固您的系統(tǒng),整體提高服務(wù)器的安全性。
2. IIS手工加固:手工加固iis可以有效的提高iweb站點的安全性,合理分配用戶權(quán)限,配置相應(yīng)的安全策略,有效的防止iis用戶溢出提權(quán)。
3. 系統(tǒng)應(yīng)用程序加固,提供應(yīng)用程序的安全性,例如sql的安全配置以及服務(wù)器應(yīng)用軟件的安全加固。
系統(tǒng)的安全加固:
1.目錄權(quán)限的配置:
1.1 除系統(tǒng)所在分區(qū)之外的所有分區(qū)都賦予Administrators和SYSTEM有完全控制權(quán),之后再對其下的子目錄作單獨的目錄權(quán)限,如果WEB站點目錄,你要為其目錄權(quán)限分配一個與之對應(yīng)的匿名訪問帳號并賦予它有修改權(quán)限,如果想使網(wǎng)站更加堅固,可以分配只讀權(quán)限并對特殊的目錄作可寫權(quán)限。
1.2 系統(tǒng)所在分區(qū)下的根目錄都要設(shè)置為不繼承父權(quán)限,之后為該分區(qū)只賦予Administrators和SYSTEM有完全控制權(quán)。
1.3 因為服務(wù)器只有管理員有本地登錄權(quán)限,所在要配置Documents and Settings這個目錄權(quán)限只保留Administrators和SYSTEM有完全控制權(quán),其下的子目錄同樣。另外還有一個隱藏目錄也需要同樣操作。因為如果你安裝有PCAnyWhere那么他的的配置信息都保存在其下,使用webshell或FSO可以輕松的調(diào)取這個配置文件。
1.4 配置Program files目錄,為Common Files目錄之外的所有目錄賦予Administrators和SYSTEM有完全控制權(quán)。
1.5 配置Windows目錄,其實這一塊主要是根據(jù)自身的情況如果使用默認的安全設(shè)置也是可行的,不過還是應(yīng)該進入SYSTEM32目錄下,將 cmd.exe、、net.exe、scrrun.dll、shell.dll這些殺手锏程序賦予匿名帳號拒絕訪問。
1.6審核MetBase.bin,C:WINNTsystem32inetsrv目錄只有administrator只允許Administrator用戶讀寫。
2.組策略配置:
在用戶權(quán)利指派下,從通過網(wǎng)絡(luò)訪問此計算機中刪除Power Users和Backup Operators;
啟用不允許匿名訪問SAM帳號和共享;
啟用不允許為網(wǎng)絡(luò)驗證存儲憑據(jù)或Passport;
從文件共享中刪除允許匿名登錄的DFS$和COMCFG;
啟用交互登錄:不顯示上次的用戶名;
啟用在下一次密碼變更時不存儲LANMAN哈希值;
禁止IIS匿名用戶在本地登錄;
3.本地安全策略設(shè)置:
開始菜單—管理工具—本地安全策略
A、本地策略——審核策略
審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問失敗
審核過程跟蹤 無審核
審核目錄服務(wù)訪問失敗
審核特權(quán)使用失敗
審核系統(tǒng)事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理 成功 失敗
注:在設(shè)置審核登陸事件時選擇記失敗,這樣在事件查看器里的安全日志就會記錄登陸失敗的信息。
直接申請并安裝SSL證書就行了。
SSL安全證書簡單講HTTPS是一種加密傳輸、身份認證的網(wǎng)絡(luò)通信協(xié)議,通過在客戶端瀏覽器與WEB服務(wù)器之間建立一條SSL安全通道,其作用就是對網(wǎng)絡(luò)傳輸中的數(shù)據(jù)進行記錄和加密,防止數(shù)據(jù)被截取或竊聽,從而保證網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)陌踩浴?/p>
1份SSL證書包括一個公共密鑰和一個私用密鑰:公共密鑰主要用于信息加密,私用密鑰主要用于解譯加密信息。當(dāng)瀏覽器指向一個安全域時,安裝證書后SSL會同步確認客戶端和服務(wù)器,并在兩者之間建立一種加密方式和一個唯一的會話密鑰,這樣便可保證通話雙方信息的完整性和保密性?,F(xiàn)在互聯(lián)網(wǎng)中大部分還是傳統(tǒng)的HTTP傳輸協(xié)議,使用這類協(xié)議無法保證傳輸信息的安全性,相當(dāng)于信息處于“裸奔”狀態(tài)中,這在當(dāng)前的網(wǎng)絡(luò)里具有非常大的安全隱患。而HTTPS協(xié)議能對傳輸?shù)幕ヂ?lián)網(wǎng)信息進行加密處理,從而在一定程度上保證了信息的安全性,也不會在傳輸過程中輕易被黑客獲取。
文章標(biāo)題:有關(guān)網(wǎng)站安全加固服務(wù)器 web服務(wù)器安全加固
網(wǎng)頁路徑:http://www.rwnh.cn/article28/ddgoijp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、定制開發(fā)、營銷型網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站排名、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)