OWASP 維護的 PHP 安全設定速查表

藏色散人
發布: 2023-04-07 21:40:02
轉載
2101 人瀏覽過

OWASP 維護的 PHP 安全設定速查表

介紹

這個頁面的目的是為了幫助那些配置PHP 和運行它的web 伺服器的人確保它的安全性。

下面你將找到有關 php.ini 檔案的正確設定資訊。

php.ini

下面的一些設定需要適應你的系統,特別是 session.save_path,session.cookie_path (例如: /var/www/mysite) ,和session.cookie_domain (例如:ExampleSite.com)。

你也應該執行 PHP 7.2 或更高版本。如果你執行的版本是 PHP 7.0 和 PHP 7.1 ,你將在下面的幾個地方使用略有不同的值(看內聯的註解)。

最後,請查看 PHP 文件 以獲得關於 php.ini 設定檔中每個值的參考。

你可以在現成的 php.ini 檔案中找到以下配置的副本 此處 。

PHP 錯誤處理

expose_php              = Off
error_reporting         = E_ALL
display_errors          = Off
display_startup_errors  = Off
log_errors              = On
error_log               = /valid_path/PHP-logs/php_error.log
ignore_repeated_errors  = Off
登入後複製

請注意:你需要在生產環境中 display_errors 設定成 Off, 同時最好養成經常查看這些日誌的好習慣。

PHP 通用設定

doc_root                = /path/DocumentRoot/PHP-scripts/
open_basedir            = /path/DocumentRoot/PHP-scripts/
include_path            = /path/PHP-pear/
extension_dir           = /path/PHP-extensions/
mime_magic.magicfile    = /path/PHP-magic.mime
allow_url_fopen         = Off
allow_url_include       = Off
variables_order         = "GPCS"
allow_webdav_methods    = Off
session.gc_maxlifetime  = 600
登入後複製

allow_url_* 很容易發生 LFI 還有 RFI 完全漏洞。

PHP 上傳檔案處理

file_uploads            = On
upload_tmp_dir          = /path/PHP-uploads/
upload_max_filesize     = 2M
max_file_uploads        = 2
登入後複製

如果你的應用程式沒有使用檔案上傳功能,或者說使用者唯一的輸入上傳的方式是透過沒有包含文件附件的表單提交, file_uploads 應被設定成Off。

PHP 可執行處理

enable_dl               = Off
disable_functions       = system, exec, shell_exec, passthru, phpinfo, show_source, highlight_file, popen, proc_open, fopen_with_path, dbmopen, dbase_open, putenv, move_uploaded_file, chdir, mkdir, rmdir, chmod, rename, filepro, filepro_rowcount, filepro_retrieve, posix_mkfifo
# 请查看:http://ir.php.net/features.safe-mode
disable_classes         =
登入後複製

以上是 PHP 中存在危險的方法和類別.。你應該禁用其中不會使用到的方法和類別。

PHP session 處理

Session 設定中有一些需要重點關注的值, 將session.name 改成新的是個很好的練習.

 session.save_path                = /path/PHP-session/
 session.name                     = myPHPSESSID
 session.auto_start               = Off
 session.use_trans_sid            = 0
 session.cookie_domain            = full.qualified.domain.name
 #session.cookie_path             = /application/path/
 session.use_strict_mode          = 1
 session.use_cookies              = 1
 session.use_only_cookies         = 1
 session.cookie_lifetime          = 14400 # 4小时 
 session.cookie_secure            = 1
 session.cookie_httponly          = 1
 session.cookie_samesite          = Strict
 session.cache_expire             = 30 
 session.sid_length               = 256
 session.sid_bits_per_character   = 6 # PHP 7.2+
 session.hash_function            = 1 # PHP 7.0-7.1
 session.hash_bits_per_character  = 6 # PHP 7.0-7.1
登入後複製

更多的安全隱患的檢查

session.referer_check   = /application/path
memory_limit            = 50M
post_max_size           = 20M
max_execution_time      = 60
report_memleaks         = On
track_errors            = Off
html_errors             = Off
登入後複製

英文原文網址:

https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets /PHP_Configuration_Cheat_Sheet.md

#

以上是OWASP 維護的 PHP 安全設定速查表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!