Luego de largas experiencias de implementación de sitios web con wordpress sobre un hosting les dejo en este post los puntos que considero claves para proteger nuestra instalación de ataques por hackers. Estos tips no es lo más seguro pero por lo menos estarás tranquilo.
-
-
- Cambia el prefijo de las tablas de la base de datos
Cuando estas instalando wordpress el asistente te pedirá que uses el prefijo por defecto wp_ para las tablas. Piensa en uno diferente a la instalación, el prefijo wp_ por defecto es conocido por todos los hackers. - No uses el usuario de nombre admin, root, user, etc. Estos nombres de usuarios son usados frecuentemente por los hackers en sus ataques.
- Actualizar contraseñas seguras a los usuarios
Puedes visitar el siguiente enlace aqui de mozilla que te ayuda a crear una contraseña segura. Recuerda empezar por una frase que te gusta! - Desactiva la edición de temas y plugins mediante el archivo wp-config.php. Comunmente este archivo se ubica en la raiz de la instalación de wordpress. Copia la sgte. línea de código.
define( 'DISALLOW_FILE_EDIT', true );
Así como la imagen:
- A este mismo archivo wp-config.php proteger con los permisos 444
- Proteger el archivo wp-config.php mediante el archivo .htaccess que esta en la raiz del sitio. Probablemente este oculto. En este archivo .htaccess debes de agregar al final las siguientes líneas:
<Files wp-config.php> order allow,deny deny from all </Files>
- Elimina o edita el nombre del archivo wp-config-sample.php de la raiz de tu instalación de wordpress. Este archivo también es conocido por los hackers.
- Aplicar los permisos 755 para carpetas o directorios y 644 para los archivos como en la imagen.
- Mantener actualizado nuestra instalación con la última versión de wordpress nos permitirá tener al alcance los últimos bugs solucionados en una nueva versión.
- Si utilizas CPANEL puedes proteger el directorio wp-admin a través de un usuario y contraseña
- Instalar solo los plugins que necesitemos, pero los siguientes nos darán seguridad extra.
Limit Login Attempts
Este plugin bloquea a una ip por los intentos de inicios de sesión mediante técnicas de fuerza bruta.
Akismet
Este plugin es uno de los mejores en combatir los comentarios spam. Al instalar el plugin tendrás que activarlo mediante una api key suscribiendote gratuitamente en su plan free.
iThemes Security
Este plugin nos trae un set te herramientas (todo en uno) que nos ayudaran a proteger nuestro wordpress. Una información más al detalle de este gladiador lo encuentras aquí
Google Captcha (reCAPTCHA) by BestWebSoft Google
Este famoso plugin insertará el clásico «No soy un robot» de google para validar que no sea un algoritmo de acceso de algún hacker .
WPS Hide Login
Instalar el plugin WPS Hide Login que nos permite cambiar el nombre de la url de acceso o login al panel administrador de wordpress.
- Deshabilitar la ejecución de php en las carpeta /wp-content/upload y /wp-includes usando un achivo .htaccess con las siguientes instrucciones
<Files *.php> deny from all </Files>
- Limitar el acceso a la carpeta wp-content añadiendo un archivo .htaccess en esta carpeta mencionada con el siguiente código
Order deny,allow Deny from all <Files ~ ".(xml|css|js|jpg|jpeg|png|gif|map|rtf|odf|ttf|ttc|otf|eot|woff|woff2|font.css|jpe?g|svg|svgz|ico|webp)$"> Allow from all </Files>
- Limitar el acceso a la carpeta wp-admin añadiendo un archivo .htaccess en esta carpeta mencionada con el siguiente código
order deny,allow allow from x.x.x.x deny from all
Donde x.x.x.x es tu ip pública. Si es dinamica tendrás que agregar la ip que se genera diariamente en tu router.
- Bloquear la navegación por directorios aladiendo en tu archivo .htaccess de la raiz el siguiente código
# directory browsing Options All -Indexes
- Proteger el mismo archivo .htaccess del raiz con el siguiente código
<Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>
- Denegar todas las solicitudes al archivo xmlrpc.php, excepto para su IP, utilizando las siguientes reglas en el archivo .htaccess de la raiz
<Files xmlrpc.php> order deny,allow deny from all allow from x.x.x.x </Files>
Donde x.x.x.x es tu ip pública
Otra opción más fácil es usando el plugin Eazy XMLRPC Pingback Disable
- Una vez mas actualizar y eliminar plugins o temas que no se usan.
- Cambia el prefijo de las tablas de la base de datos
-
Enamorado del blues, la trova y el rock. Un apasionado a tiempo completo de la tecnología, pivoteo y me adapto a cada nuevo paso que se da. Busco continuamente las mejores prácticas y metodologías para asegurar la calidad en el software y los procesos de negocio. Algunas horas las dedico a buscar conocimiento en filosofía y teología.