Nginx安全防護與HTTPS部署

目錄

?Nginx 隱藏版本號

?限制危險請求方法

?請求限制(CC攻擊防御)

?壓力測試

?防盜鏈

?防止防盜鏈

?動態黑名單

?自動添加黑名單

?HTTPS配置

? ? ? ? HTTPS 概念

? ? ? ? 安全通信的四大原則

????????HTTPS的幾種加密方式

????????nginx https的作用


Nginx 隱藏版本號

? ? ? ? !!!注意 每個配置過的文件都要重啟nginx 注意!!!!

? ? ? ? !!!配置文件 要及時覆蓋掉 或者刪除掉 要不然會有沖突 !!!!

? ? ? ? 在生產環境中,需要隱藏Nginx的版本號,以避免泄漏 nginx的版本,使攻擊者不能針對特定的版本進行攻擊;在隱藏版本號之前可以使用Fiddler 工具抓取數據包,查看nginx版本,也可以在OpenEuler 中使用命令curl -I 查看

? ? ? ? 修改配置文件(vim /etc/nginx/conf/nginx.conf)

? ? ? ? 配置前 是可以看到版本號的?

? ????????????????? ? ?

? ? ? ? 驗證:

? ? ? ????????? ?

?限制危險請求方法

?驗證:

????????

?請求限制(CC攻擊防御)

? ? ? ? 驗證:?

vim /usr/local/nginx/html/index.html        #內容隨便寫
111111111for i in $(seq 100);do curl 192.168.10.101;done     #訪問多次就訪問失敗了
curl 192。168.10.101            #單個訪問就可以訪問到

?壓力測試

? ? ? ? 在另外一臺電腦上下載? httpd-tools

?????????驗證:? ? ? ? 也可以通過訪問nginx的日志信息訪問的次數

? ? ? ? 防盜鏈

? ? ? ? 先修改win10的hosts文件?

? ? ? ? 同時;也要修改Linux系統中的hosts文件

?

vim /uar/local/nginx/conf/nginx.conf
server {listen       80;server_name  www.aaa.com;cd /usr/local/nginx/html/(將所需要的圖片放到該目錄下)
vim  index.html(里面內容全刪掉)
<h1>nihao zhshi wo de touxiang </h1>		#這個是網站的首行,可以隨便寫 記得區分兩個網站
<img src="111.jpg"/>		#“111.jpg”是我當前目錄下的照片

?????????????????????????????????????????????????????????????????????????????????????????????

? ? ? ? 102下載httpd

dnf -y install httpdvim /var/www/html/index.html    
<h1>zh shi fangdao lian </h1>		    #這個是網站的首行,可以隨便寫 記得區分兩個網站
<img src="http://www.aaa.com/111.jpg"/>	    #指向的是101的網站圖片systemctl stop firewalld
systemctl start httpd

????????

? ? ? ? 驗證:
win10 訪問 www.aaa.com www.bbb.com #是可以訪問到的?

防止防盜鏈

vim /usr/local/nginx/conf/nginx.conflocation ~* \.(png|jpg|pif|jpeg|bmp|)$ {root html;valid_referers aaa.com *.aaa.com;if ($invalid_referer) {return 403;}}win10 訪問 www.aaa.com 		#可以訪問到圖片內容www.bbb.com		#不能訪問到圖片內容

驗證:

?

?動態黑名單

編輯黑名單配置文件

????????動態黑名單是 Nginx中一種實時攔截惡意請求的安全機制,它允許在不重啟服務的情況下,動態更新需要封禁的 IP地址或網段。相比靜態配置的 allow/deny指令,動態黑名單更靈活高效,適用于高并發、多變的攻擊防護場景。

vim /usr/local/nginx/conf/blockips.conf
192.168.1.0  #禁止整個網段
192.168.10.102 1;    #禁止這個IPIP地址后的數字含義:0    "";    #允許
1    403;    #完全封禁
2    444;    #靜默斷開
3    503;    #服務不可用vim /usr/local/nginx/conf/nginx.confhttp下:
geo $block_ip {
default 0;        #默認允許訪問
include /usr/local/nginx/conf/blockips.conf;        #包含黑名單
}server下:if ($block_ip) {            #判斷標記值return 403;        #封禁動作}

? ? ? ? 驗證:使用102 訪問101

?????????

自動添加黑名單

vim aaa.sh
#!/bin/bsah
awk '{print $1}' /usr/local/nginx/logs/access.log | sort | uniq -c |sort -nr | awk '{if($1>100) print $2 " 1;"}' > /usr/local/nginx/conf/blockips.conf 102:
dnf -y install httpd-tools
ab -n 300 -c 30 http://192.168.10.101/101:
cat /usr/local/nginx/logs/access.log    		#會自動記錄超過100次訪問的ip

102驗證:

101查看訪問日志

HTTPS配置

? ? ? ? HTTPS 概念

HTTPS,全稱HyperText Transfer Protocol over Secure Socket Layer,設計初衷是為了保證數據傳輸安全。http(超文本傳輸協議)是客戶端瀏覽器與web 服務器之間的通信協議,而 https 協議可以認為是 HTTP + SSL/TLS,在 http 之下 tcp 之上加了ss1一層,用于對應用層數據的加解密。

? ? ? ? HTTP不安全

????????HTTP 由于是明文傳輸,主要存在三大風險:竊聽風險、篡改風險、冒充風險。???????

  • 竊聽風險:中間人可以獲取到通信內容,由于內容是明文,所以獲取明文后有安全風險
  • 篡改風險:中間人可以篡改報文內容后再發送給對方,風險極大。
  • 冒充風險:比如你以為是在和某寶通信,但實際上是在和一個釣魚網站通信。

? ? ? ? 安全通信的四大原則

  • 機密性:即對數據加密,解決了竊聽風險,因為即使被中間人竊聽,由于數據是加密的,他也拿不到明文;
  • 完整性:指數據在傳輸過程中沒有被篡改,不多不少,保持原樣,中途如果哪怕改了一個標點符號,接收方也能識別出來,從來判定接收報文不合法:
  • 身份認證:確認對方的真實身份,即證明“你媽是你媽”的問題,這樣就解決了冒充風險,用戶不用擔心訪問的是某寶結果卻在和釣魚網站通信的問題:
  • 不可否認:即不可否認已發生的行為,比如小明向小紅借了1000元,但沒打借條,或者打了借條但沒有簽名,就會造成小紅的資金損失。

????????HTTPS的幾種加密方式

?????????HTTP 是明文傳輸的,那我們給報文加密,既然要加密,我們肯定需要通信雙方協商好密鑰吧。一種是通信雙方使用同一把密鑰,即對稱加密的方式來給報文進行加解密。

????????非對稱加密:使用一對密鑰,即公鑰和私鑰。公鑰可以公開,任何人都可以使用公鑰對數據進行加密;私鑰由所有者保密,只有使用對應的私鑰才能對加密數據進行解密。

????????數字證書:數字證書是一種由證書頒發機構(CA)簽發的電子文件,它將用戶的身份信息(如姓名、組織、域名等)與公鑰進行綁定。其主要作用是驗證公鑰的真實性和持有者的身份,防止中間人攻擊,確保通信雙方能夠安全地交換信息。????????

????????nginx https的作用

?????????加密傳輸數據:HTTPS 使用 SSL/TLS 協議對數據進行加密,確保數據在客戶端(如瀏覽器)和服務器(如 Nginx 服務器)之間傳輸時不被竊取或篡改。例如,用戶在電商網站上輸入的用戶名、密碼、信用卡信息等敏感數據,通過 HTTPS 加密后,即使數據在傳輸過程中被攔截,攻擊者也無法獲取其真實內容。
????????驗證服務器身份:HTTPS 通過數字證書來驗證服務器的身份,確保客戶端連接到的是真實可靠的服務器,而不是假冒的服務器。用戶訪問銀行網站時,瀏覽器會驗證銀行服務器的數字證書,如果證書有效且與銀行域名匹配,用戶就可以確認自己連接到了正確的銀行服務器,防止遭受釣魚攻擊。
????????數據完整性保護:HTTPS 使用消息認證碼(MAC)等技術來確保數據在傳輸過程中的完整性,防止數據被意外或惡意篡改。如果數據在傳輸過程中被篡改,接收方可以通過驗證 MAC 發現數據的變化,從而拒絕接受被篡改的數據?

mkdir -p /etc/nginx/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=benet/CN=localhost"vim /usr/local/nginx/conf/nginx.conf
server {
listen       443 ssl;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
server_name  localhost;server {
listen       80;
# listen       somename:8080;
#    server_name  somename  alias  another.alias;
return 301 https://$host$request_uri;
}

驗證:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/82010.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82010.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/82010.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++類對象的隱式類型轉換和編譯器返回值優化

文章目錄 前言1. 隱式類型轉換1.1 單參數的隱式類型轉換1.2 多參數的隱式類型轉換1.3 explicit關鍵字 2. 編譯器的優化2.1 普通構造優化2.2 函數傳參優化2.3 函數返回優化 前言 在類與對象的學習過程中&#xff0c;一定會對隱式類型轉換這個詞不陌生。對于內置類型而言&#x…

領麥微紅外溫度傳感器,搖奶器測溫應用

在育兒領域&#xff0c;精準控制奶液溫度是守護寶寶健康的重要環節。領麥微作為MEMS傳感器領域的創新先鋒&#xff0c;通過其紅外測溫傳感器的非接觸式測量、高精度測溫、實時反饋以及智能溫控節能等核心優勢&#xff0c;為搖奶器注入了全新的智能化解決方案。這一技術不僅提升…

第十一屆藍橋杯 2020 C/C++組 蛇形填數

目錄 題目&#xff1a; 題目描述: 題目鏈接&#xff1a; 思路&#xff1a; 思路詳解&#xff1a; 代碼&#xff1a; 代碼詳解&#xff1a; 題目&#xff1a; 題目描述: 題目鏈接&#xff1a; 蛇形填數 - 藍橋云課 思路&#xff1a; 思路詳解&#xff1a; 看圖找規律…

如何檢查 Watchtower 是否正常工作及更新未生效的排查方法【日常排錯】

文章目錄 前言一、驗證 Watchtower 是否正在運行1. 檢查 Watchtower 容器狀態2. 查看 Watchtower 日志 二、檢查5分鐘間隔設置是否正確1. 確認啟動命令2. 驗證環境變量 三、排查更新未生效的原因1. 檢查是否有鏡像更新2. 檢查容器標簽3. 檢查監控范圍 四、測試 Watchtower 功能…

寶塔面板,刪除項目后還能通過域名進行訪問

場景&#xff1a;在阿里云寶塔面板中&#xff0c;刪除了之前建立的html項目&#xff0c;通過之前綁定的域名還是可以訪問&#xff0c;又把項目的目錄文件刪除&#xff0c;發現還是不行 又清理了瀏覽器緩存&#xff0c;但還是有這個問題通過該域名重新創建一個html項目&#xff…

多層PCB SMT貼裝全流程指南:從物料準備到回流焊工藝控制

在電子制造領域&#xff0c;多層PCB板元器件貼片是一項重要的技術操作。本文將詳細介紹多層PCB板元器件貼片的操作流程和注意事項&#xff0c;幫助您更好地理解和掌握這項技術。 一、準備階段 在進行多層PCB板元器件貼片操作前&#xff0c;需要做好以下準備工作&#xff1a; 1.…

PAT(最近)

1022 D進制的AB - PAT (Basic Level) Practice &#xff08;中文&#xff09; 加減位置調換 本來以為就是簡單的 十進制轉換為一個長的字符串 沒想到在那個拼接字符串的時候 只需要簡單的 加減位置調換就可以 避免使用麻煩的翻轉函數 import java.util.Scanner; public clas…

【Harbor v2.13.0 詳細安裝步驟 安裝證書啟用 HTTPS】

Harbor v2.13.0 詳細安裝步驟&#xff08;啟用 HTTPS&#xff09; 1. 環境準備 系統要求&#xff1a;至少 4GB 內存&#xff0c;100GB 磁盤空間。 已安裝組件&#xff1a; Docker&#xff08;版本 ≥ 20.10&#xff09;Docker Compose&#xff08;版本 ≥ v2.0&#xff09; 域…

以pytest_addoption 為例,講解pytest框架中鉤子函數的應用

鉤子函數&#xff08;Hook Function&#xff09;的概念 鉤子函數&#xff08;Hook Function&#xff09;是軟件框架中預定義的回調接口&#xff0c;允許開發者在程序執行的特定階段插入自定義邏輯&#xff0c;以擴展或修改框架的默認行為。在 pytest 中&#xff0c;鉤子函數覆…

合并兩個有序鏈表 - 簡單

************* C topic: 21. 合并兩個有序鏈表 - 力扣&#xff08;LeetCode&#xff09; ************* Give the topic an inspection. Hi, guys, how is your holiday break? I went to 黃山 in the past few days. The mount Huang is really beautiful. 天都峰 is real…

13.Spring boot中使用Actuator 監控

13.Spring boot中使用Actuator 監控 Spring Boot Actuator 是 Spring Boot 提供的一個強大的監控和管理工具&#xff0c;它通過暴露各種端點&#xff08;Endpoints&#xff09;來提供應用程序的運行時信息。這些端點可以幫助開發者和管理員監控應用程序的健康狀況、性能指標、…

Python+Scrapy跨境電商爬蟲實戰:從亞馬遜/沃爾瑪數據采集到反爬攻克(附Pangolin API高效方案)

從零實戰到反爬攻克&#xff0c;揭秘跨境數據抓取全流程與Pangolin Scrape API終極方案 在當今數據驅動的跨境電商時代&#xff0c;誰掌握了優質的市場數據&#xff0c;誰就掌握了成功的關鍵。隨著全球電商市場規模持續擴大&#xff08;據Statista最新報告顯示&#xff0c;2025…

0基礎學習鴻蒙開發-HarmonyOS4

一、初識 1. 開發工具 官網 開發-HarmonyOS NEXT鴻蒙應用開發平臺-華為開發者聯盟 2. ArkTS 二、TypeScript 基本語法 1.變量聲明 2. 條件控制 注意 在TypeScrips中 空字符串數字0、null、undefined 都坡認為是false 其它值則為true if (num) {// num 非空執行 } 3. 循環迭…

深度學習中常用的符號表達式

在論文寫作過程中&#xff0c;常常涉及到一些關鍵的符號的表達&#xff0c;為了更加規范常用的一些符號表達&#xff0c;現將其總結如下&#xff08;該文件會持續性更新&#xff09;&#xff1a; 數字 x x x : 標量 x \mathbf{x} x : 向量 X \mathbf{X} X : 矩陣 X \mathsf{X}…

react naive 網絡框架源碼解析

本文取 react native 兩個區別很大的版本做分析&#xff08;0.76.5、0.53.3&#xff09; 一、0.76.5 版fetch 全流程排查 1、JS 端的實現 隨手寫一個fetch&#xff0c;點開。 我們這里常用的還是手機端&#xff0c;因此選擇 react-native&#xff0c;react-native-windows …

OpenCV 圖形API(81)圖像與通道拼接函數-----透視變換函數warpPerspective()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 對圖像應用透視變換。 函數 warpPerspective 使用指定的矩陣對源圖像進行變換&#xff1a; dst ( x , y ) src ( M 11 x M 12 y M 13 M 31 x…

深度學習在油氣地震資料反卷積中的應用

深度學習在油氣地震資料反卷積中的應用 基本原理 在油氣地震勘探中&#xff0c;反卷積(Deconvolution)是一種重要的信號處理技術&#xff0c;用于提高地震資料的分辨率。傳統方法(如維納濾波、預測反卷積等)存在對噪聲敏感、假設條件嚴格等局限。深度學習方法通過數據驅動的方…

Java開發者面試實錄:微服務架構與Spring Cloud的應用

面試場景 面試官: 請介紹一下你的基本情況。 程序員: 大家好&#xff0c;我叫張小明&#xff0c;今年27歲&#xff0c;碩士學歷&#xff0c;擁有5年的Java后端開發經驗。主要負責基于Spring Boot開發企業級應用&#xff0c;以及微服務架構的設計和實現。 面試官: 好的&#…

?Spring + Shiro 整合的核心要點及詳細實現說明

在 Spring 項目中集成 Apache Shiro 可以實現輕量級的安全控制&#xff08;認證、授權、會話管理等&#xff09;。以下是 ?Spring Shiro 整合的核心要點及詳細實現說明&#xff1a; 一、Spring 與 Shiro 整合的核心組件 ?組件??作用?ShiroFilterFactoryBean創建 Shiro 過…

網絡編程核心技術解析:從Socket基礎到實戰開發

網絡編程核心技術解析&#xff1a;從Socket基礎到實戰開發 一、Socket編程核心基礎 1. 主機字節序與網絡字節序&#xff1a;數據傳輸的統一語言 在計算機系統中&#xff0c;不同架構對多字節數據的存儲順序存在差異&#xff0c;而網絡通信需要統一的字節序標準&#xff0c;這…