Hi,
I'll probably be starting on my first Python web application soon. With PHP, I always set a bunch of security-related settings, e.g.:
Code:
php_admin_value[disable_functions] = apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode, symlink
As well as open_basedir and disabling version information/error logging once things go live.. nginx also requires something like this in the PHP-FPM block:
Code:
try_files $uri =404;
Does Pyhon/UWSGI with Nginx require similar settings? I want to prevent python from being able to execute shell commands and access files outside of the allowed paths. (I'm assuming webhosts must have something similar since they don't want users to access the files of other users in a shared hosting environment).
Thanks!