Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
En general, no es necesario instalar un plugin para mejorar la seguridad de wordpress. Basta actualizar con frecuencia, tener utilizar algo de sentido común y hacer algunas modificaciones en los ficheros .htaccess y wp-config.php
- El nombre del usuario administrador no debe ser «admin», que es el valor por defecto y creado en las instalaciones automáticas.
- La contraseña de los usuarios debe ser segura.
- Debemos eliminar los plugins que no usemos (no sólo desactivarlos), puesto que están subidos al ftp y pueden contener vulnerabilidades.
- Instalar plugins fiables (en principio, que se actualicen con frecuencia, que tengan buena valoración proveniente de varios usuarios, etc.).
- El prefijo de las bases de datos debe ser diferente de wp_, que es el prefijo estandar de todas tablas de wordpress del mundo, y esto permite al hacker tener una información valiosa sobre nuestra web.
- Modificaciones en el .htaccess ubicado en la raíz de wordpress
# Bloqueamos acceso al directorio includes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# Bloqueamos acceso a WP-CONFIG
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>
#Sólo nuestra IP en el login
<Files wp-login.php>
Order Allow,Deny
Deny from all
Allow from 127.0.0.1
</Files>
# Protegemos nuestros HTACCESS
<Files ~ “^.*\.([Hh][Tt][Aa])”>
Order allow,deny
Deny from all
Satisfy all
</Files>
# Cerramos acceso a directorios de themes y plugins
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
RewriteRule wp-content/plugins/(.*\.php)$ - [R=404,L]
RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
RewriteRule wp-content/themes/(.*\.php)$ - [R=404,L]
# No permitir ver los directorios
Options -Indexes
# Bloquear a los listillos que intentan descubrir vuestro author
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* http://example.com/? [L,R=302]
# Deshabilitar el fichero xmlrpc.php. Ese fichero nos permite publicar remotamente a través de Microsoft Word, Textmate, Thunderbird, smartphones, entre otros clientes. También se encarga de pingbacks (enlaces de otros blogs a nuestros artículos) y enviar los trackbacks (enlaces de nuestro blog hacia artículos de otros blogs). Actualmente no se conocen vulnerabilidades de este fichero, pero hay muchos servicios que siguen atacando wordpress a través de él, lo cual puede derivar en una ralentización de la web. En principio, lo podemos borrar sin problemas ni remordimientos, o deshabilitar desde el .htaccess.
<Files xmlrpc.php>
order allow,deny
deny from all
</Files>
- Permitir el acceso al admin de wordpress, pero sólo desde cierta IP (colocar un fichero .htaccess con este código en la raíz de la carpeta wp-admin):
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
order deny,allow
Deny from all
allow from 127.0.0.1
allow from 127.0.0.2
...
- Modificaciones en el fichero wp-config.php ubicado en la raíz.
/*Deshabilitamos la posibilidad de editar el código fuente
de WordPress desde el panel de administración de WordPress*/
define('DISALLOW_FILE_EDIT', true);
/*No queremos mostrar información de errores a ningún hacker*/
define('WP_DEBUG', false);
/*En caso de que el servidor tenga certificado de seguridad,
nos interesa utilizarlo para el login*/
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
Plugins de seguridad
- Wordfence Security -> Plugin que cuenta de una opción genérica de seguridad que debería bastar para la mayoría de las webs.
- Sucuri Security – Auditing, Malware Scanner and Security Hardening