Pautas de seguridad básicas para servidores compartidos
- Asegúrate de que tu ordenador local sea seguro. Para ello, es recomendable usar software antivirus de confianza, tales como:
-
- Norton Internet Security, ofrece Antivirus, Antispyware, Two-way firewall, Antiphishing, etc.
o - Kaspersky Internet Security, ofrece protección integrada para todas las amenzas de Internet, tales como control parental, firewall personal, filtro anti-spam, control de privacidad y más.
- Norton Internet Security, ofrece Antivirus, Antispyware, Two-way firewall, Antiphishing, etc.
- Comprueba que todas tus aplicaciones web están actualizadas. Esto incluye cualquier módulo o componente que hayas agregado o integrado;
- Asegúrate de utilizar plugins descargados de fuentes oficiales. Los archivos que se descargan de fuentes no oficiales a menudo se editan para incluir código adicional que incluye puertas traseras para que los atacantes usen e infecten un sitio web.
- Elige contraseñas seguras para la cuenta principal, MySQL, FTP y usuarios de correo. Nunca uses las mismas contraseñas para diferentes usuarios. Por ejemplo, un usuario de MySQL no debería usar la misma contraseña que tu usuario de FTP.
- Evita tener directorios con permisos superiores a 755. Si tus aplicaciones requieren dichos directorios, intenta colocarlos fuera de tu webroot (public_html) o coloca un archivo .htaccess en ellos que contenga la línea “Deny from all” para restringir el acceso público a estos archivos.
- Modifica la configuración local de PHP para mayor seguridad. Esto se hace desactivando funciones innecesarias. A continuación tienes algunos ejemplos de directivas recomendadas:
allow_url_fopen=off
disable_functions = proc_open , popen, disk_free_space, set_time_limit, leak, tmpfile, exec, system, shell_exec, passthru
Ten en cuenta que estas directivas pueden afectar al funcionamiento del código. Tienen que añadirse a un archivo php.ini en cada directorio al que quisieras aplicarlas.
- Evita que Perl y otros bots accedan a tu sitio. Esto se puede configurar añadiendo el siguiente código en tu .htaccess:
SetEnvIfNoCase User-Agent libwww-perl bad_bots
order deny,allow
deny from env=bad_bots
- Si no usas scripts Perl, añade un controlador falso para esos archivos. En el directorio raíz, añade un archivo .htaccess con el siguiente código:
##Deny access to all CGI, Perl, Python and text files
<FilesMatch “.(cgi|pl|py|txt)$”>
Deny from all
</FilesMatch>
##If you are using a robots.txt file, please remove the
# sign from the following 3 lines to allow access only to the robots.txt file:
#<FilesMatch robots.txt>
#Allow from all
#</FilesMatch>
El código anterior evitará que se ejecuten scripts Perl. Muchas vulnerabilidades/exploits están escritos en Perl y esto evitará que se ejecuten. Esta directiva se aplicará a todos los subdirectorios.
IMPORTANTE: Si tu cuenta ha sido comprometida, es muy probable que el intruso haya dejado entradas de acceso para poder acceder de nuevo. Por ello puede que no sea suficiente con solamente arreglar el código vulnerable. Encontrar las entradas de acceso es un proceso que lleva tiempo y es costoso (requiere un desarrollador profesional). Por lo que en ocasiones es posible que prefieras volver a crear tu página web.