Cuando contratamos un servidor dedicado LAMP (linux, apache, mysql, php) , donde el sistema operativo aconsejamos que sea CENTOS, normalmente el PHP viene habilitado con la mayor parte de funcionalidades «peligrosas» y de las que se nutren los atacantes.
Al contratar nuestro primer server, o si ya somos asiduos en el aquiler de servidores (Virtuales/Clouds/Dedicados) mi consejo es que deshabilitemos las siguientes funciones en nuestro fichero «php.ini» (Si no sabemos donde está, le hacemos un «find / – name php.ini» en nuestra consola.) :
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»
(Al editar el archivo, buscamos primero la linea que empieza por disable_functions y añadimos todo el carro de funciones sensibles)
Finalmente y cuando un atacante intente usar dicha función, si es que lo consigue, verá el siguiente error:
Warning: exec() has been disabled for security reasons in /home/admin/domains/tudominio/test.php on line 86
* Por otro lado, si no vamos a usar Python ni CGIs, deberíamos deshabilitar su ejecución tambien, o bien contactar con vuestro hosting/datacenter para tal fin, ya que muchos scripts de phising y mailers los utilizan.
Comentarios recientes