為了更好的指導(dǎo)部署與測試藝術(shù)升系統(tǒng)nginx網(wǎng)站服務(wù)器高性能同時(shí)下安全穩(wěn)定運(yùn)行,需要對nginx服務(wù)進(jìn)行調(diào)優(yōu)與加固;
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比黃陂網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式黃陂網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋黃陂地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
本次進(jìn)行Nginx服務(wù)調(diào)優(yōu)加固主要從以下幾個(gè)部分:
本文檔僅供內(nèi)部使用,禁止外傳,幫助研發(fā)人員,運(yùn)維人員對系統(tǒng)長期穩(wěn)定的運(yùn)行提供技術(shù)文檔參考。
Nginx是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器。Nginx作為負(fù)載均衡服務(wù)器, Nginx 既可以在內(nèi)部直接支持 Rails 和 PHP 程序?qū)ν膺M(jìn)行服務(wù),也賀弊饑可以支持作為 HTTP代理服務(wù)器對外進(jìn)行服務(wù)。
Nginx版本選擇:
項(xiàng)目結(jié)構(gòu):
Nginx文檔幫助:
Nginx首頁地址目錄: /usr/share/nginx/html
Nginx配置文件:
localtion 請求匹配的url實(shí)是一個(gè)正則表達(dá)式:
Nginx 匹配判斷表達(dá)式:
例如,匹配末尾為如下后綴的靜態(tài)并判斷是否存在該文件, 如不存在則404。
查看可用模塊編譯參數(shù):
http_gzip模塊
開啟gzip壓縮輸出(常常是大于1kb的靜態(tài)文件),減少網(wǎng)絡(luò)傳輸;
http_fastcgi_module模塊
nginx可以用來請求路由到FastCGI服務(wù)器運(yùn)行應(yīng)用程序由各種框架和PHP編程語言等??梢蚤_啟FastCGI的緩存功能以及將靜態(tài)資源進(jìn)行剝離,從而提高性能。
keepalive模塊
長連接對性能有很大的影響,通過減少CPU和網(wǎng)絡(luò)開銷需要開啟或關(guān)閉連接;
http_ssl_module模塊
Nginx開啟支持Https協(xié)議的SSL模塊
Linux內(nèi)核參數(shù)部分默認(rèn)值不適合高并發(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 每個(gè)連接可以使用兩個(gè)文件描述符。
例如如果NGINX充當(dāng)代理時(shí),通常一個(gè)文件描述符表示客戶端連接,另一個(gè)連接到代理服務(wù)器,如果開啟了HTTP 保持連接,這個(gè)比例會(huì)更低(譯注:為什么更低呢)。
對于有大量連接服務(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)化 [可選項(xiàng)] 總共提供了5級編譯優(yōu)化級別:
常用編譯參數(shù):
緩存和壓縮與限制可以提高性能
NGINX的一些額外功能可用于提高Web應(yīng)用的性能,調(diào)優(yōu)的時(shí)候web應(yīng)用不需要關(guān)掉但值得一提,因?yàn)樗鼈兊挠绊懣赡芎苤匾?/p>
簡單示例:
1) 永久重定向
例如,配置 http 向 https 跳轉(zhuǎn) (永久)
nginx配置文件指令優(yōu)化一覽表
描述:Nginx因?yàn)榘踩渲貌缓线m導(dǎo)致的安全問題,Nginx的默認(rèn)配置中存在一些安全問題,例如版本號信息泄露、未配置使用SSL協(xié)議等。
對Nginx進(jìn)行卜碧安全配置可以有效的防范一些常見安全問題,按照基線標(biāo)準(zhǔn)做好安全配置能夠減少安全事件的發(fā)生,保證采用Nginx服務(wù)器系統(tǒng)應(yīng)用安全運(yùn)行;
Nginx安全配置項(xiàng):
溫馨提示: 在修改相應(yīng)的源代碼文件后需重新編譯。
設(shè)置成功后驗(yàn)證禪返:
應(yīng)配置非root低權(quán)限用戶來運(yùn)行nginx服務(wù),設(shè)置如下建立Nginx用戶組和用戶,采用user指令指運(yùn)行用戶
加固方法:
我們應(yīng)該為提供的站點(diǎn)配置Secure Sockets Layer Protocol (SSL協(xié)議),配置其是為了數(shù)據(jù)傳輸?shù)陌踩?,SSL依靠證書來驗(yàn)證服務(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ù),如果他們的垃圾信息鏈接顯示在訪問日志中,并且這些日志被搜索引擎掃描,則會(huì)對網(wǎng)站排名產(chǎn)生不利影響
加固方法:
當(dāng)惡意攻擊者采用掃描器進(jìn)行掃描時(shí)候利用use-agent判斷是否是常用的工具掃描以及特定的版本,是則返回錯(cuò)誤或者重定向;
Nginx支持webdav,雖然默認(rèn)情況下不會(huì)編譯。如果使用webdav,則應(yīng)該在Nginx策略中禁用此規(guī)則。
加固方法: dav_methods 應(yīng)設(shè)置為off
當(dāng)訪問一個(gè)特制的URL時(shí),如"../nginx.status",stub_status模塊提供一個(gè)簡短的Nginx服務(wù)器狀態(tài)摘要,大多數(shù)情況下不應(yīng)啟用此模塊。
加固方法:nginx.conf文件中stub_status不應(yīng)設(shè)置為:on
如果在瀏覽器中出現(xiàn)Nginx自動(dòng)生成的錯(cuò)誤消息,默認(rèn)情況下會(huì)包含Nginx的版本號,這些信息可以被攻擊者用來幫助他們發(fā)現(xiàn)服務(wù)器的潛在漏洞
加固方法: 關(guān)閉"Server"響應(yīng)頭中輸出的Nginx版本號將server_tokens應(yīng)設(shè)置為:off
client_body_timeout設(shè)置請求體(request body)的讀超時(shí)時(shí)間。僅當(dāng)在一次readstep中,沒有得到請求體,就會(huì)設(shè)為超時(shí)。超時(shí)后Nginx返回HTTP狀態(tài)碼408(Request timed out)。
加固方法:nginx.conf文件中client_body_timeout應(yīng)設(shè)置為:10
client_header_timeout設(shè)置等待client發(fā)送一個(gè)請求頭的超時(shí)時(shí)間(例如:GET / HTTP/1.1)。僅當(dāng)在一次read中沒有收到請求頭,才會(huì)設(shè)為超時(shí)。超時(shí)后Nginx返回HTTP狀態(tài)碼408(Request timed out)。
加固方法:nginx.conf文件中client_header_timeout應(yīng)設(shè)置為:10
keepalive_timeout設(shè)置與client的keep-alive連接超時(shí)時(shí)間。服務(wù)器將會(huì)在這個(gè)時(shí)間后關(guān)閉連接。
加固方法:nginx.conf文件中keepalive_timeout應(yīng)設(shè)置為:55
send_timeout設(shè)置客戶端的響應(yīng)超時(shí)時(shí)間。這個(gè)設(shè)置不會(huì)用于整個(gè)轉(zhuǎn)發(fā)器,而是在兩次客戶端讀取操作之間。如果在這段時(shí)間內(nèi),客戶端沒有讀取任何數(shù)據(jù),Nginx就會(huì)關(guān)閉連接。
加固方法:nginx.conf文件中send_timeout應(yīng)設(shè)置為:10
GET和POST是Internet上最常用的方法。Web服務(wù)器方法在RFC 2616中定義禁用不需要實(shí)現(xiàn)的可用方法。
加固方法:
limit_zone 配置項(xiàng)限制來自客戶端的同時(shí)連接數(shù)。通過此模塊可以從一個(gè)地址限制分配會(huì)話的同時(shí)連接數(shù)量或特殊情況。
加固方法:nginx.conf文件中l(wèi)imit_zone應(yīng)設(shè)置為:slimits $binary_remote_addr 5m
該配置項(xiàng)控制一個(gè)會(huì)話同時(shí)連接的最大數(shù)量,即限制來自單個(gè)IP地址的連接數(shù)量。
加固方法:nginx.conf 文件中 limit_conn 應(yīng)設(shè)置為: slimits 5
加固方法:
加固方法:
解決辦法:
描述后端獲取Proxy后的真實(shí)Client的IP獲取需要安裝--with-http_realip_module,然后后端程序采用JAVA(request.getAttribute("X-Real-IP"))進(jìn)行獲取;
描述: 如果要使用geoip地區(qū)選擇,我們需要再nginx編譯時(shí)加入 --with-http_geoip_module 編譯參數(shù)。
描述: 為了防止外部站點(diǎn)引用我們的靜態(tài)資源,我們需要設(shè)置那些域名可以訪問我們的靜態(tài)資源。
描述: 下面收集了Web服務(wù)中常規(guī)的安全響應(yīng)頭, 它可以保證不受到某些攻擊,建議在指定的 server{} 代碼塊進(jìn)行配置。
描述: 為了防止某些未備案的域名或者惡意鏡像站域名綁定到我們服務(wù)器上, 導(dǎo)致服務(wù)器被警告關(guān)停,將會(huì)對業(yè)務(wù)或者SEO排名以及企業(yè)形象造成影響,我們可以通過如下方式進(jìn)行防范。
執(zhí)行結(jié)果:
描述: 有時(shí)你的網(wǎng)站可能只需要被某一IP或者IP段的地址請求訪問,那么非白名單中的地址訪問將被阻止訪問, 我們可以如下配置;
常用nginx配置文件解釋:
(1) 阿里巴巴提供的Concat或者Google的PageSpeed模塊實(shí)現(xiàn)這個(gè)合并文件的功能。
(2) PHP-FPM的優(yōu)化
如果您高負(fù)載網(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, 例如
原文地址:
最后希望別再被攻擊了~~~~
用戶安全設(shè)置中綁定MFA,增加部分操作的二次認(rèn)證。綁定過程需要微信添加虛擬MFA,操作還是比較簡單的,可以自行參讓宴閱指導(dǎo)文檔。
選中自己的服務(wù)器,點(diǎn)擊更多,重裝系統(tǒng)后,提示以上頁面。
在服務(wù)市場選中需要安裝的鏡像,我這里選的是u 騰訊云安全加固鏡像-centos7 /u
可以先選中密碼或者直接密鑰登陸,如果使用密碼建議使用隨機(jī)16位密碼進(jìn)行配置。
最后開始重裝,系統(tǒng)一會(huì)就重裝好了。
這里介紹VNC登陸方式,主要是避免一部分無法使用ssh登陸服務(wù)器的,如果可以直接ssh登陸服務(wù)器的可以不用vnc登陸
點(diǎn)擊VNC方式登陸,提示登陸用戶名和密碼,輸入即坦肢銀可登陸服務(wù)器。
需要從控制臺(tái)加載sshkey的話,需要關(guān)閉服務(wù)器。
加載完成后,服務(wù)器開機(jī),嘗試使用ssh登陸服務(wù)器
不想增加小號也可以修改為不允許密碼登陸root
將sysrls用戶加入sudo列表中,方便從sysrls用戶切換用戶等操作。
同時(shí)增加安全組配置(如果服務(wù)器firewalld或者iptables服務(wù)開著,還需要在服務(wù)器中配置端口放行)
禁用用戶登陸的方法
或者可以使用 passwd -l 用戶來禁用用戶
在系統(tǒng)加固安全防護(hù)上我還是個(gè)弟弟,所以只饑賀能稍微盡點(diǎn)人事,降低被木馬的概率。
我國實(shí)行網(wǎng)絡(luò)安全等級保護(hù)制度,等級保護(hù)對象分為五個(gè)級別,由一到五級別逐漸升高,每一個(gè)級別的要求存在差異,級別越高,要求越嚴(yán)格。
第一級,自主保護(hù)級:信息系統(tǒng)受到破壞后,會(huì)對公民、法人和其他組織的合法權(quán)益造成損害,但不損害國家安全、社會(huì)秩序和公共利益;一般適用于小型私營、個(gè)體企業(yè)、中小學(xué),鄉(xiāng)鎮(zhèn)所屬信息系統(tǒng)、縣級單位中一般的信息系統(tǒng)。
第二級,指導(dǎo)保護(hù)級:信息系統(tǒng)受到破壞后,會(huì)對公民、法人和其他組織的合法權(quán)益產(chǎn)生嚴(yán)重?fù)p害,或者對社會(huì)秩序和公共利益造成損害,但不損害國家安全;一般適用于縣級其些單位中的重要信息系統(tǒng);地市級以上國家機(jī)關(guān)、企事業(yè)單位內(nèi)部一般的信息系統(tǒng)。例如非涉及工作秘密、商業(yè)秘密、敏感信息的辦公系統(tǒng)和管理系統(tǒng)等。
第三級,監(jiān)督保護(hù)級:信息系統(tǒng)受到破壞后陵侍陵,會(huì)對社會(huì)秩序和公共利益造成嚴(yán)重?fù)p害,或者對國家安全造成損害;一般適用于地市級以上國家機(jī)關(guān)、企業(yè)、事業(yè)單位內(nèi)部重要的信息系統(tǒng),尺戚例如涉及工作秘密、商業(yè)秘密、敏感信息的辦公系統(tǒng)和管理系統(tǒng);跨省或全國聯(lián)網(wǎng)運(yùn)行的用于生產(chǎn)、調(diào)度、管理、指揮、作業(yè)、控制等方面的談陵重要信息系統(tǒng)以及這類系統(tǒng)在省、地市的分支系統(tǒng);中央各部委、?。▍^(qū)、市)門戶網(wǎng)站和重要網(wǎng)站;跨省連接的網(wǎng)絡(luò)系統(tǒng)等。
第四級,強(qiáng)制保護(hù)級:信息系統(tǒng)受到破壞后,會(huì)對社會(huì)秩序和公共利益造成特別嚴(yán)重?fù)p害,或者對國家安全造成嚴(yán)重?fù)p害;一般適用于國家重要領(lǐng)域、重要部門中的特別重要系統(tǒng)以及核心系統(tǒng)。例如電力、電信、廣電、鐵路、民航、銀行、稅務(wù)等重要、部門的生產(chǎn)、調(diào)度、指揮等涉及國家安全、國計(jì)民生的核心系統(tǒng)。
第五級,??乇Wo(hù)級:信息系統(tǒng)受到破壞后,會(huì)對國家安全造成特別嚴(yán)重?fù)p害。一般適用于國家重要領(lǐng)域、重要部門中的極端重要系統(tǒng)。
三級等保指信息系統(tǒng)經(jīng)過定級、備案這一流程之后,確定為第三級的信息系統(tǒng),那么就需要做三級等保。
在我國,“三級等?!笔菍Ψ倾y行機(jī)構(gòu)的最高等級保護(hù)認(rèn)證,一般定級為等保三級的系統(tǒng)有互聯(lián)網(wǎng)醫(yī)院平臺(tái)、P2P金融平臺(tái)、網(wǎng)約車平臺(tái)、云(服務(wù)商)平臺(tái)和其他重要系統(tǒng)。
這一認(rèn)證由公安機(jī)關(guān)依據(jù)國家信息安全保護(hù)條例及相關(guān)制度規(guī)定,按照管理規(guī)范和技術(shù)標(biāo)準(zhǔn),對各機(jī)構(gòu)的信息系統(tǒng)安全等級保護(hù)狀況進(jìn)行認(rèn)可及評定。
一般我們生活中接觸多的定級為等保三級的系統(tǒng)有互聯(lián)網(wǎng)醫(yī)院平臺(tái)、P2P金融平臺(tái)、網(wǎng)約車平臺(tái)、云(服務(wù)商)平臺(tái)和其他重要系統(tǒng)。
根據(jù)《信息系統(tǒng)安全等級保護(hù)基本要求》,三級等保的測評內(nèi)容涵蓋等級保護(hù)安全技術(shù)要求的5個(gè)層面和安全管理要求的5個(gè)層面,包含信息保護(hù)、安全審計(jì)、通信保密等在內(nèi)的近300項(xiàng)要求,共涉及測評分類73類。
通過“三級等?!闭J(rèn)證,表明企業(yè)的信息安全管理能力達(dá)到國內(nèi)最高標(biāo)準(zhǔn)。
CentOS7 系統(tǒng)服務(wù)器初始化配置、安全加固、內(nèi)核升級優(yōu)化
安全等保:Linux服務(wù)器基線安全
因?yàn)镮IS(即Internet Information Server)的方便性和易用性,使它成為最受歡迎的Web服務(wù)器軟件之一。但是,IIS的安全性卻一直令人擔(dān)憂。如何利用IIS建立一個(gè)安全的Web服務(wù)器,是很多人關(guān)心的話題。要?jiǎng)?chuàng)建一個(gè)安全可靠的Web服務(wù)器,必須要實(shí)現(xiàn)Windows 2003和IIS的雙重安全,因?yàn)镮IS的用戶同時(shí)也是Windows 2003的用戶,并且IIS目錄的權(quán)限依賴Windows的NTFS文件系統(tǒng)的權(quán)限控制,所以保護(hù)IIS安全的`第一步就是確保Windows 2000操作系統(tǒng)的安全,所以要對服務(wù)器進(jìn)行安全加固,以免遭到黑客的攻擊,造成嚴(yán)重的后果。
我們通過以下幾個(gè)方面對您的系統(tǒng)進(jìn)行安全加固:
1. 系統(tǒng)的安全加固:我們通過配置目錄權(quán)限,系統(tǒng)安全策略,協(xié)議棧加強(qiáng),系統(tǒng)服務(wù)和訪問控制加固您的系統(tǒng),整體提高服務(wù)器的安全性。
2. IIS手工加固:手工加固iis可以有效的提高iweb站點(diǎn)的安全性,合理分配用戶權(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),之后再對其下的子目錄作單獨(dú)的目錄權(quán)限,如果WEB站點(diǎn)目錄,你要為其目錄權(quán)限分配一個(gè)與之對應(yīng)的匿名訪問帳號并賦予它有修改權(quán)限,如果想使網(wǎng)站更加堅(jiān)固,可以分配只讀權(quán)限并對特殊的目錄作可寫權(quán)限。
1.2 系統(tǒng)所在分區(qū)下的根目錄都要設(shè)置為不繼承父權(quán)限,之后為該分區(qū)只賦予Administrators和SYSTEM有完全控制權(quán)。
1.3 因?yàn)榉?wù)器只有管理員有本地登錄權(quán)限,所在要配置Documents and Settings這個(gè)目錄權(quán)限只保留Administrators和SYSTEM有完全控制權(quán),其下的子目錄同樣。另外還有一個(gè)隱藏目錄也需要同樣操作。因?yàn)槿绻惆惭b有PCAnyWhere那么他的的配置信息都保存在其下,使用webshell或FSO可以輕松的調(diào)取這個(gè)配置文件。
1.4 配置Program files目錄,為Common Files目錄之外的所有目錄賦予Administrators和SYSTEM有完全控制權(quán)。
1.5 配置Windows目錄,其實(shí)這一塊主要是根據(jù)自身的情況如果使用默認(rèn)的安全設(shè)置也是可行的,不過還是應(yīng)該進(jìn)入SYSTEM32目錄下,將 cmd.exe、、net.exe、scrrun.dll、shell.dll這些殺手锏程序賦予匿名帳號拒絕訪問。
1.6審核MetBase.bin,C:WINNTsystem32inetsrv目錄只有administrator只帆旅謹(jǐn)允許Administrator用戶讀寫。
2.組策略配置:
在用戶權(quán)利指派下,從通過網(wǎng)絡(luò)訪問此計(jì)算機(jī)中刪除Power Users和鎮(zhèn)鋒Backup Operators;
啟用不允許匿名訪問SAM帳號和共享;
啟用不允許為網(wǎng)絡(luò)驗(yàn)證存儲(chǔ)憑據(jù)或Passport;
從文件共享中刪除允許匿名登錄的DFS$和COMCFG;
啟用交互登錄:不顯示上次的用戶名;
啟用在下一次密碼變更時(shí)不存儲(chǔ)LANMAN哈希值;
禁止IIS匿名用戶在本地登錄;
3.本地安全策略設(shè)置:
開始菜單—管理工具—本地安全策略
A、本地策略——審核策略
審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問失敗
審核過程跟蹤 無審核
審核目錄服務(wù)訪問失敗
審核特權(quán)使用失敗
審核系統(tǒng)事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理態(tài)基 成功 失敗
注:在設(shè)置審核登陸事件時(shí)選擇記失敗,這樣在事件查看器里的安全日志就會(huì)記錄登陸失敗的信息。