網(wǎng)站首頁 Linux教程 正文
Nginx 是一個(gè)高性能的 HTTP 和反向代理服務(wù),目前很大一部分網(wǎng)站均使用了 Nginx 作為 WEB 服務(wù)器,Nginx 雖然非常強(qiáng)大,但默認(rèn)情況下并不能阻擋惡意訪問,整理了一份常用的 Nginx 的屏蔽規(guī)則,希望對各位站長有所幫助。
在開始之前,請備份你的 Nginx 配置,修改完畢后需要重載一次 Nginx 的,否則不會生效。
如無特殊注明,下面命令均添加到 server 段內(nèi):
一、防止文件被下載
比如將網(wǎng)站數(shù)據(jù)庫導(dǎo)出到站點(diǎn)根目錄進(jìn)行備份,很有可能也會被別人下載,從而導(dǎo)致數(shù)據(jù)丟失的風(fēng)險(xiǎn)。以下規(guī)則可以防止一些常規(guī)的文件被下載,可根據(jù)實(shí)際情況增減。
location ~ \.(zip|rar|sql|bak|gz|7z)$ {
return 444;
}
二、屏蔽非常見蜘蛛(爬蟲)
如果經(jīng)常分析網(wǎng)站日志你會發(fā)現(xiàn),一些奇怪的 UA 總是頻繁的來訪問網(wǎng)站,而這些 UA 對網(wǎng)站收錄毫無意義,反而增加服務(wù)器壓力,可以直接將其屏蔽。
if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
return 444;
}
禁止某個(gè)目錄執(zhí)行腳本
比如網(wǎng)站上傳目錄,通常存放的都是靜態(tài)文件,如果因程序驗(yàn)證不嚴(yán)謹(jǐn)被上傳木馬程序,導(dǎo)致網(wǎng)站被黑。以下規(guī)則請根據(jù)自身情況改為您自己的目錄,需要禁止的腳本后綴也可以自行添加。
#uploads|templets|data 這些目錄禁止執(zhí)行 <a title="更多關(guān)于 PHP 的文章" target="_blank">PHP</a>
location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
return 444;
}
四、屏蔽某個(gè) IP 或 IP 段
如果網(wǎng)站被惡意灌水或 CC 攻擊,可從網(wǎng)站日志中分析特征 IP,將其 IP 或 IP 段進(jìn)行屏蔽。
#屏蔽 192.168.5.23 這個(gè) IP
deny 192.168.5.23;
#屏蔽 192.168.5.* 這個(gè)段
denu 192.168.5.0/24;
上面規(guī)則報(bào)道查看 444 狀態(tài)碼而不是 403,
因?yàn)?444 狀態(tài)碼在 nginx 的中有特殊含義,nginx 的 444 狀態(tài)是直接由服務(wù)器中斷連接,不會向客戶端再返回任何消息。
比返回 403 更加暴力
相關(guān)推薦
- 2024-04-04 mybatis-config.xml的配置
- 2022-07-07 在python中使用[[v]*n]*n遇到的坑及解決_python
- 2022-07-04 Python中字典常用操作的示例詳解_python
- 2023-03-23 詳解python?ThreadPoolExecutor異常捕獲_python
- 2022-08-01 Flask-Sqlalchemy的基本使用詳解_python
- 2022-03-28 Python?pandas之多級索引取值詳解_python
- 2022-11-15 python內(nèi)置模塊OS?實(shí)現(xiàn)SHELL端文件處理器_python
- 2023-08-16 數(shù)據(jù)選擇器 uni-data-checkbox,獲取value值
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支