【安全基線】-Nginx安全配置規范


1. 背景

苦惱於互聯網上現有的基線資源不具備實時性,適用的版本比較老舊,甚至已逐步被企業淘汰。博主本着學習實驗的心態,寫下這篇博客,希望能給那些同我有着相同困擾的安全基線初學者鋪塊磚。恭候各位路過的大佬的指正!

2. 環境准備

操作系統:CentOS 7

1. 添加CentOS 7 EPEL倉庫

sudo yum install epel-release

2. 安裝Nginx

sudo yum install nginx

3. 查看是否正確安裝

rpm -qa | grep nginx

4. 啟動Nginx

sudo systemctl start nginx  //啟動Nginx

sudo systemctl status nginx//查看Nginx狀態

ps -ef |grep nginx|grep -v grep

nginx會自動根據當前主機的CPU的內核數目創建對應的進程數量。nginx進程在啟動的時候,會附帶一個守護進程,用於保護正式進程不被異常終止;如果守護進程一旦返現nginx繼承被終止了,會自動重啟該進程。守護進程一般會稱為master進程,業務進程被稱為worker進程

5. 設置開機自啟Nginx

sudo systemctl enable nginx

6. 查看默認頁面

如果正在運行防火牆,運行以下命令以允許HTTP和HTTPS通信:

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd --reload

在瀏覽器訪問:http://Nginx服務器IP地址/,默認頁面如下:

至此,已完成測試環境的搭建。

7. 查看配置文件nginx.conf

Nginx使用最多的三個核心功能是反向代理、負載均衡和靜態服務器,不同的功能的使用,都跟Nginx的配置密切相關。

Nginx服務器的配置信息主要集中在nginx.conf這個配置文件中,可分為6個部分。

  • main:用於進行nginx全局信息的配置
  • events:用於nginx工作模式的配置
  • http:用於進行http協議信息的一些配置
  • server:用於進行服務器訪問信息的配置
  • location:用於進行訪問路由的配置
  • upstream:用於進行負載均衡的配置

接下去步入正題,測試安全配置加固項。

2. 安全配置

2.1 禁止Nginx顯示目錄列表

名稱

禁止Nginx顯示目錄列表

描述

Nginx服務器默認目錄:/usr/share/nginx/html

若文件根目錄里有 index.html,瀏覽器就會顯示 index.html的內容

若不存在 index.html,瀏覽器就會顯示文件根目錄的目錄列表,目錄列表包括文件根目錄下的文件和子目錄

問題影響

在nginx中開啟autoindex,配置不規范而造成目錄遍歷漏洞

檢查方法

核查配置文件cat /etc/nginx/nginx.conf |grep autoindex

確認autoindex不為ON

參考值

autoindex off; //默認情況下為off

加固步驟

1.備份nginx.conf

cp nginx.conf nginx.conf.bak

2.配置nginx.conf,設置

autoindex off;   或者注釋#autoindex on;

回退步驟

恢復原有配置

cp nginx.conf.bak nginx.conf


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM