最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx安全防護與HTTPS部署實戰(zhàn)

 更新時間:2026年04月09日 08:55:18   作者:枕布響丸辣  
文章介紹了Nginx安全加固與HTTPS部署,從編譯安裝、隱藏版本號、限制危險請求、請求限制、防盜鏈、動態(tài)黑名單、HTTPS部署等方面進行了詳細說明,需要的朋友可以參考下

前言

在互聯(lián)網(wǎng)高速發(fā)展的今天,Web 服務安全已成為企業(yè)與開發(fā)者必須重視的核心問題。Nginx 憑借輕量、高并發(fā)、模塊化設計,占據(jù)全球近三分之一 Web 服務器市場。但 DDoS、CC 攻擊、惡意爬蟲、SQL 注入等威脅層出不窮,加之 GDPR、等保 2.0 等法規(guī)要求,掌握 Nginx 安全加固與 HTTPS 部署,已是運維與開發(fā)人員的必備技能。

一、Nginx 核心安全配置(生產(chǎn)必配)

1. 編譯安裝 Nginx(安全基礎)

生產(chǎn)環(huán)境不推薦 yum 直接安裝,編譯安裝可按需開啟模塊、關閉危險功能,安全性更高。

(1)安裝依賴包

dnf install -y gcc make pcre-devel zlib-devel openssl-devel perl-ExtUtils-MakeMaker git wget tar

(2)創(chuàng)建專用運行用戶(最小權(quán)限原則)

禁止 nginx 使用 root 運行,降低入侵后風險:

useradd -M -s /sbin/nologin nginx
mkdir -p /var/log/nginx
chown -R nginx:nginx /var/log/nginx

(3)編譯配置(開啟安全必備模塊)

tar zxf nginx-1.26.3.tar.gz
cd nginx-1.26.3
./configure \
  --prefix=/usr/local/nginx \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_v2_module \
  --with-http_realip_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --with-pcre \
  --with-stream

make && make install

(4)創(chuàng)建軟鏈接、配置系統(tǒng)服務

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

新建 systemd 服務文件:

vi /lib/systemd/system/nginx.service

寫入內(nèi)容:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/sbin/nginx -t
ExecStart=/usr/local/sbin/nginx
ExecReload=/usr/local/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
User=root
Group=root
[Install]
WantedBy=multi-user.target

啟動并設置開機自啟:

systemctl daemon-reload
systemctl start nginx
systemctl enable nginx

2. 隱藏 Nginx 版本號(防版本定向攻擊)

攻擊者可通過版本號查找對應 CVE 漏洞,生產(chǎn)環(huán)境必須隱藏

查看版本號

curl -I 192.168.10.101
# 返回:Server: nginx/1.26.3

關閉版本顯示

vi /usr/local/nginx/conf/nginx.conf

http塊中添加:

http {
    server_tokens off;
}

重載配置:

nginx -t && nginx -s reload

再次驗證:

curl -I 192.168.10.101
# 返回:Server: nginx(無版本號)

3. 限制危險 HTTP 請求方法

HTTP 中PUT/DELETE/CONNECT/TRACE等方法存在高危風險:

  • PUT/DELETE:可上傳 / 刪除文件
  • TRACE:易導致 XST 攻擊
  • CONNECT:可被用于代理濫用

只放行GET/HEAD/POST,其他直接返回 444 斷開連接。

配置:

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

測試:

curl -XPUT -I 192.168.10.101
# 返回 Empty reply from server

注意:TRACE/CONNECT 會被 Nginx 核心層直接攔截,返回 405/400,不會進入 if 判斷。

4. 請求限制(CC 攻擊防御核心)

CC 攻擊通過海量請求耗盡服務器資源,Nginx 自帶limit_req模塊可精準限速。

配置請求速率限制

http {
    # 定義限流區(qū)域:10M內(nèi)存,按IP限速,10請求/秒
    limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
    server {
        location / {
            root html;
            index index.html;
            # 突發(fā)隊列20,不延遲直接處理
            limit_req zone=req_limit burst=20 nodelay;
        }
    }
}

關鍵參數(shù)說明

  • limit_req_zone:定義共享內(nèi)存,存儲 IP 訪問狀態(tài)
  • $binary_remote_addr:以客戶端 IP 為維度限流
  • rate=10r/s:每秒最多 10 個請求
  • burst=20:緩沖隊列,超出速率的請求排隊
  • nodelay:隊列請求立即處理,否則會延遲返回

壓力測試驗證

安裝 ab 工具:

dnf install httpd-tools -y

發(fā)起 300 請求,30 并發(fā):

ab -n 300 -c 30 http://192.168.10.101/

查看日志:

tail -300 /usr/local/nginx/logs/access.log | grep -c 503

大量請求返回 503,限流生效。

5. 防盜鏈配置(保護靜態(tài)資源)

盜鏈會消耗服務器帶寬、侵犯版權(quán),Nginx 可通過referer機制攔截。

實驗環(huán)境

  • 源站:www.aaa.com 192.168.10.101
  • 盜鏈站:www.bbb.com 192.168.10.102

配置防盜鏈

location ~* \.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|webp|ico)$ {
    root html;
    # 信任域名
    valid_referers aaa.com *.aaa.com;
    # 非法referer返回403
    if ($invalid_referer) {
        return 403;
    }
}

配置后,盜鏈網(wǎng)站直接顯示圖片 403,防護生效。

二、Nginx 高級防護(進階安全)

1. 動態(tài)黑名單(實時封禁惡意 IP)

靜態(tài)allow/deny需要重啟服務,動態(tài)黑名單可熱加載,無需重啟。

(1)創(chuàng)建黑名單文件

vi /usr/local/nginx/conf/blockips.conf

寫入:

192.168.1.0/24 1;
192.168.10.102 1;

數(shù)字含義

  • 0:允許
  • 1:返回 403 封禁
  • 2:返回 444 斷開
  • 3:返回 503

(2)主配置加載

http {
    geo $block_ip {
        default 0;
        include /usr/local/nginx/conf/blockips.conf;
    }
    server {
        if ($block_ip) {
            return 403;
        }
    }
}

重載:

nginx -t && nginx -s reload

(3)自動封禁高頻 IP 腳本

#!/bin/bash
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | awk '{if($1>100) print $2" 1;"}' > /usr/local/nginx/conf/blockips.conf

訪問量超 100 的 IP 自動加入黑名單,配合定時任務使用。

三、Nginx HTTPS 部署(全站加密)

1. HTTPS 核心原理

HTTPS = HTTP + SSL/TLS,解決 HTTP 三大風險:

  • 竊 聽風險:明文傳輸可被截取
  • 篡改風險:數(shù)據(jù)被中間人修改
  • 冒充風險:訪問釣魚網(wǎng)站

HTTPS 采用混合加密

  • 握手階段:非對稱加密(公鑰 / 私鑰)交換會話密鑰
  • 傳輸階段:對稱加密加密業(yè)務數(shù)據(jù),效率更高

數(shù)字證書解決公鑰信任問題,由 CA 機構(gòu)簽名,系統(tǒng)內(nèi)置根證書信任。

2. 生成自簽名證書(測試環(huán)境)

生產(chǎn)請使用 Let’s Encrypt、DigiCert 等正規(guī) CA 證書。

mkdir -p /etc/nginx/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx-selfsigned.key -out /etc/nginx/ssl/nginx-selfsigned.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/CN=localhost"

3. Nginx 配置 HTTPS

server {
    listen 443 ssl;
    server_name localhost;
    # 證書路徑
    ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key;
    # 安全協(xié)議與加密套件
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers on;
    location / {
        root /usr/local/nginx/html;
        index index.html;
    }
}
# HTTP強制跳轉(zhuǎn)HTTPS
server {
    listen 80;
    server_name localhost;
    return 301 https://$host$request_uri;
}

重載配置:

nginx -t && nginx -s reload

4. 驗證 HTTPS

訪問https://服務器IP,瀏覽器提示證書不安全(自簽名),測試環(huán)境可忽略。生產(chǎn)環(huán)境使用受信任證書后,瀏覽器顯示安全鎖,支持 HTTP/2,SEO 權(quán)重更高。

四、生產(chǎn)環(huán)境安全加固總結(jié)

  1. 最小權(quán)限:使用專用 nginx 用戶,禁止 root 運行
  2. 隱藏信息:關閉版本號、隱藏服務器信息
  3. 請求限流:limit_req 防 CC,limit_conn 防并發(fā)過量
  4. 方法限制:只放行 GET/HEAD/POST
  5. 防盜鏈:保護靜態(tài)資源,減少帶寬浪費
  6. 動態(tài)黑名單:實時封禁惡意 IP
  7. 全站 HTTPS:開啟 TLS1.2+,禁用不安全協(xié)議
  8. 定期更新:Nginx 保持最新版,修復 CVE 漏洞

五、結(jié)語

Nginx 安全防護不是一次性配置,而是持續(xù)優(yōu)化的過程。本文覆蓋的編譯加固、版本隱藏、請求限流、防盜鏈、動態(tài)黑名單、HTTPS 部署,可直接應用于中小企業(yè)生產(chǎn)環(huán)境,大幅提升 Web 服務安全性。

以上就是Nginx安全防護與HTTPS部署實戰(zhàn)的詳細內(nèi)容,更多關于Nginx安全防護與HTTPS部署的資料請關注腳本之家其它相關文章!

相關文章

  • Nginx實現(xiàn)靜態(tài)資源的反向代理實例

    Nginx實現(xiàn)靜態(tài)資源的反向代理實例

    這篇文章主要介紹了Nginx實現(xiàn)靜態(tài)資源的反向代理實例,本文通過分析github發(fā)現(xiàn)這個應用,可以避免在https的網(wǎng)站中出現(xiàn)http鏈接,需要的朋友可以參考下
    2015-03-03
  • Nginx中動態(tài)upstream域名解析失效問題解決的幾種方法

    Nginx中動態(tài)upstream域名解析失效問題解決的幾種方法

    本文主要介紹了Nginx中實現(xiàn)動態(tài)解析upstream域名的方法,強調(diào)了使用resolver指令與變量觸發(fā)、作用域正確、配置兼容三要素的重要性,并提供了四種解決方案,下面就來詳細的介紹一下
    2026-04-04
  • Nginx實現(xiàn)UDP四層轉(zhuǎn)發(fā)的過程

    Nginx實現(xiàn)UDP四層轉(zhuǎn)發(fā)的過程

    為了解決VPN連接速度慢的問題,可以通過Nginx實現(xiàn)UDP的四層轉(zhuǎn)發(fā),首先檢查Nginx是否安裝了with-stream模塊,然后修改nginx.conf配置文件進行UDP端口的轉(zhuǎn)發(fā)設置,使用nginx-t檢查配置文件語法,無誤后重新加載Nginx,這樣通過國內(nèi)服務器中轉(zhuǎn),可以提升連接到國外服務器的速率
    2024-09-09
  • 解決使用了nginx獲取IP地址都是127.0.0.1 的問題

    解決使用了nginx獲取IP地址都是127.0.0.1 的問題

    這篇文章主要介紹了解決使用了nginx獲取IP地址都是127.0.0.1 的問題,獲取i工具的完整代碼文中給大家提到,具體實例代碼跟隨小編一起看看吧
    2021-09-09
  • nginx中配置pathinfo模式示例

    nginx中配置pathinfo模式示例

    這篇文章主要介紹了nginx中配置pathinfo模式示例,本文詳細記錄了摸索過程和成功的配置案例,需要的朋友可以參考下
    2014-08-08
  • nginx slice模塊的使用和源碼分析小結(jié)

    nginx slice模塊的使用和源碼分析小結(jié)

    很多請求都會去訪問一個巨大的文件,這個時候slice模塊就有了用武之地,本文主要介紹了nginx slice模塊的使用和源碼分析,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • nginx 訪問限制與訪問控制的實現(xiàn)

    nginx 訪問限制與訪問控制的實現(xiàn)

    訪問控制要做的事情是控制客戶端的資源訪問權(quán)限,本文主要介紹了nginx 訪問限制與訪問控制的實現(xiàn),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • 排查Openresty獲取不到Host請求頭解決過程詳解

    排查Openresty獲取不到Host請求頭解決過程詳解

    這篇文章主要為大家介紹了排查Openresty獲取不到Host請求頭解決過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 安裝配置php-fpm來搭建Nginx+PHP的生產(chǎn)環(huán)境

    安裝配置php-fpm來搭建Nginx+PHP的生產(chǎn)環(huán)境

    這篇文章主要介紹了安裝配置php-fpm來搭建Nginx+PHP的生產(chǎn)環(huán)境的方法,php-fpm的作用是將FastCGI進程管理整合進PHP包,需要的朋友可以參考下
    2016-01-01
  • 阿里云部署Ubuntu 1.4 Flask + WSGI + Nginx 詳解

    阿里云部署Ubuntu 1.4 Flask + WSGI + Nginx 詳解

    本文解決的是 Flask 最后一公里的問題:Linux 部署,需要的朋友可以參考下
    2017-12-12

最新評論

南宁市| 大竹县| 揭东县| 梁河县| 赫章县| 潢川县| 花垣县| 塔河县| 邵东县| 利川市| 乌兰浩特市| 宁蒗| 察隅县| 桂平市| 伊春市| 武义县| 安多县| 德保县| 九江市| 上思县| 镇远县| 搜索| 洛隆县| 钦州市| 天长市| 启东市| 治县。| 平谷区| 祁阳县| 沭阳县| 南昌县| 佳木斯市| 尉犁县| 桐城市| 准格尔旗| 定南县| 聂拉木县| 都匀市| 阜康市| 虹口区| 蒲江县|