Cloudflare Firewall Rules para WordPress

Cloudflare Firewall Rules para WordPress

Anteriormente vimos como usar los Page Rules de Cloudflare para proteger tu sitio en WordPress. En este post, vamos a ver como agregar una capa adicional de seguridad con el Firewall de Cloudflare …

Acceder a Firewall y agregar tu ip al whitelist


1. Ir a Cloudflare y accede a tu cuenta.
2. Ir a Firewall -> Tools
3. Es buena práctica tener un vpn propio para acceder a tus sitios. Sino es así, puedes agregar tu ip actual a la lista de permitidas en la sección Tools:

Proteger el archivo wp-login.php


Este archivo es el principal responsable de manejar el acceso a tu sitio en wordpress. Algunos bots buscan enviar peticiones post directamente a el para buscar alguna vulnerabilidad. Por eso es el primero que debemos proteger:
4. Ir a Firewall Rules y agregar estas opciones:

O inserte esta expression en el editor:

(http.request.uri.path contains "/wp-login.php")

Importante: Puede elegir al final, un action acorde a sus gustos. Recomendamos un block completo si solo usted accede a su sitio, pero si cuenta con varios usuarios, puede usar el Challenge (captcha).
Finalmente haga click en Deploy

Proteger el archivo xmlrpc.php


Este archivo es segundo objetivo de ataques. Sino lo necesita, puede bloquearlo por completo:
5. Agregar esta regla:

O inserte esta expression en el editor:

(http.request.uri.path contains "/xmlrp.php")

Finalmente haga click en Deploy

Proteger el archivo wp-comments-post.php


Este archivo suele ser atacado de manera similar al otro, para automatizar comentarios en el sitio:
6. Agregar esta regla:

O inserte esta expression en el editor:

(http.request.uri.path eq "/wp-comments-post.php" and http.request.method eq "POST" and not http.referer contains "your-website.com")

Finalmente haga click en Deploy

Prevenir ataques tipo no-referrer request to plugins


Algunos plugins pueden presentar vulnerabilidades, o simplemente pueden tratar de hacerle a su sitio un ataque de Directory Transversal, es decir, insertar o descargar un archivo de su wordpress a través de rutas de sus plugins, para evitar esto:
7. Agregar esta regla:

O inserte esta expression en el editor:

(http.request.uri.path contains "/wp-content/plugins/" and not http.referer contains "your-website.com" and not cf.client.bot)

Finalmente haga click en Deploy