日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx指定配置文件启动_NGINX安全加固手册

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx指定配置文件启动_NGINX安全加固手册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NIGNX系統安全

基線規范

1.概述

1.1 適用范圍

?本配置標準的使用者包括:各事業部服務器負責人。
各事業部服務器負責人按規范要求進行認證、日志、協議、補丁升級、文件系統管理等方面的安全配置要求。對系統的安全配置審計、加固操作起到指導性作用。

1.2 文檔內容

?本文檔內容是nginx的安全加固操作項的詳細操作指導,并明確在加固操作過程中可能出現的風險和所遵循的標準。

1.3 加固前的準備

1.3.1 需要重新啟動驗證系統

?需要重新啟動以確定nginx的完整性、業務系統的正常性

1.3.2 備份文件

?在操作之前需要備份nginx重要的配置文件

1.3.3 加固操作注意事項

?需要手工確認系統是否需要加固,同時驗證加固效果,系統可以正常運行

1.3.4 軟件包相關

?操作系統中多余的軟件或者加固需要安裝的軟件,需要與被加固系統負責人進行確認。

2.操作指導

2.1 nginx版本統一

名稱

nginx版本統一

說明

統一集群內的Nginx版本,避免管理混亂

實施目的

統一使用官方Stable 高版本的nignx

問題影響

管理混亂,容易通過低版本漏洞被攻擊

實施步驟

通過Nignx官網下載http://nginx.org/en/download.html

最新Stable版本

回退方案

確認方法

nginx -v 查看版本

實施風險

適用說明

2.2 使用普通賬戶啟動nginx

名稱

使用普通賬戶啟動nginx

說明

使用普通賬戶啟動nginx

實施目的

新建jqsoft用戶啟動nginx

問題影響

特權用戶啟動引起的安全隱患

實施步驟

編輯nginx配置文件,添加如下參數:

user jqsoft;

重啟Nginx(需要將Nignx目錄及相關靜態文件授權給jqsoft用戶)

回退方案

恢復nginx配置文件

確認方法

ps -ef |grep nginx 查看nginx進程是否是jqsoft用戶啟動

實施風險

適用說明

2.3 禁用autoindex

名稱

禁用autoindex

說明

禁用autoindex,避免目錄瀏覽

實施目的

禁用autoindex,避免目錄瀏覽,減少安全隱患

問題影響

通過了解目錄結構從而攻擊系統

實施步驟

編輯nginx配置文件,在http模塊添加autoindex off;

重啟Nginx

回退方案

恢復nginx配置文件

確認方法

確保nginx.conf配置文件上禁用autoindex
即autoindex off或者沒有配置autoindex。

實施風險

適用說明

2.4 關閉服務器標記

名稱

關閉服務器標記

說明

關閉服務器標記,避免顯示服務器版本信息

實施目的

關閉服務器標記,避免顯示服務器版本信息

問題影響

如果開啟的話(默認情況下)所有的錯誤頁面都會顯示服務器的版本和信息

實施步驟

在nginx.conf配置文件中,http模塊中添加 server_tokens off;

重啟Nginx

回退方案

恢復配置文件

確認方法

查看錯誤頁面http 返回頭中server字段值中已經沒有了服務器版本信息

實施風險

適用說明

2.5 設置timeout

名稱

設置timeout

說明

設置timeout設低來防御DOS攻擊

實施目的

設置timeout設低來防御DOS攻擊

問題影響

DOS攻擊拖垮服務器

實施步驟

編輯nginx配置文件,在http模塊中添加以下參數

client_body_timeout 10;

client_header_timeout 30;

keepalive_timeout 30? 30;

send_timeout 10;

重啟Nginx

回退方案

恢復nginx配置文件

確認方法

訪問Nignx網站查看返回頭中已經包含了超時時間配置

實施風險

適用說明

2.6 設置NGINX緩沖區

名稱

設置NGINX緩沖區

說明

設置NGINX緩沖區

實施目的

防止緩沖區溢出攻擊

問題影響

緩沖區溢出

實施步驟

