日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
終極指南:提高Nginx服務(wù)器硬度的12個(gè)技巧

Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like 協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類(lèi)型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó)大陸使用nginx網(wǎng)站用戶(hù)有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。 也許你聽(tīng)過(guò)以上關(guān)于Nginx的美妙的事情,您可能已經(jīng)很喜歡它了,正在考慮如何提高Nginx服務(wù)器的安全性,穩(wěn)定性,或者您考慮把Apache替換成Nginx,那么本篇文章非常適合您繼續(xù)看下去。

大關(guān)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!

本文將介紹用來(lái)提高Nginx服務(wù)器的安全性,穩(wěn)定性和性能的12種操作。

1: 保持Nginx的及時(shí)升級(jí)

目前Nginx的穩(wěn)定版本為1.14.0,最好升級(jí)到最新版本,看官方的release note你會(huì)發(fā)現(xiàn)他們修復(fù)了很多bug,任何一款產(chǎn)品的生產(chǎn)環(huán)境都不想在這樣的bug風(fēng)險(xiǎn)下運(yùn)行的。
另外,雖然安裝包安裝比通過(guò)源代碼編譯安裝更容易,但后一個(gè)選項(xiàng)有兩個(gè)優(yōu)點(diǎn):

  • 1)它允許您將額外的模塊添加到Nginx中(如more_header,mod_security),
  • 2)它總是提供比安裝包更新的版本,在Nginx網(wǎng)站上可看release note。

2: 去掉不用的Nginx模塊

在編譯安裝時(shí),執(zhí)行./configure方法時(shí)加上以下配置指令,可以顯式的刪除不用的模塊:

./configure?--without-module1?--without-module2?--without-module3
例如:
./configure?--without-http_dav_module?--withouthttp_spdy_module
#注意事項(xiàng):配置指令是由模塊提供的。確保你禁用的模塊不包含你需要使用的指令!在決定禁用模塊之前,應(yīng)該檢查Nginx文檔中每個(gè)模塊可用的指令列表。

3: 在Nginx配置中禁用server_tokens項(xiàng)

server_tokens在打開(kāi)的情況下會(huì)使404頁(yè)面顯示Nginx的當(dāng)前版本號(hào)。這樣做顯然不安全,因?yàn)楹诳蜁?huì)利用此信息嘗試相應(yīng)Nginx版本的漏洞。
只需要在nginx.conf中http模塊設(shè)置server_tokens off即可,例如:

server?{
????listen?192.168.0.25:80;
????Server_tokens?off;
????server_name?tecmintlovesnginx.com?www.tecmintlovesnginx.com;
????access_log?/var/www/logs/tecmintlovesnginx.access.log;
????error_log?/var/www/logs/tecmintlovesnginx.error.log?error;
????root?/var/www/tecmintlovesnginx.com/public_html;
????index?index.html?index.htm;
}
#重啟Nginx后生效:

4: 禁止非法的HTTP User Agents

User Agent是HTTP協(xié)議中對(duì)瀏覽器的一種標(biāo)識(shí),禁止非法的User Agent可以阻止爬蟲(chóng)和掃描器的一些請(qǐng)求,防止這些請(qǐng)求大量消耗Nginx服務(wù)器資源。
為了更好的維護(hù),最好創(chuàng)建一個(gè)文件,包含不期望的user agent列表例如/etc/nginx/blockuseragents.rules包含如下內(nèi)容:

map?$http_user_agent?$blockedagent?{
????default?0;
????~*malicious?1;
????~*bot?1;
????~*backdoor?1;
????~*crawler?1;
????~*bandit?1;
}
然后將如下語(yǔ)句放入配置文件的server模塊內(nèi):
include?/etc/nginx/blockuseragents.rules;
并加入if語(yǔ)句設(shè)置阻止后進(jìn)入的頁(yè)面:

5: 禁掉不需要的 HTTP 方法

例如一些web站點(diǎn)和應(yīng)用,可以只支持GET、POST和HEAD方法。
在配置文件中的server模塊加入如下方法可以阻止一些欺騙攻擊

