亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Linux下PHP安全設置

添加時間:2015-7-8 0:24:57  添加: 思海網絡 

 PHP安全性設置提示:

 
DocumentRoot: /var/www/
 
Default Web server: Apache
 
Default PHP configuration file: /etc/php.ini
 
Default PHP extensions config directory: /etc/php.d/
 
Our sample php security config file: /etc/php.d/security.ini (you need to create this file using a text editor)
 
Operating systems: Ubuntu (the instructions should work with any other Linux distributions such as RHEL / CentOS / Fedora or other Unix like operating systems such as OpenBSD/FreeBSD/HP-UX). 
 
 
 
1. 減少PHP內置模塊
 
為了增強性能和安全性,強烈建議,減少PHP中的模塊。來看看下面這個被執行命令安裝的模塊。
 
# php –m 
 
你將會得到類似的結果:
 
[PHP Modules]
 
apc
 
bcmath
 
bz2
 
calendar
 
Core
 
ctype
 
curl
 
date
 
dom
 
ereg
 
exif
 
fileinfo
 
filter
 
ftp
 
gd
 
gettext
 
gmp
 
hash
 
iconv
 
imap
 
json
 
libxml
 
mbstring
 
memcache
 
mysql
 
mysqli
 
openssl
 
pcntl
 
pcre
 
PDO
 
pdo_mysql
 
pdo_sqlite
 
Phar
 
readline
 
Reflection
 
session
 
shmop
 
SimpleXML
 
sockets
 
SPL
 
sqlite3
 
standard
 
suhosin
 
tokenizer
 
wddx
 
xml
 
xmlreader
 
xmlrpc
 
xmlwriter
 
xsl
 
zip
 
zlib
 
[Zend Modules]
 
Suhosin 
 
刪除一個模塊,并執行此命令。例如:刪除模塊sqlite3
 
# rm /etc/php.d/sqlite3.ini   
 
或者
 
# mv /etc/php.d/sqlite3.ini /etc/php.d/sqlite3.disableRestrict 
 
 
 
2. 使PHP信息泄露最小化
 
在默認PHP時在HTTP抬頭處會生成一條線介于每個響應中,(比如X-Powered-By: PHP/5.2.10)。而這個在系統信息中為攻擊者創建了一個非常有價值的信息。
 
HTTP示例:
 
HTTP/1.1 200 OK  
 
X-Powered-By: PHP/5.2.10  
 
Content-type: text/html; charset=UTF-8  
 
Vary: Accept-Encoding, Cookie  
 
X-Vary-Options: Accept-Encoding;list-contains=gzip,Cookie;string-contains=wikiToken;  
 
string-contains=wikiLoggedOut;string-contains=wiki_session 
 
Last-Modified: Thu, 03 Nov 2011 22:32:55 GMT  
 
... 
 
因此,我們強烈建議,禁止PHP信息泄露,想要要禁止它,我們要編輯/etc/php.d/secutity.ini,并設置以下指令:
 
expose_php=Off 
 
 
 
3. 使PHP加載模塊最小化
 
在默認情況下,RHEL加載的所有模塊可以在/etc/php.d/目錄中找到。要禁用或啟用一個特定的模塊,只需要在配置文件/etc/php.d/目錄中中注釋下模塊名稱。而為了優化PHP性能和安全性,當你的應用程序需要時,我們強烈建議建議啟用擴展功能。舉個例子:當禁用GD擴展時,鍵入以下命令:
 
# cd /etc/php.d/  
 
 # mv gd.{ini,disable}  
 
 # /etc/init.d/apache2 restart 
 
為了擴展PGP GD模塊,然后鍵入以下命令:
 
# mv gd.{disable,ini}  
 
 # /sbin/service httpd restart 
 
 
 
4. 記錄PHP錯誤信息
 
為了提高系統和Web應用程序的安全,PHP錯誤信息不能被暴露出。要做到這一點,需要編輯/etc/php.d/security.ini 文件,并設置以下指令:
 
display_errors=Off 
 
為了便于開發者Bug修復,所有PHP的錯誤信息都應該記錄在日志中。
log_errors=On 
 
 error_log=/var/log/httpd/php_s_error.log  
 
 
 
 5. 禁用遠程執行代碼
 
如果遠程執行代碼,允許PHP代碼從遠程檢索數據功能,如FTP或Web通過PHP來執行構建功能。比如:file_get_contents()。
 
很多程序員使用這些功能,從遠程通過FTP或是HTTP協議而獲得數據。然而,此法在基于PHP應用程序中會造成一個很大的漏洞。由于大部分程序員在傳遞用戶提供的數據時沒有做到適當的過濾功能,打開安全漏洞并且創建了代碼時注入了漏洞。要解決此問題,需要禁用_url_fopen in /etc/php.d/security.ini,并設置以下命令:
 
allow_url_fopen=Off 
 
除了這個,我還建議禁用_url_include以提高系統的安全性。
 
allow_url_include=Off 
 
 
 
6. 禁用PHP中的危險函數
 
PHP中有很多危險的內置功能,如果使用不當,它可能使你的系統崩潰。你可以創建一個PHP內置功能列表通過編輯/etc/php.d/security.ini來禁用它。
 
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source 
 
 
 
7. 資源控制
 
為了提高系統的穩定性,強烈建議設置每個腳本解析請求數據所花費的時間和腳本可能消耗的最大內存量。正確的配置這些參數可以防止PHP任何腳本消耗太多的資源或是內存,從而避免系統不安全或降低安全系數。
 
# set in seconds  
 
 max_execution_time = 30 
 
 max_input_time = 30 
 
 memory_limit = 40M 
 
 
 
8. 限制PHP訪問文件系統
 
 
 
該open_basedir指令指定的目錄是允許PHP訪問使用fopen()等功能。如果任何腳本試圖訪問超出open_basdir定義的路徑文件,PHP將拒絕打開。值得注意的是,你不能使用一個符號鏈接作為一種變通方法。
 
 
 
; Limits the PHP process from accessing files outside  
 
; of specifically designated directories such as /var/www/html/  
 
open_basedir="/var/www/html/" 
 
; ------------------------------------  
 
; Multiple dirs example  
 
; open_basedir="/home/httpd/vhost/cyberciti.biz/html/:/home/httpd/vhost/nixcraft.com/html/:/home/httpd/vhost/theos.in/html/" 
 
; ------------------------------------ 
 
 
 
9.限制文件/目錄訪問
 
 
 
進行適當的安全設置:確保Apache作為非root用戶運行,比如www-data或www。對于文件和目錄在基于/var/www/下同樣屬于非root用戶。想要更改所有者,執行以下命令:
 
# chown -R apache:apache /var/www/ 
 
 
 
10.編譯保護Apache,PHP和MySQL的配置文件
 
使用charrt命令編譯保護配置文件
 
# chattr +i /etc/php.ini  
 
 # chattr +i /etc/php.d/*  
 
 # chattr +i /etc/my.ini  
 
 # chattr +i /etc/httpd/conf/httpd.conf  
 
 # chattr +i /etc/ 
 
使用charrt命令可以編譯保護PHP文件或者是文件中的/var/www/html的目錄:
 
# chattr +i /var/www/html/file1.php  
 
 # chattr +i /var/www/html/ 
 
關鍵字:Linux、PHP、安全設置
分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站