編輯nginx配置文件,在server模塊中需要限制的location中添加以下參數

client_body_buffer_size? 1K;

client_header_buffer_size 1k;

client_max_body_size 1k;

large_client_header_buffers 2 1k;

重啟Nginx

回退方案

恢復nginx配置文件

確認方法

查看配置文件

實施風險

適用說明

2.7 限制nginx請求方法

名稱

限制nginx請求方法

說明

限制nginx請求方法,僅允許常用的get post head

實施目的

限制nginx請求方法,僅允許常用的get post head

問題影響

通過請求漏洞攻擊服務器

實施步驟

編輯nginx配置文件,在每個server模塊中添加

if ($request_method !~ ^(GET|HEAD|POST)$ ) {

return 444;

}

回退方案

恢復Nignx配置文件

確認方法

使用put/delete等請求返回444響應碼

實施風險

適用說明

2.8 日志配置

名稱

日志配置

說明

統一使用規定好的日志格式

實施目的

統一使用規定好的日志格式

問題影響

日志不規范,問題排查難度倍增

實施步驟

編輯nginx配置文件,在http模塊中添加如下參數

log_format? main?

'$remote_addr - $remote_user [$time_local] "$request" '?

'$status $body_bytes_sent "$http_referer" '??

'"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/host.access.log main;

重啟nginx服務即可

回退方案

恢復配置文件

確認方法

查看logs/host.access.log文件,驗證日志格式是否與如上配置的一致

實施風險

適用說明

2.9 Nginx日志切割

名稱

Nginx日志切割

說明

Nginx日志切割

實施目的

切割nginx日志,避免日志文件過大

問題影響

日志文件過大影響查看

實施步驟

新建日志切割腳本 如下:

#!/bin/bash

#設置日志文件存放目錄

logspath="/usr/local/nginx/logs/"

#設置pid文件

pidpath="/usr/local/nginx/nginx.pid"

#重命名日志文件

mv ${logspath}access.log ${logspath}access$(date -d "yesterday" +"%Y%m%d").log

#向nginx主進程發信號重新打開日志

kill -USR1 `cat ${pidpath}`

配置定時任務每日凌晨執行腳本

回退方案

刪除定時任務

確認方法

第二天查看日志目錄,發現日志自動切割

實施風險

適用說明

2.10 限制訪問IP

名稱

限制訪問IP

說明

限制訪問IP,僅允許指定ip訪問指定資源

實施目的

限制訪問IP,僅允許指定ip訪問指定資源

問題影響

服務器不安全性增加

實施步驟

編輯nging配置文件,在每個server模塊中的location添加需求的限制,示例如下

deny 192.168.1.1;

allow 192.168.1.0/24;

allow 10.1.1.0/16;

allow 2001:0db8::/32;

deny all;

執行nginx -s reload 動態更新配置文件

回退方案

恢復nginx配置文件

確認方法

使用限制的IP地址訪問nginx 提示403

實施風險

適用說明

2.11 限制僅允許域名訪問

名稱

限制僅允許域名訪問

說明

限制僅允許域名訪問

實施目的

限制僅允許域名訪問,跳過ip掃描

問題影響

ip掃描到網站后會針對性攻擊

實施步驟

編輯nging配置文件,新建一個sever,示例如下

server {

listen 80 default;

server_name _;

return 403;

}

執行nginx -s reload 動態更新配置文件

(如果有其他端口,同樣加入其他端口的server)

回退方案

恢復nginx配置文件

確認方法

使用IP地址訪問nginx 提示403

實施風險

適用說明

2.12 錯誤頁面重定向

名稱

錯誤頁面重定向

說明

錯誤頁面重定向

實施目的

nginx默認錯誤頁面包含服務器版本信息,使用自定義錯誤頁面避免版本信息泄露

問題影響

避免通過錯誤頁面獲取服務器信息

實施步驟

新建錯誤頁面,放到靜態目錄中,編輯Nignx配置文件,

在http模塊中添加如下參數:

fastcgi_intercept_errors on;

errorpage 401 /401.html;

