Linux VPS安全技巧 – Nginx環境中的PHP安全設置

現在咱們站長作網站會愈來愈多的選擇服務器,而不是虛擬主機。可是在選擇vps服務器以後,咱們大部分網友會直接使用寶塔面板、LNMP等一鍵安裝WEB系統去配置網站環境。有些軟件確實是在不斷的升級和維護且安全功能作的不錯,可是有些可能尚未考慮到安全問題。php

由於大部分軟件提供商都更多的考慮到功能,對於細節的安全作的仍是不夠的,好比前一段時間因爲THINKPHP框架的漏洞致使安裝THINKPHP的程序被黑,同時也影響到同一臺服務器中的其餘網站也有被黑掉,因此對於安全問題仍是須要單獨的處理、html

Linux VPS安全技巧 - Nginx環境中的PHP安全設置

在這篇文章中,咱們VULTR中文網整理幾個在處理NGINX環境中PHP安全的一些事項。java

一、禁止不安全函數node

disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,popenshell

這裏咱們須要在php.ini中禁止這些函數,若是系統中已經禁止的咱們就不要添加。安全

二、防止跨站安全服務器

在站點根目錄建立.user.ini框架

open_basedir=/data/wwwroot/:/tmp/:/proc/socket

受權:ide

chattr +i .user.ini

這裏咱們須要加以權限限制。

三、禁止一些目錄執行PHP

#靜態文件目錄禁止PHP執行
location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
return 444;
}

這裏咱們能夠設置一些靜態文件目錄,好比圖片上傳目錄禁止PHP執行權限。

固然,若是咱們有必要的話也能夠在Nginx配置文件中添加其餘一些安全問題,好比一些安全防禦。

if ($http_user_agent ~* (wget|Scrapy|Curl|HttpClient)) {
return 403;
}

if ($http_user_agent ~* "WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|Java|Feedly|Apache-HttpAsyncClient|UniversalFeedParser|ApacheBench|Webbench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|MJ12bot|heritrix|EasouSpider|Ezooms|BOT/0.1|YandexBot|FlightDeckReports|Linguee Bot|^$") {return 403;}

相關文章
相關標籤/搜索