Proteja su sitio de WordPress con un firewall de sitio web
Publicado: 2020-08-25
La gran popularidad de WordPress lo ha convertido en un objetivo enorme para los delincuentes y piratas informáticos que intentan explotar su sitio de WordPress para ganar dinero rápido. Incluso podrían ser solo niños de scripts que buscan obtener algo de credibilidad en Internet con sus compañeros al desfigurar su sitio por diversión. No importa cómo suceda, cualquier forma de compromiso del sitio provocará una grave pérdida de confianza con sus clientes y podría significar fácilmente el final de su marca.
Por lo tanto, proteger su sitio web, sus clientes y su marca es una prioridad principal cada vez que implementa una instancia de WordPress. Desafortunadamente, los piratas informáticos han desarrollado herramientas y técnicas sofisticadas para explotar WordPress y arruinar lo que ha creado. La única forma de mantenerse a la vanguardia es comprender cómo se puede atacar su sitio de WordPress y cómo protegerse contra esas amenazas.
En este artículo, veremos todas las formas en que los piratas informáticos pueden aprovechar las formas en que su sitio de WordPress se comunica con Internet y las defensas que puede erigir para detenerlos antes de que causen algún daño.
Filtrado de bits y bytes: un firewall de red
Enviar datos a través de Internet es un proceso sorprendentemente complicado. Hay muchas "capas" desde la capa de hardware en la parte inferior que define la infraestructura física hasta varias capas de software en la parte superior, cada una de las cuales depende de las que están debajo. Las capas que nos interesan en esta sección son las capas de host a host. En estas capas, los datos, como una imagen que envía a un amigo, se dividen en pequeños fragmentos llamados paquetes. Estos se enrutan a través de Internet desde usted (la fuente) hasta su amigo (el destino), donde se vuelven a ensamblar en la imagen original que envió.
Todos estos paquetes de datos tienen varias características que incluyen:
- Protocolo: por ejemplo, TCP, UDP, ICMP y más
 - Puerto: por ejemplo, Web 80/443, correo electrónico 110/25
 - Direcciones IP: las direcciones IP de origen y destino de las computadoras que envían y reciben los paquetes.
 
Un firewall de red se encuentra entre la interfaz de red y el sistema operativo e inspecciona cada paquete a medida que llega al servidor. Permitirá o denegará que un paquete pase al sistema operativo en función de un conjunto de reglas de autorización y bloqueo. Los paquetes se descartan si violan alguna de las reglas del firewall.
Un firewall de red es una parte indispensable de un servidor y de la instalación de WordPress, ya que bloquea cualquier comunicación no autorizada con procesos que están escuchando accidental o deliberadamente tráfico malicioso. El único tráfico que se permite a través del sistema operativo y más allá de WordPress debe cumplir con las estrictas reglas que impone el firewall.
Un firewall de red correctamente configurado es una parte estándar de cada servidor conectado a Internet. Desafortunadamente, esto no significa que sean fáciles de instalar y administrar. De hecho, si solo tiene acceso a su instancia de WordPress, es imposible administrar correctamente un firewall porque no se podrá acceder a un firewall efectivo desde WordPress.
Filtrado de solicitudes web: un firewall de aplicaciones web
Los piratas informáticos han ampliado su arsenal con un método sofisticado de ataque a la red en el que crean solicitudes web maliciosas para atacar su sitio de WordPress. Estas solicitudes web no violarán ninguna de las reglas del firewall de la red, por lo que se les permitirá interactuar con su sitio de WordPress donde pueden causar daños graves.
Para comprender cómo funcionan las solicitudes web maliciosas, primero considere cómo las solicitudes web han crecido en complejidad a lo largo de los años. Antes de las tecnologías web activas como PHP, una solicitud web era muy simple y tenía el siguiente aspecto:
 http://www.example.com/index.phpEsta solicitud se divide en partes de la siguiente manera:
-  
http://: la solicitud utiliza el protocolo HTTP. -  
www.example.com: el nombre de host que se resuelve en la dirección IP del servidor web. -  
index.php: el archivo que se solicita. 
Como puede ver, esta solicitud es muy directa. Cuando quería proteger un sitio web, simplemente creaba una lista de bloqueo de archivos que eran privados para que el servidor web se negara a servirlos. No había mucho más que eso.
A medida que la tecnología de los sitios web se ha vuelto más complicada, también han aumentado las oportunidades para explotar estas complejidades.
Un ejemplo de una solicitud maliciosa de este tipo se conoce como ataque de inyección SQL. Este tipo de ataque intenta leer información confidencial o modificar la base de datos de WordPress. Para ello, crea una solicitud web de que se ejecutará un script PHP y, si el script no se ha escrito para verificar sus entradas, permitirá que el atacante lea o escriba en la base de datos de WordPress.
Echemos un vistazo a una solicitud web de ataque de inyección SQL simple. Por ejemplo, imagine que tiene un formulario de inicio de sesión que se envía al navegador del cliente. Cuando completan el formulario, envía una solicitud web al servidor que contiene el nombre de usuario de la cuenta que ingresaron. En esta solicitud de ejemplo, el ID de nombre de usuario es JohnSmith , lo que nos brinda una solicitud web similar a esta:

 http://www.example.com/accountView?id=JohnSmithSi el script PHP en el servidor toma esta entrada y no verifica su validez, puede generar problemas serios. Por ejemplo, un pirata informático podría intentar enviar la siguiente URL con formato incorrecto que no tiene ninguna identificación, por ejemplo:
http://www.example.com/app/accountView?tiene un significado especial en SQL, el lenguaje de las bases de datos. Puede hacer que un script mal escrito envíe una lista completa de la base de datos del cliente, tal vez incluyendo contraseñas y otra información confidencial. Esto es obviamente un desastre.Entonces, ¿cómo te proteges contra estas formas de ataque?
Aquí es donde entra en juego un Firewall de aplicaciones web (WAF). Un WAF se coloca entre Internet y WordPress e inspecciona cada solicitud web a medida que llega al servidor. Si encuentra alguna solicitud que tiene un formato incorrecto, como la anterior, o viola su lista de reglas, bloqueará esa solicitud para que no llegue a su WordPress. Un WAF derrota de manera efectiva clases completas de errores de programación comunes que pueden comprometer fácilmente un sitio de WordPress que, de lo contrario, requeriría verificar cada archivo PHP en su sitio.
Obviamente, ese es solo un ejemplo de una solicitud maliciosa de una amplia gama de posibilidades que evoluciona rápidamente. Esto hace que un WAF verdaderamente efectivo sea un desafío continuo para agregar reglas que sigan el ritmo de los piratas informáticos. Al igual que un firewall de red, un WAF es una propuesta técnicamente desafiante para configurar y, lo que es más importante, mantener.
Deteniendo a los bots: protección de fuerza bruta y reCAPTCHA
La capa final de una defensa eficaz de la red es detener los ataques automatizados contra la página de inicio de sesión del panel de administración de WordPress. Estos ataques son lanzados por programas comúnmente llamados “bots” tomados de la palabra robot. Los piratas informáticos utilizan los bots porque trabajan incansablemente y en grandes cantidades para lanzar ataques coordinados.
El método de ataque más común es apuntar a una página de inicio de sesión con un ataque de fuerza bruta. Esto intenta adivinar nombres de usuario y contraseñas para que puedan iniciar sesión en su sitio de WordPress.
Un ataque de fuerza bruta funciona probando muchas combinaciones diferentes de nombre de usuario y contraseña. Por lo general, serán combinaciones de los nombres de usuario más populares, como
adminoroot, junto con las contraseñas más comunes, como "123456". Un ataque de fuerza bruta comenzaría enviando las siguientes combinaciones de nombre de usuario y contraseña:
- administrador: 123456
 - administrador: contraseña
 - administrador: déjame entrar
 - administrador: qwerty
 - raíz: 123456
 - raíz: contraseña
 - raíz: déjame entrar
 - raíz: qwerty
 
Y seguir de ahí probando combinaciones cada vez menos habituales.
El bot probará de unos pocos cientos a muchos miles y dependiendo de cómo esté configurado. La protección de fuerza bruta notará todos los inicios de sesión fallidos y luego bloqueará cualquier solicitud adicional proveniente de las direcciones IP que envíen las solicitudes de inicio de sesión falsas. Esta es una protección esencial para que los usuarios de WordPress a menudo elijan contraseñas más débiles cuando se les permite elegir sus propias contraseñas.
Los ataques de fuerza bruta no son el único uso para el que se utilizan los bots. También se emplean para sondear su sitio en busca de debilidades, archivos confidenciales expuestos o complementos y temas que puedan verse comprometidos.
Estos bots pueden ser detenidos en seco por una herramienta de abuso de publicidad antifraude estándar de la industria de Google llamada reCAPTCHA. reCAPTCHA separa automáticamente a los humanos de los bots maliciosos, lo que les permite visitar su sitio y rechazar a los bots. Esto generalmente sucede de manera invisible y sin problemas para el usuario humano, mientras que es imposible que el bot llegue a su sitio web, donde haría todo lo posible para ingresar.
Pero, ¿cómo hago todo esto?
Si no tiene el tiempo, el conocimiento técnico experto o el presupuesto para configurar y mantener un firewall de red, WAF, detector de fuerza bruta y reCAPTCHA, entonces debe dejarlo en manos de expertos como Rocket. Rocket es un proveedor de alojamiento administrado que obtiene la seguridad de WordPress. Incluyen todas estas herramientas de seguridad esenciales como estándar en cada instalación de WordPress.
Todo lo que necesita hacer es registrarse, iniciar un sitio de WordPress y unos segundos más tarde comenzar a crear.
O echa un vistazo a Cómo configurar la autenticación sin contraseña en WordPress
