ホームページ  >  記事  >  バックエンド開発  >  PHP セキュリティ構成チートシートは OWASP によって保守されています

PHP セキュリティ構成チートシートは OWASP によって保守されています

藏色散人
藏色散人転載
2019-12-03 14:02:472114ブラウズ

PHP セキュリティ構成チートシートは OWASP によって保守されています

はじめに

このページの目的は、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.ini 設定ファイルの各値のリファレンスについては、PHP ドキュメントを確認してください。

次の設定のコピーは、既製の 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 をオフに設定する必要があります。これらのログをチェックする良い習慣を身に付けることが最善です。頻繁に。

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 をオフに設定する必要があります。

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.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

以上がPHP セキュリティ構成チートシートは OWASP によって保守されていますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。