Medidas de seguridad en WordPress

seguridadWordPress va genial, pero todo sea dicho, también puede ser un coladero si no se ponen medidas para hacerlo seguro. A continuación listo algunas de las medidas que se podrían aplicar para empezar a hacer de nuestro site, un sitio más seguro.

1. Eliminar el usuario “Admin”

Si vas a instalar un WordPress de cero, no uses “admin” como nombre de usuario. Tampoco “root” ni “administrador” ni cosas así. Si en su momento instalaste WordPress con el usuario “admin”, lo mejor es que crees un nuevo usuario con permisos de Administrador (ésto puedes hacerlo fácilmente desde el panel de control de WordPress) y una vez creado, te loguees con tu nuevo usuario y elimines el usuario “admin”. Tranquilo, al borrar el usuario te pedirá si quieres conservar los posts escritos por “admin” y a qué otro usuario atribuírselos. Sólo con ésto te evitarás más de un dolor de cabeza.

Ah, también ayuda usar un password complejo, a ser posible una combinación de mayúsculas, minúsculas, números y carácteres alfanuméricos.

2. Proteger el login

Si entras en tublog.com/wp-login.php o tublog.com/wp-admin, te redirigirá por defecto a la página de login de tu WordPress. Esta url es siempre la misma en todos los blogs WordPress, a no ser que hagas algo al respecto. En este punto podemos tomar, por lo menos, cuatro medidas diferentes:

  1. Cambiar las urls de administración por defecto (en lugar de entrar vía wp-login.php entrar via wp-otracosa.php).
  2. Limitar el número de intentos de login, para prevenir ataques por fuerza bruta.
  3. Restringir el acceso a la página de login, para que únicamente se pueda acceder al login desde las IPs que nosotros controlamos (en caso de ser posible, claro).
  4. Añadir un segundo factor de autentificación, que complete nuestro usuario//password.

Puedes implantar algunas de estas medidas (todas seguramente sea excesivo, pues en realidad da igual que cambies la url de administración si ya has restringido el acceso por IP a esta página). Si no tienes claro qué es lo que debes implementar, pasa directamente al punto 2.4, para añadir un segundo factor de autentificación, o mírate Latch para WordPress.

Veamos cada medida en detalle…

2.1. Cambiar la url de administración por defecto

Hay varios plugins que nos permiten cambiar la url de administración, para que no sea la de por defecto. Un plugin que hace ésto es “Lockdown WP Admin” y en este enlace explican un paso a paso para instalarlo y usarlo.

2.2. Limitar el número de intentos de login

Para ello podemos usar algún plugin, como el Login Lockdown. Bastará con, desde el panel de control de  nuestro WordPress ir a plugins > añadir nuevo, y buscar por “Login Lockdown” (de Michael VanDeMar) para instalarlo. Posteriormente lo activaremos y ya estarán funcionando las opciones por defecto (que podremos modificar desde ajustes > Login Lockdown).

Por defecto, Login Lockdown bloqueará durante 1 hora a la IP que falle el login más de  3 veces en 5 minutos. Genial para defendernos de los ataques de fuerza bruta.

2.3. Restringir por IP el acceso a la página de login

En el caso de que tengas controladas las IPs desde las que te loguearás a tu blog (por ejemplo, si en casa o en el trabajo tienes una IP pública fija), puedes restringir el login para aceptar peticiones únicamente desde esas IPs. Ésto podemos hacerlo en el VirtualHost de nuestro servidor web, o directamente en el htaccess. Para ello, bastará con añadir lo siguiente al final de tu fichero .htaccess:

# Protect wp-login.php from Brute Force Login Attacks based on IP Address

Order Allow,Deny
# Add your website domain name
Allow from example.com
# Add your website/Server IP Address
Allow from 69.200.95.1
# Add your Public IP Address using 2 or 3 octets so that if/when
# your IP address changes it will still be in your subnet range. If you
# have a static IP address then use all 4 octets.
# Examples: 2 octets: 65.100. 3 octets: 65.100.50. 4 octets: 65.100.50.1
Allow from 65.100.50.

El ejemplo anterior, lo he sacado directamente de esta web, donde además se da más detalle sobre este procedimiento y se analizan diferentes escenarios.

Si tocar el htaccess te es muy complicado, también puedes usar algún plugin como “Restricted Site Access“.

2.4. Segundo factor de autentificación

