Heim  >  Artikel  >  Backend-Entwicklung  >  Spickzettel zur PHP-Sicherheitskonfiguration, verwaltet von OWASP

Spickzettel zur PHP-Sicherheitskonfiguration, verwaltet von OWASP

藏色散人
藏色散人nach vorne
2019-12-03 14:02:472052Durchsuche

Spickzettel zur PHP-Sicherheitskonfiguration, verwaltet von OWASP

Einführung

Der Zweck dieser Seite besteht darin, denjenigen zu helfen, die PHP und die Webserver, auf denen es läuft, konfigurieren, um dies sicherzustellen seine Sicherheit.

Unten finden Sie die korrekten Konfigurationsinformationen für die php.ini-Datei.

php.ini

Einige der folgenden Einstellungen müssen an Ihr System angepasst werden, insbesondere session.save_path, session.cookie_path (zum Beispiel: /var/www /mysite) und session.cookie_domain (zum Beispiel: exampleSite.com).

Sie sollten außerdem PHP 7.2 oder höher ausführen. Wenn Sie PHP 7.0 und PHP 7.1 verwenden, werden Sie an einigen Stellen unten leicht unterschiedliche Werte verwenden (siehe Inline-Kommentare).

Schauen Sie sich abschließend die PHP-Dokumentation an, um eine Referenz zu jedem Wert in der Konfigurationsdatei php.ini zu finden.

Eine Kopie der folgenden Konfiguration in einer vorgefertigten php.ini-Datei finden Sie hier.

PHP-Fehlerbehandlung

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

Bitte beachten Sie: Sie müssen display_errors in der Produktionsumgebung auf Aus setzen, und es ist am besten, eine gute Angewohnheit zu entwickeln, diese Protokolle zu überprüfen häufig.

Gemeinsame PHP-Einstellungen

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_* ist anfällig für vollständige LFI- und RFI-Schwachstellen.

PHP-Upload-Dateiverarbeitung

file_uploads            = On
upload_tmp_dir          = /path/PHP-uploads/
upload_max_filesize     = 2M
max_file_uploads        = 2

Wenn Ihre Anwendung die Datei-Upload-Funktion nicht verwendet oder die einzige Möglichkeit für Benutzer, Uploads einzugeben, ein Formular ist, das dies nicht tut Dokumentanhänge enthalten Zum Senden sollte file_uploads auf Aus gesetzt sein.

Verarbeitung ausführbarer PHP-Dateien

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         =

Die oben genannten Methoden und Klassen sind in PHP gefährlich. Nicht verwendete Methoden und Klassen sollten Sie deaktivieren.

PHP-Sitzungsbehandlung

Es gibt einige Werte, die in den Sitzungseinstellungen beachtet werden müssen. Es ist eine gute Übung, den Sitzungsnamen zu ändern zu einem neuen.

 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

Mehr Prüfungen auf Sicherheitsrisiken

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

Englische Originaladresse:

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

Das obige ist der detaillierte Inhalt vonSpickzettel zur PHP-Sicherheitskonfiguration, verwaltet von OWASP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen