Implementación de un firewall en .htaccess para mejorar la seguridad de WordPress

La seguridad en WordPress es una preocupación constante para los administradores de sitios web. Una de las medidas efectivas para proteger un sitio WordPress es implementar un firewall a nivel del archivo .htaccess. Este método es especialmente útil para filtrar tráfico malicioso antes de que llegue a WordPress.

¿Qué es .htaccess?

.htaccess es un archivo de configuración utilizado en servidores web que corren Apache. Este archivo permite definir reglas que afectan cómo el servidor maneja las solicitudes HTTP. Al modificar .htaccess, puedes añadir un nivel adicional de seguridad.

Precauciones Antes de Empezar

  • Haz una Copia de Seguridad: Antes de modificar .htaccess, es crucial tener una copia de seguridad del archivo.
  • Conocimientos Técnicos: Entender las directivas básicas de Apache es importante para evitar errores de configuración.
  • Acceso al Servidor: Necesitarás acceso al servidor a través de FTP o cPanel para editar .htaccess.

Implementando Reglas Básicas de Firewall en .htaccess

1. Bloquear Acceso a Archivos Sensibles

Protege archivos críticos como wp-config.php, .htaccess y otros.

<FilesMatch "^(wp-config\.php|php\.ini|php5\.ini|readme\.html|license\.txt)">
Order Deny,Allow
Deny from all
</FilesMatch>

2. Negar Acceso por IP

Si notas intentos de acceso malintencionados desde IPs específicas, puedes bloquearlas.

Order Allow,Deny
Deny from 123.123.12.23
Allow from all

3. Protección Contra Inyecciones SQL

Prevenir ataques de inyección SQL bloqueando ciertas cadenas de consulta.

RewriteEngine On
RewriteCond %{QUERY_STRING} (eval\(|base64_decode|GLOBALS|REQUEST|<|>|%3C|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (;|{|}|\\|\.\./|'|"|\:|&|%|`|\[|\]|$) [NC,OR]
RewriteCond %{QUERY_STRING} (SELECT|INSERT|DELETE|DROP|UPDATE|CREATE|ALTER|RENAME|TRUNCATE) [NC]
RewriteRule .* - [F]

4. Prevenir Enumeración de Usuarios

Detener ataques que intentan enumerar usuarios de WordPress.

RewriteCond %{QUERY_STRING} author=d+ RewriteRule .* - [F]

5. Bloquear el Acceso a XML-RPC

xmlrpc.php es a menudo un objetivo de ataques DDoS y fuerza bruta.

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

6. Protección contra Exploits y Malware

Reglas adicionales para bloquear comportamientos típicos de malware y exploits.

RewriteCond %{REQUEST_URI} (\.htaccess|\.htpasswd|\.errordocs|\.logs) [NC]
RewriteRule .* - [F]

Conclusiones y Recomendaciones

  • Monitoreo Constante: La seguridad es un proceso continuo. Monitorea tu sitio regularmente.
  • Actualizaciones de Seguridad: Mantén WordPress, temas y plugins actualizados.
  • Uso Complementario de Plugins: Considera usar plugins de seguridad de WordPress para una protección adicional.

Conclusión

Implementar un firewall utilizando .htaccess es una táctica poderosa en la estrategia de seguridad de WordPress. Estas reglas ayudan a prevenir varios tipos de ataques, pero deben ser parte de un enfoque de seguridad más amplio que incluya buenas prácticas de administración y el uso de herramientas de seguridad adicionales. Como siempre, la precaución y el conocimiento técnico son clave para hacer cambios efectivos y seguros.

Scroll al inicio