Disabilitare le funzioni exec, shell_exec, system ed altre direttamente dal file php.ini dai nostro webserver apache, nginx o lighttpd per migliorare la sicurezza dei nostri server dedicati

In base alle configurazioni del/dei nostri webserver, è possibile che ci siano più di un php.ini. Quindi eseguiamo

locate php.ini

L’output dovrebbe essere tipo
root@s03:~# locate php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini

Dovremo modificare tutti e 3 i file e poi riavviare il webserver e PHP-FPM

apriamo ad esempio /etc/php5/apache2/php.ini (sarà necessario modificare tutti i file php.ini)

pico /etc/php5/apache2/php.ini

Ora cerchiamo la voce disable_functions e modifichiamola in questo modo

disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

potrebbe essere necessario mantenere attivo curl_exec e curl_multi_exec, funzioni utilizzate spesso da importanti CMS come WordPress e PrestaShop.

Per incrementare ancora di più il grado di sicurezza, mettiamo a off anche le seguenti impostazioni

allow_url_fopen=Off
allow_url_include=Off

ora non ci resta che riavviare i vari web server. Ad esempio se usiamo Apache

service apache2 restart