免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

這樣配置,讓Nginx更安全

:2024年12月27日 trymoLiu
分享到:

引言作為使用最廣泛的Web服務(wù)器之一,Nginx的安全配置顯得尤為重要。本文將從多個維度詳細介紹如何增強Nginx的安全性,幫助開發(fā)運維人員構(gòu)建一個更安全的Web服務(wù)環(huán)境。基礎(chǔ)安全配置1.隱藏版本號信息默認...

引言

作為使用最廣泛的Web服務(wù)器之一,Nginx的安全配置顯得尤為重要。本文將從多個維度詳細介紹如何增強Nginx的安全性,幫助開發(fā)運維人員構(gòu)建一個更安全的Web服務(wù)環(huán)境。

一、基礎(chǔ)安全配置

1. 隱藏版本號信息

默認情況下,Nginx會在響應(yīng)頭中顯示版本號,這可能會給攻擊者提供服務(wù)器信息。攻擊者可以根據(jù)版本號查找對應(yīng)版本的已知漏洞進行定向攻擊。

http {

# 關(guān)閉在響應(yīng)頭中顯示Nginx版本號

# 默認響應(yīng)頭: Server: nginx/1.18.0

# 關(guān)閉后響應(yīng)頭: Server: nginx

server_tokens off;

}

2. 配置安全Headers

添加安全相關(guān)的HTTP響應(yīng)頭,可以有效防御常見的Web攻擊:

# 防止網(wǎng)站被嵌入惡意網(wǎng)頁中,避免點擊劫持

add_header X-Frame-Options "SAMEORIGIN";

# 啟用瀏覽器XSS防護功能,并在檢測到攻擊時,停止渲染頁面

add_header X-XSS-Protection "1; mode=block";

# 禁止瀏覽器猜測(嗅探)資源的MIME類型,防止資源類型混淆攻擊

add_header X-Content-Type-Options "nosniff";

# 控制引用地址信息的傳遞,增強隱私保護

add_header Referrer-Policy "strict-origin-origin-when-cross-origin";

# 內(nèi)容安全策略,控制資源加載來源,防止XSS等攻擊

# default-src 'self': 只允許加載同源資源

# http: https:: 允許通過HTTP和HTTPS加載資源

# data:: 允許data:URI的資源(如base64編碼的圖片)

# blob:: 允許blob:URI的資源(如視頻流)

# 'unsafe-inline': 允許內(nèi)聯(lián)腳本和樣式(根據(jù)需要配置)

add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'";

二、訪問控制優(yōu)化

1. 限制連接數(shù)

為防止DOS攻擊,應(yīng)該限制單個IP的連接數(shù)和請求頻率:

http {

# 定義一個共享內(nèi)存區(qū)域,用于存儲IP連接數(shù)信息

# $binary_remote_addr: 使用二進制格式存儲客戶端IP,節(jié)省空間

# zone=addr:10m: 指定共享內(nèi)存區(qū)域名稱為addr,大小為10MB

limit_conn_zone $binary_remote_addr zone=addr:10m;

# 限制每個IP同時最多100個連接

limit_conn addr 100;

# 定義請求頻率限制,每個IP每秒最多10個請求

# rate=10r/s: 每秒10個請求

limit_req_zone $binary_remote_addr zone=req_zone:10m rate=10r/s;

# 應(yīng)用請求頻率限制,burst=20表示最多允許20個請求排隊

limit_req zone=req_zone burst=20 nodelay;

}

2. 配置白名單

對于管理后臺等敏感區(qū)域,建議配置IP白名單:

location /admin/ {

# 允許內(nèi)網(wǎng)IP段訪問

# 192.168.1.0/24: 允許192.168.1.x網(wǎng)段的所有IP

allow 192.168.1.0/24;

# 允許另一個內(nèi)網(wǎng)IP段訪問

allow 10.0.0.0/8;

# 拒絕其他所有IP訪問

deny all;

# 開啟基礎(chǔ)認證

auth_basic "Restricted Access";

auth_basic_user_file /etc/nginx/.htpasswd;

}

三、SSL/TLS安全配置

1. 啟用HTTPS

配置SSL證書并強制HTTPS訪問:

server {

# 監(jiān)聽443端口,啟用SSL

listen 443 ssl;

# 指定SSL證書路徑

ssl_certificate /path/to/cert.pem;

ssl_certificate_key /path/to/key.pem;

# 將所有HTTP請求重定向到HTTPS

if ($scheme != "https") {

return 301 https://$server_name$request_uri;

}

# 啟用HSTS,強制瀏覽器在指定時間內(nèi)使用HTTPS訪問

add_header Strict-Transport-Security "max-age=31536000" always;

}

2. 優(yōu)化SSL配置

使用更安全的SSL配置參數(shù):

# 只允許TLS 1.2和1.3版本,禁用不安全的SSL和早期TLS版本

ssl_protocols TLSv1.2 TLSv1.3;

# 配置加密套件,按推薦順序排列

# ECDHE: 使用橢圓曲線密鑰交換

# AES-GCM: 使用AES-GCM加密模式

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;

# 優(yōu)先使用服務(wù)器的加密套件

ssl_prefer_server_ciphers on;

# 配置SSL會話緩存,提高性能

# shared:SSL:10m: 所有工作進程共享的緩存,大小為10MB

ssl_session_cache shared:SSL:10m;

# SSL會話超時時間

ssl_session_timeout 10m;

# 啟用OCSP Stapling,提供證書狀態(tài)信息

ssl_stapling on;

ssl_stapling_verify on;

resolver 8.8.8.8 8.8.4.4 valid=300s;

resolver_timeout 5s;

四、文件上傳安全

1. 限制上傳文件大小

防止通過上傳大文件耗盡服務(wù)器資源:

# 限制請求體大小,即上傳文件的最大大小為10MB

client_max_body_size 10m;

# 設(shè)置請求體緩沖區(qū)大小為128KB

# 超過此大小的請求體會被寫入臨時文件

client_body_buffer_size 128k;

# 配置臨時文件存儲路徑

client_body_temp_path /var/nginx/client_body_temp;

2. 配置上傳目錄權(quán)限

確保上傳目錄的權(quán)限配置正確:

location /uploads/ {

# 指定上傳根目錄

root /var/www/uploads;

# 指定臨時文件目錄

client_body_temp_path /var/www/tmp;

# 允許的WebDAV方法

dav_methods PUT DELETE MKCOL COPY MOVE;

# 自動創(chuàng)建上傳目錄

create_full_put_path on;

# 設(shè)置目錄訪問權(quán)限

# user:rw - 文件所有者可讀寫

# group:rw - 組用戶可讀寫

# all:r - 其他用戶只讀

dav_access user:rw group:rw all:r;

# 限制上傳文件類型

if ($request_filename ~* ^.*?\.(php|php5|sh|pl|py)$) {

return 403;

}

}

五、防止常見攻擊

1. 防止SQL注入

配置特殊字符過濾:

location / {

# 檢查URL中是否包含特殊字符

# 如果包含分號、單引號、尖括號等字符,返回444狀態(tài)碼

# 444是Nginx特殊狀態(tài)碼,表示關(guān)閉連接而不發(fā)送響應(yīng)頭

if ($request_uri ~* [;'<>] ) {

return 444;

}

# 檢查查詢字符串中的特殊字符

if ($args ~* [;'<>] ) {

return 444;

}

# 保護敏感URI

location ~* /(admin|backup|config|db|src)/ {

deny all;

}

}

2. 防止目錄遍歷

禁止訪問隱藏文件和目錄:

# 禁止訪問所有以點開頭的隱藏文件和目錄

location ~ /\. {

# 拒絕所有請求

deny all;

# 禁止記錄訪問日志

access_log off;

# 禁止記錄404錯誤日志

log_not_found off;

}

# 禁止訪問特定目錄

location ~* ^/(uploads|images)/.*\.(php|php5|sh|pl|py|asp|aspx|jsp)$ {

deny all;

}

# 防止目錄列表

location / {

autoindex off;

}

六、日志安全

1. 配置訪問日志

詳細記錄訪問信息,便于安全分析:

# 定義詳細的日志格式

log_format detailed '$remote_addr - $remote_user [$time_local] '  # 記錄客戶端IP和訪問時間

'"$request" $status $body_bytes_sent '        # 記錄請求信息、狀態(tài)碼和發(fā)送字節(jié)數(shù)

'"$http_referer" "$http_user_agent" '        # 記錄來源頁面和用戶代理

'$request_time $upstream_response_time';      # 記錄請求處理時間和上游響應(yīng)時間

# 配置訪問日志

# buffer=32k: 使用32KB緩沖區(qū)

# flush=5s: 每5秒刷新一次日志

access_log /var/log/nginx/access.log detailed buffer=32k flush=5s;

# 對于靜態(tài)資源,可以關(guān)閉訪問日志以提高性能

location /static/ {

access_log off;

}

2. 配置錯誤日志

設(shè)置適當?shù)腻e誤日志級別:

# 設(shè)置錯誤日志級別為warn

# 可選級別: debug, info, notice, warn, error, crit, alert, emerg

error_log /var/log/nginx/error.log warn;

# 對于開發(fā)環(huán)境,可以使用debug級別獲取更多信息

# error_log /var/log/nginx/error.log debug;

七、其他安全措施

1. 禁止執(zhí)行腳本

在靜態(tài)資源目錄中禁止執(zhí)行腳本:

location /static/ {

# 禁止執(zhí)行PHP文件

location ~ \.(php|php5)$ {

deny all;

}

# 只允許特定文件類型

location ~* \.(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2|ttf|eot)$ {

expires 30d;  # 設(shè)置緩存時間

add_header Cache-Control "public, no-transform";

}

}

2. 配置超時時間

設(shè)置合理的超時參數(shù),防止慢速攻擊:

# 客戶端請求體超時時間,單位秒

client_body_timeout 10;

# 客戶端請求頭超時時間

client_header_timeout 10;

# 客戶端保持連接超時時間

# 第一個參數(shù)是客戶端超時時間

# 第二個參數(shù)是在響應(yīng)頭中的Keep-Alive超時時間

keepalive_timeout 5 5;

# 向客戶端發(fā)送響應(yīng)的超時時間

send_timeout 10;

# 讀取代理服務(wù)器響應(yīng)的超時時間

proxy_read_timeout 10;

# 連接代理服務(wù)器的超時時間

proxy_connect_timeout 10;

總結(jié)

以上配置涵蓋了Nginx安全加固的主要方面,每個配置都附帶了詳細的解釋和注釋。在實際應(yīng)用中,建議根據(jù)具體的業(yè)務(wù)需求和安全級別要求,對這些配置進行適當?shù)恼{(diào)整。同時,要注意以下幾點:

  1. 定期更新Nginx到最新的穩(wěn)定版本

  2. 使用配置文件包含(include)來組織大型配置

  3. 在應(yīng)用配置前,使用 nginx -t 檢查配置正確性

  4. 定期檢查日志文件,及時發(fā)現(xiàn)安全問題

  5. 配合WAF(Web應(yīng)用防火墻)使用,提供更全面的安全防護

原文來源:https://mp.weixin.qq.com/s/OvKZE9wbGzlSL3pu0_2LXg

[我要糾錯]
文:王振袢&發(fā)表于江蘇
關(guān)鍵詞: 引言 作為 使用 廣泛 服務(wù)器

來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請聯(lián)系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內(nèi)容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權(quán)及插圖屬于原作者。

點個贊
0
踩一腳
0

您在閱讀:這樣配置,讓Nginx更安全

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權(quán)利

蘇公網(wǎng)安備32010402000125 蘇ICP備14051488號-3技術(shù)支持:南京博盛藍睿網(wǎng)絡(luò)科技有限公司

南京思必達教育科技有限公司版權(quán)所有   百度統(tǒng)計

主站蜘蛛池模板: 日韩亚洲欧美综合 | 成人国产在线视频在线观看 | 好色在线| 老湿机福利影院 | 成人小视频免费 | 国产一级特黄a大片99 | 黄瓜视频深夜释放自己 | 久久一本综合 | 中文字幕一区二区三区乱码aⅴ | 午夜影片| 色的视频在线观看免费播放 | 91精品欧美成人 | 一级黄色免费片 | 躁夜夜躁| 亚洲欧美另类在线观看 | 免费观看欧美一区二区三区 | 免费一级欧美大片在线观看 | 黄色短视频网站 | 狠狠躁夜夜躁人人躁婷婷视频 | 曰曰啪天天拍视频在线 | 欧美综合区自拍亚洲综合 | 欧美成人午夜不卡在线视频 | 一区二区3区免费视频 | 激情五月婷婷网 | 88av色| 人人爱天天做夜夜爽 | 国产好片无限资源 | 一二三四视频社区5在线高清视频 | gogo大胆全球裸xxxx | 91精品国产乱码久久久久久 | 91精品国产91久久久久久青草 | 人人公开免费超级碰碰碰视频 | 天天爽天天爽天天片a久久网 | 日韩欧美高清在线观看 | 日本国产一区在线观看 | 337p色噜噜人体大胆欧美 | 一个人看的在线www高清视频 | 无遮挡一级毛片视频 | 麻豆国产成人精品午夜视频 | 日韩污视频 | 久草福利免费 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產(chǎn)品享最低成本,有需要聯(lián)系,
  • 卡爾蔡司鏡片優(yōu)惠店,鏡片價格低
  • 蘋果原裝手機殼