比起前幾篇的apache安全配置、php安全配置、mysql安全配置,對nginx的了解巨少,沒怎麼用過除了知道nginx解析漏洞就啥也不知道了
好了,開始學習
1.1 更改預設使用者名稱
nginx預設nobody,可更改預設使用者名稱防止他人利用
1.2 新增使用者
(1)新增組
groupadd -g 108 -r nginx
(2)新增使用者
useradd -u 108 -r -g 108 nginx
(3)id nginx
1.3 限制賬戶目錄許可權
防止某賬戶許可權過大,可提前設定,步驟如下:
(1)chmod o-r -r / 讓該賬戶失去所有許可權
(2)chmod o-r -r html/ 單獨賦予web目錄許可權
(3)執行命令 chmod 776 /bin/sh 限制賬戶命令執行許可權
nginx預設nobody
,沒有訪問目錄許可權,設定**目錄對於nobody的許可權為可讀、可執行。上傳目錄和寫入目錄給讀取和寫入許可權,不要給執行許可權!
開啟配置檔案,按下圖設定語法來設定禁止訪問ip和允許訪問ip
3.1 檔案許可權
通過chmod
命令將web目錄設定成可執行指令碼,但不可以寫入。乙個目錄不能同時有寫入和執行許可權。
3.2 目錄訪問限制
開啟nginx配置檔案
autoindex on; //新增此行 目錄列表展示
3.3 目錄執行許可權
開啟nginx配置檔案,以上傳目錄為例,加入下面**對上傳目錄加以限制。
3.4 限制txt檔案被訪問
這裡是指具體的檔案被禁止訪問,你也可以設定成其他檔案
同時設定多個檔案語法:
location ~* \.(txt|doc)$ //表示禁止訪問*.txt和*.doc檔案
4.1 開啟日誌預設配置將error_log
前的「#」去掉,記錄錯誤日誌
將access_log
和log_format
前的「#」去掉,記錄訪問日誌
詳細訪問日誌設定參考:
4.2 日誌檔案限制
具體設定格式同上一條txt檔案
4.3 訪問日誌的許可權設定
關閉nginx版本號
開啟配置檔案,插入如下**
nginx有三個常見的漏洞防禦模式,modsecurity
、naxsi
和ngx_lua_waf
,可通過安裝這些模組來提公升安全性
emmmm留個坑之後再學
LANMP安全配置之MySQL安全配置
上週學習了一下lanmp安全配置之apache安全配置 用的最多的資料庫就是mysql了 所以這周繼續學習一下mysql安全配置 還是參考 php web安全開發實戰 一書,再做一些補充 安裝成功後第一件事就是改root預設密碼,然後設定複雜密碼 在了解許可權分配之前 先了解以下mysql下的幾個控...
LANMP安全配置之MySQL安全配置
上週學習了一下lanmp安全配置之apache安全配置 用的最多的資料庫就是mysql了 所以這周繼續學習一下mysql安全配置 還是參考 php web安全開發實戰 一書,再做一些補充 安裝成功後第一件事就是改root預設密碼,然後設定複雜密碼 在了解許可權分配之前 先了解以下mysql下的幾個控...
LANMP安全配置之Apache安全配置
0x00 前言 0x01 遮蔽版本資訊 關閉步驟 1 開啟apache配置檔案httpd.conf a.找到serverroot os,修改為serverroot productonly b.找到serversignature on,修改為serversignature off 2 重啟apache...