Nginx安全加固

Nginx 軟件 HTML CentOS 棗樹荒 2017-04-25

Nginx安全加固,CentOS系統為例。

nginx的安全加固共分為:1,軟件信息。2,補丁安裝。3,模塊。4,防盜鏈。5,限制IP訪問。6,下載限制併發和速度。7,Nginx服務信息頭。8,控制超時時間。9,日誌設置。10,自定義錯誤信息。

1,軟件信息

nginx -v命令查看一下軟件的版本信息,以確定是最新版本或穩定的版本。防止老版本的一些漏洞。nginx -t命令檢查一下配置文件是否有誤,保證nginx的正常運行。

Nginx安全加固

2,補丁安裝

nginx -v查看版本是否為最新版本或穩定版本,建議更新到最新版或穩定版。如果用老版本,則需要打上對應的補丁包。注意:補丁可能會影響業務系統的穩定性。

3,模塊

卸載不需要的nginx模塊,最大限度的將nginx加載的模塊最小化。進入nginx解壓後的目錄,命令./configure --help | less來查看模塊各個參數的說明,根據需求確定不使用的模塊。配置檢查時帶上禁用的參數即可,以autoindex(禁用目錄瀏覽功能)為例:

Nginx安全加固

Nginx安全加固

配置檢查完畢後,make && make install命令編輯安裝即可。

4,防盜鏈

防止其他網站盜鏈本網站資源,修改conf目錄下的nginx.conf配置文件,在http配置裡面添加代碼,如下圖

Nginx安全加固

gif|jpg|png|swf|flv代表對哪些類型的資源進行限制,valid_referers none blocked後的網址表示白名單,不是從這個網址鏈接過來的都會定向到error.html頁面,也可以返回403。

5,限制IP訪問

對網站或敏感目錄的訪問IP進行限制,需要ngx_http_access_module,這個模塊在編譯安裝時會自動安裝。打開nginx.conf配置文件,配置如下:

Nginx安全加固

deny後跟拒絕的ip,allow後跟允許的ip。如果deny跟all,則代表除了允許的ip外其它都禁止。

6,下載限制併發和速度

限制客戶端下載速度,保證服務器的負載正常。打開nginx.conf配置如下:(紅框中是需要添加的)

Nginx安全加固

limit_conn_zone $binary_remote_addr zone=one:10m;意思為開闢一個大小10m名為one的內存,存儲鏈接的信息。limit_conn one 1;代表一個IP只能發起一個鏈接,one要和之前名相同,圖中箭頭所示。limit_rate 20k;代表限制的最大速度。

7,nginx服務信息頭

修改nginx服務信息頭內容,隱藏nginx版本信息。打開nginx的配置文件nginx.conf,在server下添加server_tokens off;選項。

Nginx安全加固

8,控制超時時間

控制超時時間,提高服務器性能,降低客戶端的等待時間。打開nginx.conf配置文件,在http裡添加如下圖的配置,解釋請看註釋。

Nginx安全加固

9,日誌設置

打開nginx的配置文件nginx.conf,去掉error_log和access_log前的#號。error_log來記錄錯誤日誌。access_log來記錄訪問日誌。access_log說明如下圖:

Nginx安全加固

10,自定義nginx返回的錯誤信息

修改nginx配置文件nginx.conf,配置如圖信息,請根據http狀態碼執行編輯配置內容,圖如下::

Nginx安全加固

當nginx狀態404時,則返回nginx的html目錄中的404.html文件的內容。當nginx狀態為500,502,503,504時則返回html下的50x.html文件的內容。錯誤信息可執行編輯。

--------------------------------------------------------------------------------------------------------------------------------------

tips:棗樹荒頭條號不定期分享關於網站滲透,信息安全,網絡安全,網絡運維等方面的知識。喜歡的請點一波關注。

相關推薦

推薦中...