一、在代碼編寫時(shí)就要進(jìn)行漏洞測(cè)試。
成都創(chuàng)新互聯(lián)擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、綿陽(yáng)主機(jī)托管解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、購(gòu)物商城網(wǎng)站建設(shè)、政府網(wǎng)站等各類型客戶群體,為全球千余家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。
二、對(duì)Web服務(wù)器進(jìn)行持續(xù)的監(jiān)控。
三、設(shè)置蜜罐,將攻擊者引向錯(cuò)誤的方向。
四、專人對(duì)Web服務(wù)器的安全性進(jìn)行測(cè)試。
在Web服務(wù)器的攻防戰(zhàn)上,這一個(gè)原則也適用。筆者建議,如果企業(yè)對(duì)于Web服務(wù)的安全比較高,如網(wǎng)站服務(wù)器上有電子商務(wù)交易平臺(tái),此時(shí)最好設(shè)置一個(gè)專業(yè)的團(tuán)隊(duì)。他們充當(dāng)攻擊者的角色,對(duì)服務(wù)器進(jìn)行安全性的測(cè)試。這個(gè)專業(yè)團(tuán)隊(duì)主要執(zhí)行如下幾個(gè)任務(wù)?!?/p>
一是測(cè)試Web管理團(tuán)隊(duì)對(duì)攻擊行為的反應(yīng)速度。如可以采用一些現(xiàn)在比較流行的攻擊手段,對(duì)自己的Web服務(wù)器發(fā)動(dòng)攻擊。當(dāng)然這個(gè)時(shí)間是隨機(jī)的。預(yù)先Web管理團(tuán)隊(duì)并不知道?,F(xiàn)在要評(píng)估的是,Web管理團(tuán)隊(duì)在多少時(shí)間之內(nèi)能夠發(fā)現(xiàn)這種攻擊的行為。這也是考驗(yàn)管理團(tuán)隊(duì)全天候跟蹤的能力。一般來(lái)說(shuō),這個(gè)時(shí)間越短越好。應(yīng)該將這個(gè)時(shí)間控制在可控的范圍之內(nèi)。即使攻擊最后沒(méi)有成功,Web管理團(tuán)隊(duì)也應(yīng)該及早的發(fā)現(xiàn)攻擊的行為。畢竟有沒(méi)有發(fā)現(xiàn)、與最終有沒(méi)有取得成功,是兩個(gè)不同的概念。
二是要測(cè)試服務(wù)器的漏洞是否有補(bǔ)上。畢竟大部分的攻擊行為,都是針對(duì)服務(wù)器現(xiàn)有的漏洞所產(chǎn)生的?,F(xiàn)在這個(gè)專業(yè)團(tuán)隊(duì)要做的就是,這些已發(fā)現(xiàn)的漏洞是否都已經(jīng)打上了安全補(bǔ)丁或者采取了對(duì)應(yīng)的安全措施。有時(shí)候我們都沒(méi)有發(fā)現(xiàn)的漏洞是無(wú)能為力,但是對(duì)于這些已經(jīng)存在的漏洞不能夠放過(guò)。否則的話,也太便宜那些攻擊者了。
品牌型號(hào):華為MateBook D15
系統(tǒng):Windows 10
不屬于web服務(wù)器的安全措施的是強(qiáng)制用戶使用不易被破解的密碼。Web服務(wù)器一般指網(wǎng)站服務(wù)器,是指駐留于因特網(wǎng)上某種類型計(jì)算機(jī)的程序,可以處理瀏覽器等Web客戶端的請(qǐng)求并返回相應(yīng)響應(yīng),也可以放置網(wǎng)站文件,讓全世界瀏覽;可以放置數(shù)據(jù)文件,讓全世界下載。目前最主流的三個(gè)Web服務(wù)器是Apache、 Nginx 、IIS。
加強(qiáng)Web服務(wù)器的安全防護(hù)的措施有:
1、加強(qiáng)Web服務(wù)器的安全設(shè)置。以Linux為操作平臺(tái)的Web服務(wù)器的安全設(shè)置策略,能夠有效降低服務(wù)器的安全隱患,以確保Web服務(wù)器的安全性,主要包括:登錄有戶名與密碼的安全設(shè)置、系統(tǒng)口令的安全設(shè)置、BIOS的安全設(shè)置、使用SSL通信協(xié)議、命令存儲(chǔ)的修改設(shè)置、隱藏系統(tǒng)信息、啟用日志記錄功能以及設(shè)置Web服務(wù)器有關(guān)目錄的權(quán)限等。
2、加強(qiáng)互聯(lián)網(wǎng)的安全防范。Web服務(wù)器需要對(duì)外提供服務(wù),它既有域名又有公網(wǎng)的網(wǎng)址,顯然存在一些安全隱患。所以,可給予Web服務(wù)器分配私有的地址,并且運(yùn)用防火墻來(lái)做NAT可將其進(jìn)行隱藏;同時(shí)因?yàn)橐恍┕魜?lái)源于內(nèi)網(wǎng)的攻擊,比如把內(nèi)網(wǎng)計(jì)算機(jī)和Web服務(wù)器存放在相同的局域網(wǎng)之內(nèi),則在一定程度上會(huì)增加很多安全隱患,所以必須把它劃分為不同的虛擬局域網(wǎng),運(yùn)用防火墻的地址轉(zhuǎn)換來(lái)提供相互間的訪問(wèn),這樣就大大提高了Web服務(wù)器的安全性和可靠性;把Web服務(wù)器連接至防火墻的DMZ端口,將不適宜對(duì)外公布的重要信息的服務(wù)器放于內(nèi)部網(wǎng)絡(luò),進(jìn)而在提供對(duì)外的服務(wù)的同時(shí),可以最大限度地保護(hù)好內(nèi)部網(wǎng)絡(luò)。
3、網(wǎng)絡(luò)管理員要不斷加強(qiáng)網(wǎng)絡(luò)日常安全的維護(hù)與管理。要對(duì)管理員用戶名與密碼定期修改;要對(duì)Web服務(wù)器系統(tǒng)的新增用戶情況進(jìn)行定時(shí)核對(duì),并且需要認(rèn)真仔細(xì)了解網(wǎng)絡(luò)用戶的各種功能;要及時(shí)給予更新Web服務(wù)器系統(tǒng)的殺毒軟件以及病毒庫(kù),必要時(shí)可針對(duì)比較特殊的病毒給予安裝專門殺毒的程序,同時(shí)要定期查殺Web服務(wù)器的系統(tǒng)病毒,定期查看CPU的正常工作使用狀態(tài)、后臺(tái)工作進(jìn)程以及應(yīng)用程序,假若發(fā)現(xiàn)異常情況需要及時(shí)給予妥當(dāng)處理;因?yàn)楹芏嗄抉R與病毒均是運(yùn)用系統(tǒng)漏洞來(lái)進(jìn)行攻擊的,所以需要不斷自動(dòng)更新Web服務(wù)器系統(tǒng),以及定期掃描Web服務(wù)器系統(tǒng)的漏洞。
為了更好的指導(dǎo)部署與測(cè)試藝術(shù)升系統(tǒng)nginx網(wǎng)站服務(wù)器高性能同時(shí)下安全穩(wěn)定運(yùn)行,需要對(duì)nginx服務(wù)進(jìn)行調(diào)優(yōu)與加固;
本次進(jìn)行Nginx服務(wù)調(diào)優(yōu)加固主要從以下幾個(gè)部分:
本文檔僅供內(nèi)部使用,禁止外傳,幫助研發(fā)人員,運(yùn)維人員對(duì)系統(tǒng)長(zhǎ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ù)器對(duì)外進(jìn)行服務(wù)。
Nginx版本選擇:
項(xiàng)目結(jié)構(gòu):
Nginx文檔幫助:
Nginx首頁(yè)地址目錄: /usr/share/nginx/html
Nginx配置文件:
localtion 請(qǐng)求匹配的url實(shí)是一個(gè)正則表達(dá)式:
Nginx 匹配判斷表達(dá)式:
例如,匹配末尾為如下后綴的靜態(tài)并判斷是否存在該文件, 如不存在則404。
查看可用模塊編譯參數(shù):
http_gzip模塊
開(kāi)啟gzip壓縮輸出(常常是大于1kb的靜態(tài)文件),減少網(wǎng)絡(luò)傳輸;
http_fastcgi_module模塊
nginx可以用來(lái)請(qǐng)求路由到FastCGI服務(wù)器運(yùn)行應(yīng)用程序由各種框架和PHP編程語(yǔ)言等??梢蚤_(kāi)啟FastCGI的緩存功能以及將靜態(tài)資源進(jìn)行剝離,從而提高性能。
keepalive模塊
長(zhǎng)連接對(duì)性能有很大的影響,通過(guò)減少CPU和網(wǎng)絡(luò)開(kāi)銷需要開(kāi)啟或關(guān)閉連接;
http_ssl_module模塊
Nginx開(kāi)啟支持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)資源,用于表示連接、打開(kāi)的文件,以及其他信息。NGINX 每個(gè)連接可以使用兩個(gè)文件描述符。
例如如果NGINX充當(dāng)代理時(shí),通常一個(gè)文件描述符表示客戶端連接,另一個(gè)連接到代理服務(wù)器,如果開(kāi)啟了HTTP 保持連接,這個(gè)比例會(huì)更低(譯注:為什么更低呢)。
對(duì)于有大量連接服務(wù)的系統(tǒng),下面的設(shè)置可能需要調(diào)整一下:
精簡(jiǎn)模塊:Nginx由于不斷添加新的功能,附帶的模塊也越來(lái)越多,建議一般常用的服務(wù)器軟件使用源碼編譯安裝管理;
(1) 減小Nginx編譯后的文件大小
(2) 指定GCC編譯參數(shù)
修改GCC編譯參數(shù)提高編譯優(yōu)化級(jí)別穩(wěn)妥起見(jiàn)采用 -O2 這也是大多數(shù)軟件編譯推薦的優(yōu)化級(jí)別。
GCC編譯參數(shù)優(yōu)化 [可選項(xiàng)] 總共提供了5級(jí)編譯優(yōu)化級(jí)別:
常用編譯參數(shù):
緩存和壓縮與限制可以提高性能
NGINX的一些額外功能可用于提高Web應(yīng)用的性能,調(diào)優(yōu)的時(shí)候web應(yīng)用不需要關(guān)掉但值得一提,因?yàn)樗鼈兊挠绊懣赡芎苤匾?/p>
簡(jiǎn)單示例:
1) 永久重定向
例如,配置 http 向 https 跳轉(zhuǎn) (永久)
nginx配置文件指令優(yōu)化一覽表
描述:Nginx因?yàn)榘踩渲貌缓线m導(dǎo)致的安全問(wèn)題,Nginx的默認(rèn)配置中存在一些安全問(wèn)題,例如版本號(hào)信息泄露、未配置使用SSL協(xié)議等。
對(duì)Nginx進(jìn)行安全配置可以有效的防范一些常見(jiàn)安全問(wè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)限用戶來(lái)運(yùn)行nginx服務(wù),設(shè)置如下建立Nginx用戶組和用戶,采用user指令指運(yùn)行用戶
加固方法:
我們應(yīng)該為提供的站點(diǎn)配置Secure Sockets Layer Protocol (SSL協(xié)議),配置其是為了數(shù)據(jù)傳輸?shù)陌踩?,SSL依靠證書來(lái)驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。
不應(yīng)使用不安全SSLv2、SSLv3協(xié)議即以下和存在脆弱性的加密套件(ciphers), 我們應(yīng)該使用較新的TLS協(xié)議也應(yīng)該優(yōu)于舊的,并使用安全的加密套件。
HTTP Referrer Spam是垃圾信息發(fā)送者用來(lái)提高他們正在嘗試推廣的網(wǎng)站的互聯(lián)網(wǎng)搜索引擎排名一種技術(shù),如果他們的垃圾信息鏈接顯示在訪問(wèn)日志中,并且這些日志被搜索引擎掃描,則會(huì)對(duì)網(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)訪問(wèn)一個(gè)特制的URL時(shí),如"../nginx.status",stub_status模塊提供一個(gè)簡(jiǎn)短的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的版本號(hào),這些信息可以被攻擊者用來(lái)幫助他們發(fā)現(xiàn)服務(wù)器的潛在漏洞
加固方法: 關(guān)閉"Server"響應(yīng)頭中輸出的Nginx版本號(hào)將server_tokens應(yīng)設(shè)置為:off
client_body_timeout設(shè)置請(qǐng)求體(request body)的讀超時(shí)時(shí)間。僅當(dāng)在一次readstep中,沒(méi)有得到請(qǐng)求體,就會(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è)請(qǐng)求頭的超時(shí)時(shí)間(例如:GET / HTTP/1.1)。僅當(dāng)在一次read中沒(méi)有收到請(qǐng)求頭,才會(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),客戶端沒(mé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)限制來(lái)自客戶端的同時(shí)連接數(shù)。通過(guò)此模塊可以從一個(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ù)量,即限制來(lái)自單個(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è)置那些域名可以訪問(wèn)我們的靜態(tài)資源。
描述: 下面收集了Web服務(wù)中常規(guī)的安全響應(yīng)頭, 它可以保證不受到某些攻擊,建議在指定的 server{} 代碼塊進(jìn)行配置。
描述: 為了防止某些未備案的域名或者惡意鏡像站域名綁定到我們服務(wù)器上, 導(dǎo)致服務(wù)器被警告關(guān)停,將會(huì)對(duì)業(yè)務(wù)或者SEO排名以及企業(yè)形象造成影響,我們可以通過(guò)如下方式進(jìn)行防范。
執(zhí)行結(jié)果:
描述: 有時(shí)你的網(wǎng)站可能只需要被某一IP或者IP段的地址請(qǐng)求訪問(wèn),那么非白名單中的地址訪問(wèn)將被阻止訪問(wèn), 我們可以如下配置;
常用nginx配置文件解釋:
(1) 阿里巴巴提供的Concat或者Google的PageSpeed模塊實(shí)現(xiàn)這個(gè)合并文件的功能。
(2) PHP-FPM的優(yōu)化
如果您高負(fù)載網(wǎng)站使用PHP-FPM管理FastCGI對(duì)于PHP-FPM的優(yōu)化非常重要
(3) 配置Resin on Linux或者Windows為我們可以打開(kāi) resin-3.1.9/bin/httpd.sh 在不影響其他代碼的地方加入:-Dhttps.protocols=TLSv1.2, 例如
原文地址:
1、打開(kāi)控制面板,選擇并進(jìn)入“程序”,雙擊“打開(kāi)或關(guān)閉Windows服務(wù)”,在彈出的窗口中選擇“Internet信息服務(wù)”下面所有地選項(xiàng),點(diǎn)擊確定后,開(kāi)始更新服務(wù)。
2、更新完成后,打開(kāi)瀏覽器,輸入“”回車,如果此時(shí)出現(xiàn)IIS7歡迎界面,說(shuō)明Web服務(wù)器已經(jīng)搭建成功。?
3、當(dāng)web服務(wù)器搭建成功后,我們下一步所要做的就是把我們開(kāi)發(fā)的網(wǎng)站安裝到Web服務(wù)器的目錄中。一般情況下,當(dāng)Web服務(wù)器安裝完成后,會(huì)創(chuàng)建路徑“%系統(tǒng)根目錄%inetpub/wwwroot”,將我們開(kāi)發(fā)的網(wǎng)站COPY到該路徑下。即可實(shí)現(xiàn)本地訪問(wèn)該網(wǎng)站。
4、設(shè)置防火墻,讓局域網(wǎng)當(dāng)其它計(jì)算機(jī)也能訪問(wèn)本地網(wǎng)站資源。具體方法:打開(kāi)控制面板,選擇“系統(tǒng)和安全”,點(diǎn)擊“允許程序通過(guò)Windows防火墻”,在彈出的對(duì)話框中勾選“萬(wàn)維網(wǎng)服務(wù)HTTP”右側(cè)的兩個(gè)復(fù)選框,最后點(diǎn)擊確定退出。
5、在局域網(wǎng)中其它計(jì)算機(jī)上,打開(kāi)瀏覽器,輸入 “服務(wù)器的IP地址/”按回車鍵,就可以訪問(wèn)服務(wù)器上的資源”。 ?經(jīng)過(guò)以上步驟的設(shè)置,局域網(wǎng)中的其它用戶就可以通過(guò)瀏覽器訪問(wèn)你所共享的web資源了!