Revisión del complemento de WordPress BBQ:Block Bad Queries

Publicado: 2014-01-30

BBQ:Block Bad Queries es un firewall de aplicaciones web de WordPress que bloquea solicitudes HTTP maliciosas

Hay muchos complementos de seguridad de WordPress disponibles, pero solo unos pocos abordan la seguridad de WordPress de manera adecuada y lo ayudan a proteger su instalación de WordPress de ataques de piratas informáticos maliciosos.

Uno de estos complementos es BBQ: Block Bad Queries. Este complemento es como un firewall de aplicaciones web de WordPress altamente personalizable, pero simple y libre de mantenimiento que todo administrador y gerente de WordPress debería instalar.

Esta publicación de seguridad de WordPress explica:

  • Cómo funciona el complemento BBQ:Block Bad Queries
  • Cómo personalizar el complemento BBQ:Block Bad Queries
    • Modificar/agregar patrones para bloquear
    • Bloquee a los visitantes usando una cadena de agente de usuario específica
    • Configuración de un número máximo de caracteres permitidos en solicitudes HTTP
  • Cómo probar BBQ: Bloquear consultas incorrectas y sus personalizaciones

Cómo funciona el complemento de WordPress BBQ:Block Bad Queries

El complemento BBQ:Block Bad Queries analiza cada solicitud enviada a su WordPress antes de que el núcleo de WordPress la ejecute. Si la solicitud es maliciosa, el complemento prohíbe al visitante acceder a dicho recurso respondiendo con un código de estado HTTP 403, acceso prohibido.

La lista predeterminada de bloques de patrones maliciosos Block Bad Queries no solo protegerá su WordPress de ataques dirigidos a WordPress, sino que también protegerá su WordPress de posibles vulnerabilidades de día cero y otros ataques típicos como Cross-site scripting, SQL Injection y directorio transversal. Por lo tanto, si instala BBQ:Block Bad Queries, los piratas informáticos malintencionados aún no pueden explotar las vulnerabilidades conocidas si está ejecutando una instalación, complemento o tema vulnerable (antiguo) de WordPress.

Consejo de seguridad de WP White : incluso si ejecuta BBQ:Block Bad Queries, aún debe ejecutar las versiones más recientes y seguras de WordPress, complementos y temas. El complemento WordPress BBQ debe usarse como una capa adicional de seguridad en lugar de cerrar los agujeros de seguridad existentes.

Personalización del complemento BBQ:Block Bad Queries

Por defecto, Block Bad Queries no necesita personalizaciones ni cambios de configuración, pero siempre hay excepciones a las reglas. En caso de que necesite personalizar BBQ:Block Bad Queries, aquí hay una explicación de lo que puede personalizar. Para empezar, escanea tres partes de cada solicitud que se envía a una instalación de WordPress:

Solicitar URI : la URL solicitada por el usuario, por ejemplo, https://www.wpwhitesecurity.com/wordpress-security/

Cadena de consulta : la cadena de consulta incluida con la URL, por ejemplo, https://www.wpwhitesecurity.com/wordpress-security/?query_string=1

Cadena de agente de usuario : la cadena de agente de usuario se envía automáticamente desde el software del cliente que accede a su WordPress para identificarse. Por ejemplo, Google Chrome usa la siguiente cadena de agente de usuario:

Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/32.0.1667.0 Safari/537.36

Todos los patrones que normalmente se usan en solicitudes maliciosas se almacenan en tres matrices en el complemento y su nombre se explica por sí mismo:

  • $request_uri_array
  • $consulta_cadena_arreglo
  • $usuario_agente_matriz

BBQ:Block Bad Queries no tiene interfaz de configuración. Por lo tanto, si desea realizar alguna modificación como se explica en los ejemplos a continuación, debe editar el código del archivo del complemento php.

Modificación de las solicitudes HTTP que debería bloquear el complemento BBQ:Block Bad Queries

Si desea bloquear un tipo específico de cadena de consulta, agregue el patrón de cadena de consulta a la matriz $query_string_array. Una vez que agregue un nuevo patrón, pruébelo para asegurarse de que no está bloqueando solicitudes legítimas. Un ejemplo de sintaxis sigue:

$query_string_array  = apply_filters( 'query_string_items',  array( 'PATTERN_1', 'PATTERN_2', 'PATTERN_3');

Nota: Cada patrón que agregue debe declararse entre comillas simples (') y separarse de los otros patrones con un símbolo de coma (,).

Bloqueo de visitantes con un agente de usuario específico de WordPress

Para bloquear a los visitantes que usan un agente de usuario específico, como bots automatizados de virus y malware, agregue su cadena de agente de usuario en $user_agent_array.

Configuración de un límite máximo de longitud de URL para WordPress

Al limitar la cantidad de caracteres que se pueden usar en una solicitud HTTP, puede proteger su instalación de WordPress de ataques de día cero y varios otros ataques maliciosos. Los ataques de día cero son vulnerabilidades de software que son explotadas por piratas informáticos maliciosos pero que el proveedor de software aún no conoce, por lo que aún no existe un parche.

La mayoría de los ataques maliciosos a aplicaciones web emplean direcciones URL largas para explotar vulnerabilidades conocidas. Por lo tanto, si limita la cantidad de caracteres que se pueden usar en una solicitud HTTP, automáticamente está protegiendo su instalación de WordPress de este tipo de ataques.

Al limitar la cantidad de caracteres utilizados en una URL, también puede bloquear solicitudes legítimas. Por lo tanto, antes de habilitar esta función de seguridad, compruebe cuál es la longitud de la URL más larga que tiene en su instalación de WordPress (incluso en la sección de páginas de administración de WordPress (/wp-admin/).

Para habilitar y configurar una longitud máxima de URL, descomente (eliminando '//') la siguiente línea de código en el complemento y especifique la cantidad máxima de caracteres que puede contener una solicitud HTTP. El valor predeterminado en el complemento es 255, como se muestra a continuación.

strlen( $_SERVER['REQUEST_URI'] ) > 255 ||

Prueba de su cortafuegos de aplicaciones web de WordPress

Una vez que haya instalado el complemento de WordPress BBQ:Block Bad Queries, ejecute varias pruebas solicitando la siguiente lista de URL de muestra para asegurarse de que funciona (reemplace some_site.com con su dominio):

  • http://www.algún_sitio.com/../../../etc/passwd
  • http://www. algún_sitio.com/ruta/?q=%00
  • http://www. some_site.com/ruta/base64_

Si el complemento funciona correctamente, el servidor debe responder con un Código de estado HTTP de 403 Prohibido al solicitar dichas URL. Las solicitudes anteriores son solo ejemplos de URL que deben ser bloqueados por el complemento BBQ:Block Bad Requests. Puede ejecutar varias otras pruebas mediante el uso de solicitudes que normalmente se usan en ataques de piratería en la vida real.

Probando el complemento BBQ:Block Bad Queries con Fiddler

Si no está seguro de cuál es la respuesta del servidor al enviar solicitudes HTTP maliciosas, puede confirmar la respuesta utilizando el proxy Fiddler.

Como se destaca en la siguiente captura de pantalla, en esta prueba solicitamos la URL https://www.wpwhitesecurity.com/contact/base64_ y podemos confirmar que el servidor responde con una respuesta HTTP 403 Prohibida.

Prueba de barbacoa: bloquee el complemento de WordPress de solicitudes incorrectas con Fiddler

Block Bad Queries Plugin: un cortafuegos de aplicaciones web para WordPress

¡Ahí tienes! Si ha estado buscando un firewall de aplicaciones web fuerte y altamente personalizable para sus blogs y sitios web de WordPress, instale el complemento BBQ:Block Bad Queries y olvídese de él. Puede descargar BBQ:Block Bad Queries desde el repositorio de complementos de WordPress o comprar su versión PRO desde aquí.

Si, por otro lado, prefiere algo que no necesite ninguna configuración y que también analice malware, le recomendaría el escáner de malware Malcare.