Aprenda a deshabilitar la regla de ModSecurity en Plesk que impide que su página de devolución de llamada de redirección de Google OAuth2 funcione correctamente.

Cómo deshabilitar la regla ModSecurity en Plesk (callback de redirección de Google OAuth2 bloqueada por ModSecurity)

Hoy, cuando estaba trabajando en la implementación del cliente Google OAuth 2.0 para acceder a las API de Google, encontré un problema interesante que puede ocurrirle a todos los desarrolladores que intentan crear una página de callback para OAuth para Google en sus sitios web si está alojada en un servidor basado en Plesk. Después de investigar un poco, encontré este problema interesante que afirmaba que había un problema con el servidor cuando intenté iniciar sesión a través de OAuth2 con mi cuenta de Google en una implementación muy simple del cliente de Google, donde todo lo que tenía que hacer era iniciar sesión en la aplicación, autorizar el acceso y luego, Google debería redirigirme a la URL oauthcallback.php de mi sitio web. Curiosamente, todo lo que encontré fue una página 403 que no debería estar allí:

ModSecurity Plesk

No hay excepción de PHP, como esperaría si algo saliera mal, solo un mensaje de acceso prohibido de mi servidor. Al principio pensé que tal vez había un problema con los permisos del archivo, pero después de verificar los registros de apache encontré exactamente la misma excepción que se describe en el problema de Github que mencioné anteriormente, estaba relacionado con una regla de seguridad de ModSecurity, que está disponible de forma predeterminada y se utiliza en todos los servidores Plesk que existen.

En este artículo, le explicaré cómo evitar fácilmente este problema para permitir que su aplicación siga el flujo de autenticación de la API de OAuth como de costumbre.

1. Abra el cortafuegos de aplicaciones web (ModSecurity)

Abra la página de herramientas y configuración de su servidor basado en Plesk:

Tools and settings Plesk Application Firewall

Una vez que acceda a este módulo, encontrará el firewall de la aplicación completamente activo:

Web Application Firewall

2. Apague la regla que está causando la excepción

El conjunto de reglas básicas (CRS) de OWASP ModSecurity es un conjunto de reglas genéricas de detección de ataques para usar con ModSecurity o firewalls de aplicaciones web compatibles. El CRS tiene como objetivo proteger las aplicaciones web de una amplia gama de ataques, incluido el OWASP Top Ten, con un mínimo de alertas falsas. Una de esas reglas es ser un falso positivo, y es básicamente la causa de que su página de devolución de llamada de OAuth no funcione como se esperaba ( más información sobre este problema aquí ).

Como siguiente paso, debe desactivar la regla de seguridad que impide que la página de devolución de llamada de OAuth2 funcione correctamente. En mi caso, como se especifica en la imagen de este artículo (Acceso denegado con el código 403 (fase 2). Frase coincidente ".profile" en ARGS:scope):

Plesk ModSecurity Exception

Puede ver que la regla activada está identificada por el ID 210580, por lo que todo lo que necesita hacer ahora es simplemente agregar el ID en el área "Desactivar reglas de seguridad" del firewall de la aplicación:

Switch Off Security Rules

Luego haga clic en Aplicar e interactúe con la página de devolución de llamada OAuth2 de su sitio web, debería ser accesible y funcionar nuevamente como se esperaba. Tenga en cuenta que, según su caso y el alcance de su aplicación, la ID de la regla de ModSecurity puede ser diferente, por lo que si obtiene la excepción, asegúrese de revisar los registros y ver la ID de la regla que desencadena el problema.

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores