Otra de las precauciones que podemos tomar es agregar a nuestro WordPress determinados plugins que ayudan a que nuestra página web sea más segura. En este caso, vamos a repasar la instalación y configuración del plugin iThemes Security dado que es uno de los mejores plugins disponibles actualmente para WordPress.
Ingreso a administrador WordPress
Lo primero que tenemos que hacer es ingresar al administrador de nuestro WordPress. La ruta de acceso va a depender de cómo hayamos realizado la instalación, pero por lo general vamos a poder acceder a través de: miDominio.com/wp-admin
Añadir el plugin
Una vez que ingresamos, buscamos en la barra lateral izquierda la opción Plugins y seleccionamos “Añadir Nuevo”
Instalar plugin
En el buscador de la izquierda escribimos “iThemes” y presionamos enter. Una vez que finalice la búsqueda hacemos click en Instalar Ahora. Una vez que finaliza la instalación hacemos click en Activar
Configuración inicial
Luego, sobre la barra lateral izquierda buscamos la opción Seguridad y seleccionamos Configuración. Hacemos click en Secure Site (Asegurar Sitio) para que el Plugin aplique las configuraciones básicas en nuestro WordPress
Panel de control
Una vez que finaliza la configuración inicial vamos a ver el panel de control de iThemes, desde donde vamos a poder seleccionar las configuraciones y comprobaciones que necesitemos para asegurar el sitio. Veamos algunas de las más usadas
Ajustes globales
Dentro de este apartado vamos a poder revisar la configuración general de nuestro sitio. Es una buena idea darle una ojeada primero para ver cuál es la configuración que más nos conviene. Lo bueno del plugin es que cada opción contiene un detalle de a qué se refiere exactamente, lo cual lo hace accesible para quienes no tienen mucha experiencia con WordPress.
La configuración recomendada para cada opción es la siguiente:
- Escribir en los archivos: Activando esto iThemes Security podrá aplicar cambios a los archivos de sistema .htaccess y wp-config.php.
Ajuste recomendado: Activo -
Mensaje de bloqueo al servidor: Aquí debemos anotar cualquier mensaje que queramos que muestre el plugin a cualquier servidor atacante que bloquee. Admite HTML pero no nos compliquemos, con el ajuste por defecto (Error) es suficiente.
Ajuste recomendado: Error -
Mensaje de bloqueo del usuario: Aquí es justo lo contrario, mejor ser más explicativo, pero con el ajuste por defecto también alcanza
Ajuste recomendado: Avisar al usuario del motivo por el que ha sido bloqueado (normalmente demasiados intentos seguidos fallidos) - Mensaje de bloqueo en la comunidad: Este ajuste se refiere a bloqueos cuando estamos conectados con la API, dado que el plugin bloqueará también a usuarios y servidores que la red de usuarios ha detectado como peligrosos.
Ajuste recomendado: Error -
Lista negra de infractor reincidente: Este ajuste, si está activo, crea una lista negra de atacantes reincidentes.
Ajuste recomendado: Activo -
Umbral de lista negra: Cada cuántos intentos de acceso fallidos se añade a un usuario a la lista negra del ajuste anterior
Ajuste recomendado: 3
Ajuste recomendado: Activo - Período retroactivo Lista negra: Durante cuantos días se considera reincidente a un usuario de los bloqueos.
Ajuste recomendado: 7 -
Período de bloqueo: Durante cuánto tiempo se debe bloquear a un usuario tras alcanzar el límite de intentos fallidos (umbral de lista negra).
Ajuste recomendado: 15 minutos -
Lista blanca de bloqueo: Aquí puedes añadir las IPs seguras, como la nuestra.
Ajuste recomendado: nuestra IP -
Tipo de registro: Donde guardará el plugin el registro de eventos.
Ajuste recomendado: Solo en base de datos -
Días para mantener registros de la Base de datos: Autoexplicativo.
Ajuste recomendado: 30 días -
Permitir Rastreo de Datos: Si queremos que el plugin comparta información de nuestra instalación.
Ajuste recomendado: No activo - Anular detección del proxy: Ajuste solo para servidores muy antiguos, sin cache de servidor ni ningún servicio de entrega de contenidos.Ajuste recomendado: No activo
-
Ocultar el menú de seguridad en la barra de administración: Autoexplicativo. Por defecto hay un menú de seguridad en la barra de menú de admin, casi siempre innecesario.
Ajuste recomendado: Activo -
Mostrar códigos de error: Activar esto sirve para depurar errores de plugin. Solo recomendable en caso de problemas con el plugin.
Ajuste recomendado: No activo
Activar protección contra fuerza bruta
Una de las formas de ataque más común es lo que se conoce como ataque de fuerza bruta: en este caso el atacante intenta adivinar la contraseña del administrador de WordPress colocando todas las combinaciones posibles de letras y números. Aunque suene como una tarea que bien puede llevar varios años, la velocidad de estos ataques es tal que pueden probar decenas de contraseñas por segundo, lo cual, entre otras cosas, hace que nuestra página se cargue más lento (ya que está ocupada en verificar todas las contraseñas que están siendo ingresadas). Activando la protección de iThemes lo que logramos es bloquear la IP del atacante luego de una determinada cantidad de intentos infructuosos. Para poder configurar esta funcionalidad debemos hacer click en Configure Settings (Configuración) y seleccionar la cantidad de veces que nuestro WordPress deja que alguien se equivoqué de contraseña durante un determinado período de tiempo. Por default, el plugin bloquea la IP luego de 5 intentos erróneos dentro del lapso de una hora, lo cual es muy razonable, pero podemos modificarlo si así lo deseásemos:
Ajustes de WordPress
Ajustes de seguridad muy importantes. Veamos la configuración recomendada para cada uno de ellos:
-
Cabecera Windows Live Writer – Quitar:
Cabecera obsoleta. Es una posible brecha de seguridad y ralentiza la carga de WordPress. -
Cabecera EditURI – Quitar:
Cabecera que usa la vulnerabilidad XML-RPC. -
Comentarios spam – Quitar:
Bloquea comentarios automáticos de los bots. -
Editor de archivos – Desactivar:
Desactiva el editor interno de WordPress de plugins y temas, además del editor de archivos de Yoast SEO y otros plugins. No desactiva el CSS Adicional del Personalizador. Es común que los hackers primero accedan y luego traten de escalar permisos para usar estos editores para inyectar código. -
XML-RPC – Desactivar:
Si no usamos la aplicación móvil de WordPress, JetPack o los pingbacks (recomendado) haremos bien en desactivar esta vieja vulnerabilidad de WordPress. -
Múltiples intentos de autenticación por petición XML-RPC – Desactivar:
Aunque tengamos activo XML-RPC esto siempre debe estar desactivado -
REST API – Acceso restringido:
Aunque alguna aplicación use la REST API restringe el acceso para que se requiera un usuario conectado. -
Mensajes de error de inicio de sesión – Desactivar:
No demos pistas. -
Forzar alias único – Forzar:
Evita usar el nombre de usuario como alias y así no dar pistas a los hackers. -
Desactivar archivos de usuario adicionales – Desactivar:
Si un autor no tiene artículos publicados no genera sus archivos de autor para no dar pistas a los hackers. -
Protección contra el tabnapping – Activo:
Se evita esta vulnerabilidad añadiendo noopener noreferrer a los enlaces _blank. -
Acceso con dirección de correo electrónico o nombre de usuario – Solo dirección de correo electrónico:
Aunque WordPress permite acceder con el usuario o el correo es más seguro permitirlo solo con el correo electrónico, siempre tiene caracteres especiales y son más largos que el nombre.
Detección de cambios de archivo
Al activar esta funcionalidad, iThemes nos va a proporcionar, diariamente, un listado de todos los archivos que fueron subidos o modificados en nuestra página. De esta manera, podemos controlar mejor si hubo algún archivo malicioso que se cargó en nuestro sitio. Para activar esta opción sólo debemos hacer click en Activar
Copia de seguridad de la Base de Datos
En esta opción vamos a poder elegir cómo vamos a realizar el backup de nuestra base de datos: qué tablas vamos a excluir, qué días se van a realizar los backups, si los vamos a comprimir, etc. Una vez que terminamos la configuración hacemos click en Save Settings (Guardar) para aplicar los cambios
404 Detección
Los errores 404 se deben a que la página a la que se intentó acceder no existe. Activar esta protección nos permite ver si algún atacante está escaneando nuestra web para encontrar vulnerabilidades. Por ejemplo, puede intentar entrar a subdirectorios de nuestro sitio como miDominio.com/wp/archivos, miDominio.com/admin/wp/ etc, que, tal vez, fueron creados cuando estábamos diseñando la página y luego olvidamos modificarlos, por lo que pueden ser un potencial punto de entrada para los ataques a nuestro sitio. Una vez que activamos la protección contra los errores 404 podremos configurar cada cuántos errores vamos a bloquear la IP del atacante. Una vez que terminamos con la configuración hacemos click en “Guardar Cambios.
Modo de Reposo
Esta configuración nos permite establecer una franja horaria dentro de la cual nadie va a poder acceder al panel de administración de WordPress. Esto nos permite asegurarnos que nadie va a poder realizar cambios en nuestro sitio en horarios en donde no estemos atentos al mismo (por ejemplo durante la noche o la madrugada). Tengamos en cuenta que esto no significa que el sitio va a estar caído o no disponible; la única funcionalidad que se suspende temporalmente es el acceso al panel de control de WordPress. Una vez que activamos el Modo de Reposo vamos a poder configurar la hora de inicio y de finalización del período de reposo
Ocultar Escritorio
Habilitando esta opción vamos a poder cambiar la ruta de acceso a nuestro panel de control, algo muy importante a la hora de protegernos contra ataques externos, dado que vamos a obligar a los atacantes a adivinar por dónde es que entramos al administrador de WordPress y, si tenemos activadas las funcionalidades que describimos anteriormente, van a ser rápidamente bloqueados de nuestro sitio. Una vez que activamos esta opción tenemos que definir una nueva ruta de acceso al panel de control