Una excelente medida de seguridad es usar un segundo factor de autentificación para loguearnos. Además de tener que introducir nuestro usuario y password, debermos proporcionar de forma correcta, un segundo factor. En este caso una opción es usar el plugin “Google Authenticator“, que deberemos usar junto con la app “Google Authenticator app” de Google para nuestro móvil.

Cuando queramos loguearnos en nuestro blog, se nos generará un número random en nuestro teléfono móvil, que deberemos introducir en el momento del login además de nuestro usuario y password. Aquí tienes un excelente paso a paso de cómo hacerlo.

Además de estos cuatro puntos

Una alternativa (o un añadido, según como lo veas) a los cuatro puntos de esta sección, para proteger el login, es usar Latch para WordPress, un “pestillo digital” que está en boca de todos hoy en día, que permite cerrar la posibilidad de loguearnos, y sólo abrirla cuando nosotros lo necesitemos. Muy interesante y cada vez más completo.

3. Instalar algún plugin de seguridad

Hay varios plugins que nos ayudarán a securizar nuestro WordPress, e incluso nos ahorrarán trabajo ya que solucionarán por nosotros más de un punto descrito en este post, y muchos otros que no se mencionan aquí. Por ejemplo, tenemos el “iThemes Security“, el “All In One WP Security & Firewall“.

Además de plugins de seguridad, existen otras herramientas como “WPHardening” que nos ayudarán a identificar y corregir problemas de seguridad en nuestro WordPress, ejecutándose directamente en el servidor.

4. Estar siempre actualizado

Otro punto clave en la seguridad de nuestro WordPress es mantenerlo todo actualizado: versión de WordPress, plugins y temas. Todo siempre actualizado. Asegúrate antes de actualizar, de contar con un backup completo de tu sitio web, por si las moscas, pero en general el proceso de actualización (de cualquier elemento de WordPress) suele ser rápido e indoloro.

Si usas muchos plugins, te recomendaría revisar, para cada plugin, la compatibilidad con la versión de WordPress a la que estés actualizando (que será la última, claro). Ésto lo puedes ver en la web de plugins de WordPress, en la página del plugin en sí, en el menú lateral, sección “compatibilidad”.

Por si no ha quedado claro, este punto es crucial para aumentar la seguridad de tu WordPress: mantente siempre actualizado.

5. Usar plugins de confianza, y sólo los necesarios

Y siempre  plugins que se mantengan al día, no plugins cuya última actualización fue hace 3 años. Fíjate, cuando vayas a decidir si instalar o no un plugin, en la última actualización del mismo. Y ten en cuenta que cuantos más plugins tengas, más posibilidad des que alguno de ellos tenga algún fallo de seguridad, así que instala sólo lo que necesites, y elimina todos aquellos plugins que no uses.

6. Permisos apropiados en ficheros y directorios

En muchas ocasiones, nos podemos encontrar con que nuestros ficheros y/o directorios de WordPress no tienen el usuario/permisos que cabría esperarse… ¿Un 777 en la carpeta “uploads”? Suena mal…

Todos los ficheros de WordPress deberían tener como permisos 644, mientras que los directorios deberían tener un 755 [Fuente]. Puedes asegurarte de tenerlo todo así, símplemente ejecutando estos dos comandos:

find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

Idealmente, el usuario/grupo propietarios de los ficheros/directorios de nuestro WordPress, debería ser el usuario del servidor web. Como estamos en CentOS (o similar) debería ser el usuario “apache”. Si estás en Debian (Ubuntu o similares) deberás usar “www-data”.

chown -R apache:apache /path/to/your/wordpress/install/

 

Hay muchos otros factores que nos ayudarán a securizar nuestro WordPress, pero con éstos ya tenemos algo con lo que empezar.

 

Fuentes:

http://www.wpbeginner.com/wp-tutorials/how-to-change-your-wordpress-username/
http://www.blogpocket.com/2014/07/08/las-10-medidas-de-seguridad-imprescindibles-en-wordpress/

Flickr! Foto por Liz Jones

2 opiniones en “Medidas de seguridad en WordPress”

    1. Hola @Joan
      Pues que consigan entrar en tu WordPress, cambiar contenido, inyectar código malicioso, acceder al server…

      He buscado un poco por curiosidad, y los temas son algo que conviene tener actualizados, pues se llevan un porcentaje nada despreciable de los problemas de seguridad. Aquí un par de enlaces interesantes:
      https://ithemes.com/2016/01/14/understanding-wordpress-security-vulnerabilities/
      https://en.wikipedia.org/wiki/WordPress#Vulnerabilities

      Espero que te sirva

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *