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

這樣配置,讓Nginx更安全

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

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

引言

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

一、基礎安全配置

1. 隱藏版本號信息

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

http {

# 關閉在響應頭中顯示Nginx版本號

# 默認響應頭: Server: nginx/1.18.0

# 關閉后響應頭: Server: nginx

server_tokens off;

}

2. 配置安全Headers

添加安全相關的HTTP響應頭,可以有效防御常見的Web攻擊:

# 防止網站被嵌入惡意網頁中,避免點擊劫持

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";

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

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

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

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

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

# 'unsafe-inline': 允許內聯腳本和樣式(根據需要配置)

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

二、訪問控制優化

1. 限制連接數

為防止DOS攻擊,應該限制單個IP的連接數和請求頻率:

http {

# 定義一個共享內存區域,用于存儲IP連接數信息

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

# zone=addr:10m: 指定共享內存區域名稱為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;

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

limit_req zone=req_zone burst=20 nodelay;

}

2. 配置白名單

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

location /admin/ {

# 允許內網IP段訪問

# 192.168.1.0/24: 允許192.168.1.x網段的所有IP

allow 192.168.1.0/24;

# 允許另一個內網IP段訪問

allow 10.0.0.0/8;

# 拒絕其他所有IP訪問

deny all;

# 開啟基礎認證

auth_basic "Restricted Access";

auth_basic_user_file /etc/nginx/.htpasswd;

}

三、SSL/TLS安全配置

1. 啟用HTTPS

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

server {

# 監聽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,強制瀏覽器在指定時間內使用HTTPS訪問

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

}

2. 優化SSL配置

使用更安全的SSL配置參數:

# 只允許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;

# 優先使用服務器的加密套件

ssl_prefer_server_ciphers on;

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

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

ssl_session_cache shared:SSL:10m;

# SSL會話超時時間

ssl_session_timeout 10m;

# 啟用OCSP Stapling,提供證書狀態信息

ssl_stapling on;

ssl_stapling_verify on;

resolver 8.8.8.8 8.8.4.4 valid=300s;

resolver_timeout 5s;

四、文件上傳安全

1. 限制上傳文件大小

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

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

client_max_body_size 10m;

# 設置請求體緩沖區大小為128KB

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

client_body_buffer_size 128k;

# 配置臨時文件存儲路徑

client_body_temp_path /var/nginx/client_body_temp;

2. 配置上傳目錄權限

確保上傳目錄的權限配置正確:

location /uploads/ {

# 指定上傳根目錄

root /var/www/uploads;

# 指定臨時文件目錄

client_body_temp_path /var/www/tmp;

# 允許的WebDAV方法

dav_methods PUT DELETE MKCOL COPY MOVE;

# 自動創建上傳目錄

create_full_put_path on;

# 設置目錄訪問權限

# 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狀態碼

# 444是Nginx特殊狀態碼,表示關閉連接而不發送響應頭

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 '        # 記錄請求信息、狀態碼和發送字節數

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

'$request_time $upstream_response_time';      # 記錄請求處理時間和上游響應時間

# 配置訪問日志

# buffer=32k: 使用32KB緩沖區

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

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

# 對于靜態資源,可以關閉訪問日志以提高性能

location /static/ {

access_log off;

}

2. 配置錯誤日志

設置適當的錯誤日志級別:

# 設置錯誤日志級別為warn

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

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

# 對于開發環境,可以使用debug級別獲取更多信息

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

七、其他安全措施

1. 禁止執行腳本

在靜態資源目錄中禁止執行腳本:

location /static/ {

# 禁止執行PHP文件

location ~ \.(php|php5)$ {

deny all;

}

# 只允許特定文件類型

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

expires 30d;  # 設置緩存時間

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

}

}

2. 配置超時時間

設置合理的超時參數,防止慢速攻擊:

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

client_body_timeout 10;

# 客戶端請求頭超時時間

client_header_timeout 10;

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

# 第一個參數是客戶端超時時間

# 第二個參數是在響應頭中的Keep-Alive超時時間

keepalive_timeout 5 5;

# 向客戶端發送響應的超時時間

send_timeout 10;

# 讀取代理服務器響應的超時時間

proxy_read_timeout 10;

# 連接代理服務器的超時時間

proxy_connect_timeout 10;

總結

以上配置涵蓋了Nginx安全加固的主要方面,每個配置都附帶了詳細的解釋和注釋。在實際應用中,建議根據具體的業務需求和安全級別要求,對這些配置進行適當的調整。同時,要注意以下幾點:

  1. 定期更新Nginx到最新的穩定版本

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

  3. 在應用配置前,使用 nginx -t 檢查配置正確性

  4. 定期檢查日志文件,及時發現安全問題

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

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

[我要糾錯]
文:王振袢&發表于江蘇
關鍵詞: 引言 作為 使用 廣泛 服務器

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

點個贊
0
踩一腳
0

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

Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利

蘇公網安備32010402000125 蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司

南京思必達教育科技有限公司版權所有   百度統計

主站蜘蛛池模板: 两性色午夜视频自由成熟的性 | 亚洲天堂精品在线观看 | 亚洲色图第1页 | 顶级毛片在线手机免费看 | 日韩精品欧美精品中文精品 | 九九色视频 | 色偷偷人人 | 91成人高清在线播放 | 亚洲国产成人资源在线软件 | 欧美性受xxxx | 最近免费中文字幕大全视频 | 一级毛片在线播放免费 | jk制服喷水| 欧美成人欧美激情欧美风情 | 免费国产成人手机在线观看 | 天天上天天操 | 黄色视屏在线 | 国产 日韩 欧美 亚洲 | 午夜国产福利在线观看 | 狠狠色噜噜狠狠狠狠五月婷 | 日韩永久在线观看免费视频 | 日本人免费xxx在线视频 | 99精品久久久久久久免费看蜜月 | 天天躁日日躁aaaaxxxx | 极品福利视频 | 中文字幕视频免费在线观看 | 一个人看的www视频免费 | 国产午夜一区二区在线观看 | 最新男同志freevideos | 欧美在线伊人 | 一区二区三区视频在线 | 免费人成网站 | 寡妇一级a毛片免费播放 | 日本三级成人午夜视频网 | 瑟瑟漫画在线观看 | 欧美高清在线精品一区二区不卡 | 成人影库 | 两个人看的www中文字幕 | 午夜影院免费体验 | 五月在线视频 | 欧美日韩不卡在线 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產品享最低成本,有需要聯系,
  • 卡爾蔡司鏡片優惠店,鏡片價格低
  • 蘋果原裝手機殼