errorpage 402 /402.html;

errorpage 403 /403.html;

errorpage 404 /404.html;

errorpage 405 /405.html;

errorpage 500 /500.html

重啟nginx服務

回退方案

恢復配置文件

確認方法

訪問不存在的url重定向到我們配置的的錯誤頁面

實施風險

適用說明

2.13 限制并發和速度

名稱

限制并發和速度

說明

nginx客戶端并發和速度

實施目的

限制用戶連接數及速度來預防DOS攻擊

問題影響

通過連接數來攻擊nginx服務器

實施步驟

編輯Nignx配置文件,在Http模塊中添加如下參數:

limit_zone one $binary_remote_addr 60m;

在server模塊的location中,需要限制的location中添加如下參數:

limit_conn one 50;?

limit_rate 100k;

重啟nginx服務

回退方案

恢復配置文件

確認方法

單個Ip建立嘗試建立多個連接失敗

實施風險

適用說明

2.14 nginx配置防盜鏈

名稱

nginx配置防盜鏈

說明

nginx配置防盜鏈

實施目的

防止第三方引用鏈接訪問我們的圖片,消耗服務器資源和網絡流量

問題影響

資源被第三放流量消耗

實施步驟

編輯nginx配置文件,在server模塊中添加如下實例:

server {

? listen 80;

server_name www.myine.com;

? root /usr/share/nginx/html;

location ~*.(gif|jpg|jpeg|png|bmp|swf)$ {

validreferers none blocked www.myine.com;

??? if ($invalidreferer) {

????? return 403;

}

??? }

?}

validreferers: 指定資源訪問是通過以下幾種方式為合法,即白名單。

none:允許缺失的頭部訪問。

blocked:允許referer沒有對應值的請求。

Server_names:若referer站點域名與servername中本機配的域名一樣允許訪問

回退方案

恢復配置文件

確認方法

新建個人頁面,圖片引用使用nginx中的圖片,訪問個人頁面圖片提示403

實施風險

適用說明

2.15 限制php執行權限

名稱

限制php執行權限

說明

限制php執行權限

實施目的

限制php執行權限

問題影響

通過執行php腳本入侵服務器

實施步驟

編輯nignx配置文件,在需要限制的server模塊中添加如下代碼:

location ~ /(attachments|upload)/.*.(php|php5)?$ {

deny all;

}

以上的配置文件代碼需要放到 location ~ .php{...}上面,相關目錄需要寫相對目錄,重啟nginx

回退方案

恢復配置文件

確認方法

nginx網站指定目錄php文件不能執行、訪問

實施風險

適用說明

2.16 nginx配置WAF模塊

名稱

nginx配置waf模塊

說明

nginx配置waf模塊

實施目的

nginx配置waf模塊,提升服務器的安全性

問題影響

實施步驟

下載waf模塊,wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip

配置waf相關Lua規則、目錄、腳本等,

(nginx需要加載nginx_lua_module模塊)

編輯nginx配置文件,在http模塊中添加如下參數:

lua_package_path “/usr/local/nginx/conf/waf/?.lua”;

lua_shared_dict limit 10m;

init_by_lua_file /usr/local/nginx/conf/waf/init.lua;

access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

新建攻擊日志目錄

mkdir -p /data/logs/hack/

chown -R nobody:nobody /data/logs/hack/

chmod -R 755 /data/logs/hack/

重啟Nignx服務

回退方案

刪除配置文件的中的waf配置

確認方法

查看目錄/data/logs/hack/ 中的日志

實施風險

適用說明

2.17 安裝官方補丁更新

名稱

安裝官方補丁更新

說明

為nginx安裝最新安全補丁

實施目的

防止攻擊者利用nginx漏洞進行攻擊

問題影響

系統安全性下降

實施步驟

查看當前nginx版本

nginx -v

官網下載最新的安全補丁

回退方案

確認方法

登陸用戶查看nginx版本信息

實施風險

適用說明

總結

以上是生活随笔為你收集整理的nginx指定配置文件启动_NGINX安全加固手册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。