By 8 Gennaio 2014 0 Comments

Mettere in sicurezza PHP per i Web Server Windows

E’ importante mettere in sicurezza PHP (php.ini) su Web Server Windows.

Le funzionalità di PHP potrebbero divenire anche un potenziale rischio di sicurezza perché i dati sono ricevuti ed elaborati da ovunque su Internet. Gli aggressori possono tentare di inviare script dannosi che verrebbero eseguiti sul server. Gli aggressori possono anche tentare di leggere e scrivere file sul server per prendere il controllo del sito Web e usarlo per i propri scopi.

È possibile configurare le impostazioni PHP per rafforzare la sicurezza e proteggere il sito da attacchi. Il file php.ini specifica le impostazioni di configurazione e determina quali sono gli script PHP consentiti, le cose da “fare” e ciò che per lo script è vietato fare. 

allow_url_fopen = Off
allow_url_include = Off
Disabilitare URL remoti (che possono provocare vulnerabilità di iniezione di codice) per le funzioni di gestione dei file.
Questa impostazione è molto importante perché impedisce che un URL venga utilizzato in sintassi come include (). Impostazione allow_url_fopen “Off” significa che solo i file che risiedono all’interno del sito Web possono essere inclusi, non è possibile includere un file da un server diverso. (In un attacco RFI, qualcuno incorpora un URL in una richiesta HTTP sperando che lo script sia ingannato in esecuzione) Un comando come include (“https://website.com/page.php”), per esempio, non potrà essere eseguito

register_globals = Off
Disattivare register_globals.

open_basedir = “c:inetpub”
Limitare dove i processi PHP possono leggere e scrivere su un file system.

safe_mode = Off
safe_mode_gid = Off
Attivare la modalità safe_mode.
Questa impostazione non è nel file “consigliato Php.ini”. Limita le autorizzazioni con le quali alcuni script PHP vengono eseguiti. Alcuni script di terze parti non funzionano correttamente quando safe_mode è impostato su “On”, quindi alcuni clienti vi romperanno le…..Con PHP 6 safe_mode non esisterà.

max_execution_time = 30
max_input_time = 60
Limitare il tempo di esecuzione dello script.

memory_limit = 16M
upload_max_filesize = 2M
post_max_size = 8M
max_input_nesting_levels = 64
Limitare l’utilizzo della memoria e le dimensioni dei file.

display_errors = Off
log_errors = On
error_log = “C: percorso del vostra scelta”
Configurare messaggi di errore e la registrazione.
Queste impostazioni specificano che tutti gli errori e gli avvisi vengono registrati nel file di testo e specificano che non saranno mostrati. Gli errori non dovrebbero essere visualizzati pubblicamente, perché possono aiutare a capire come attaccare il vostro server. Controllare sempre il registro di errore (o il file di LOG) quando si sta testando un nuovo codice.

disable_functions=exec,passthru,shell_exec,system,proc_open,popen
oppure (più cattiva!) disable_functions =exec,passthru,shell_exec,system,proc_open, popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
personalmente consiglio di BLOCCARE anche questo tipo di comandi.

About the Author:

shared on wplocker.com