if?($request_method?!~?^(GET|HEAD|POST)$)?{
return?444;
}

6: 設(shè)置緩沖區(qū)容量上限

這樣的設(shè)置可以阻止緩沖區(qū)溢出攻擊(同樣是Server模塊)

client_body_buffer_size?1k;
client_header_buffer_size?1k;
client_max_body_size?1k;
large_client_header_buffers?2?1k;
#設(shè)置后,不管多少HTTP請(qǐng)求都不會(huì)使服務(wù)器系統(tǒng)的緩沖區(qū)溢出了。

7: 限制最大連接數(shù)

  • 在http模塊內(nèi),server模塊外設(shè)置limit_conn_zone,可以設(shè)置連接的IP
  • 在http,server或location模塊設(shè)置limit_conn,可以設(shè)置IP的最大連接數(shù)
    例如:
limit_conn_zone?$binary_remote_addr?zone=addr:5m;
limit_conn?addr?1;

8: 設(shè)置日志監(jiān)控

上面的截圖中已經(jīng)有了,如何設(shè)置nginx日志

你或許需要拿一下因?yàn)榈?點(diǎn)的設(shè)置訪(fǎng)問(wèn)失敗的日志

grep?addr?/var/www/logs/tecmintlovesnginx.error.log?--color=auto

同時(shí)你在日志中還可以篩選如下內(nèi)容:

  • 客戶(hù)端IP
  • 瀏覽器類(lèi)型
  • HTTP請(qǐng)求方法
  • 請(qǐng)求內(nèi)容
  • 服務(wù)器相應(yīng)

9: 阻止圖片外鏈自你的服務(wù)器

這樣做顯然會(huì)增加你服務(wù)器的帶寬壓力。
假設(shè)你有一個(gè)img目錄用來(lái)存儲(chǔ)圖片,你自己的IP是192.168.0.25,加入如下配置可以防止外鏈

location?/img/?{
??????valid_referers?none?blocked?192.168.0.25;
????????if?($invalid_referer)?{
??????????return?403;
??????}
}

10: 禁止 SSL 并且只打開(kāi) TLS

只要可以的話(huà),盡量避免使用SSL,要用TLS替代,以下設(shè)置可以放在Server模塊內(nèi):

ssl_protocols?TLSv1?TLSv1.1?TLSv1.2;

11: 做證書(shū)加密(HTTPS)

首先生成密鑰和整數(shù),用以下哪種都可以:

#?openssl?genrsa?-aes256?-out?tecmintlovesnginx.key?1024
#?openssl?req?-new?-key?tecmintlovesnginx.key?-out?tecmintlovesnginx.csr
#?cp?tecmintlovesnginx.key?tecmintlovesnginx.key.org
#?openssl?rsa?-in?tecmintlovesnginx.key.org?-out?tecmintlovesnginx.key
#?openssl?x509?-req?-days?365?-in?tecmintlovesnginx.csr?-signkey?tecmintlovesnginx.key?-out?tecmintlovesnginx.crt
#然后配置Server模塊
server?{
??????listen?192.168.0.25:443?ssl;
??????server_tokens?off;
??????server_name?tecmintlovesnginx.com?www.tecmintlovesnginx.com;
??????root?/var/www/tecmintlovesnginx.com/public_html;
??????ssl_certificate?/etc/nginx/sites-enabled/certs/tecmintlovesnginx.crt;
??????ssl_certificate_key?/etc/nginx/sites-enabled/certs/tecmintlovesnginx.key;
??????ssl_protocols?TLSv1?TLSv1.1?TLSv1.2;
}

12: 重定向HTTP請(qǐng)求到HTTPS

在第11點(diǎn)基礎(chǔ)上增加
return?301?https://$server_name$request_uri;

當(dāng)前題目:終極指南:提高Nginx服務(wù)器硬度的12個(gè)技巧
標(biāo)題路徑:http://www.dlmjj.cn/article/coigcee.html