Linux下網站安全加固方案

本文詳細總結了PHP網站在Linux服務器上面的安全配置,包含PHP安全、mysql數據庫安全、web服務器安全、***查殺和防範等,很好很強大很安全。php

php安全配置:html

1. 確保運行php的用戶爲通常用戶,如wwwmysql

2. php.ini參數設置nginx

155538957.png

     open_basedir可將用戶訪問文件的活動範圍限制在指定的區域,一般是其家目錄的路徑,也可用符號"."來表明當前目錄。注意用open_basedir指定的限制其實是前綴,而不是目錄名。web

舉例來講: 若"open_basedir = /home/wwwroot", 那麼目錄"/home/wwwroot"和"/home/wwwroot1"都是能夠訪問的。因此若是要將訪問限制在僅爲指定的目錄,請用斜線結束路徑名。sql

注意:shell

從網上獲取的資料來看,open_basedir會對php操做io的性能產生很大的影響。研究資料代表,配置了php_basedir的腳本io執行速度會比沒有配置的慢10倍甚至更多,請你們本身衡量數據庫

open_basedir也能夠同時設置多個目錄, 在Windows中用分號分隔目錄,在任何其它系統中用冒號分隔目錄。當其做用於Apache模塊時,父目錄中的open_basedir路徑自動被繼承。安全

    mysql安全配置:服務器

1. MySQL版本的選擇

在正式生產環境中,禁止使用4.1系列的MySQL數據庫。至少須要使用5.1.39或以上版本。

2. 網絡和端口的配置

在數據庫只需供本機使用的狀況下,使用–skip-networking參數禁止監聽網絡 。

3. 確保運行MySQL的用戶爲通常用戶,如mysql,注意存放數據目錄權限爲mysql

155838154.png

4. 開啓mysql二進制日誌,在誤刪除數據的狀況下,能夠經過二進制日誌恢復到某個時間點

155939195.png

5. 認證和受權

(1) 禁止root帳號從網絡訪問數據庫,root帳號只容許來自本地主機的登錄。

160245979.png

(2) 刪除匿名帳號和空口令帳號

160354132.png

web服務器安全配置:

確保運行Nginx或者Apache的用戶爲通常用戶,如www,注意存放數據目錄權限爲www

防止sql注入代碼

if ( $query_string ~* ".*[\;'\<\>].*" ){ return 404;}

關閉存放數據上傳等目錄的PHP解析

location ~* ^/(p_w_uploads|data)/.*\.(php|php5)${deny all ;}

針對Apache:關閉圖片目錄/上傳等目錄的PHP解析

<Directory "/var/www/html/upload">

<Files ~ ".php">

Order allow,deny

Deny from all

</Files>

</Directory>


  ***查殺與防範:

php***快速查找命令

  grep -r --include=*.php '[^a-z]eval($_POST' /home/wwwroot/

  grep -r --include=*.php 'file_put_contents(.*$_POST\[.*\]);' /home/wwwroot/

利用find mtime查找最近兩天或者發現***的這幾天,有哪些PHP文件被修改

 find -mtime -2 -type f -name \*.php

  防範:

     1. 作好以前的安全措施,好比禁用相關PHP函數

     2. 改變目錄和文件屬性

3. 爲防止跨站感染,須要作虛擬主機目錄隔離

(1) nginx的簡單實現方法

利用nginx跑多個虛擬主機,習慣的php.ini的open_basedir配置:

open_basedir = ./:tmp:/home/wwwroot/

注:/home/wwwroot/是放置全部虛擬主機的web路徑

***能夠利用任何一個站點的webshell進入到/home/wwwroot/目錄下的任何地方,這樣對各個虛擬主機的危害就很大

例如: /data/www/wwwroot目錄下有2個虛擬主機

修改php.ini

open_basedir = ./:/tmp:/home/wwwroot/www.a.cn:/home/wwwroot/b.cn

這樣用戶上傳webshell就沒法跨目錄訪問了。

(2) Apache的實現方法,控制跨目錄訪問

在虛擬機主機配置文件中加入

php_admin_value open_basedir "/tmp:/home/wwwroot/www.a.cn

相關文章
相關標籤/搜索