Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
nginx-ultimate-bad-bot-blocker — Nginx Bloquea Bots Maliciosos, Bloqueador de Referrers de Spam, Escáneres de Vulnerabilidades, User-Agents, Malware, Adware, Ransomware, Sitios Maliciosos, con anti-DDOS, Bloqueo de Detectores de Temas de Wordpress y Jail de Fail2Ban para Reincidentes | Kitploit
Herramientas/GitHubGitHub/mitchellkrogza/nginx-ultimate-bad-bot-blocker
Herramientas DefensivasSeguridad WebSeguridad de RedesAnti-BotTop en Anti-Bot #6
GitHubmitchellkrogza/nginx-ultimate-bad-bot-blocker

nginx-ultimate-bad-bot-blocker

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Nginx Bloquea Bots Maliciosos, Bloqueador de Referrers de Spam, Escáneres de Vulnerabilidades, User-Agents, Malware, Adware, Ransomware, Sitios Maliciosos, con anti-DDOS, Bloqueo de Detectores de Temas de Wordpress y Jail de Fail2Ban para Reincidentes

Ver Repositorio
4.8k52575hace 10h 4mRevisado por Kitploit
Compartir
Nginx Ultimate Bad Bot Spam Referrer Blocker - Nginx Block Bad Bots, Vulnerability Scanners, Malware and Adware, Malicious Sites, Spam Referrers, Bad Referrers, Spam Blocker with DDOS, Wordpress Theme Detector Blocking and Fail2Ban Jail for Repeat Offenders
REPOCONVIÉRTETE EN PATROCINADOR
DUBTu logo y enlace a tu dominio aparecerán aquí si te conviertes en patrocinador. Simplemente envíame un correo a [email protected] si deseas patrocinar este proyecto, ya que Sudáfrica aún no está soportada en el programa de patrocinadores de Github.
Follow @ArchIsTheBestAyúdame en https://ko-fi.com/mitchellkrog

Bloqueador de Bots Maliciosos y User-Agents, Bloqueador de Referrers Spam, Anti DDOS, Bloqueador de IPs Maliciosas y Bloqueador de Detectores de Temas de Wordpress para Nginx

El Bloqueador Definitivo de Bots Maliciosos, User-Agents, Referrers Spam, Adware, Malware y Ransomware, Bloqueador de Clickjacking, Bloqueador de Redireccionamiento de Clics, Empresas SEO y Bloqueador de IPs Maliciosas con Sistema Anti DDOS, Limitación de Tasa de Nginx y Bloqueo de Detectores de Temas de Wordpress. Detén y bloquea todo tipo de tráfico malicioso de internet, incluso Googlebots falsos, para que nunca lleguen a tus sitios web. CONSULTA: Definición de Bots Maliciosos

Versión: V4.2026.08.6121

Referrers Maliciosos Bloqueados: 7116

User-Agents (Bots) Maliciosos Bloqueados: 700

Googlebots Falsos Bloqueados: 218


Ayuda a Apoyar Este Proyecto

Buy me Coffee


  • Creado por: Mitchell Krog para su uso en Servidor Web Nginx
  • Copyright Mitchell Krog [email protected]

Probado en:
versión de nginx: nginx/1.10.x -> versión principal ✔️

¿No usas Nginx? Consulta el OBTÉN EL BLOQUEADOR DEFINITIVO DE BOTS MALICIOSOS PARA APACHE

Asegúrate de estar suscrito a las Notificaciones de Github para recibir avisos cuando el bloqueador se actualice o cuando se produzcan cambios importantes o críticos para la misión (potencialmente disruptivos).


INSTRUCCIONES FÁCILES DE CONFIGURACIÓN AUTOMÁTICA PARA EL BLOQUEADOR DE BOTS MALICIOSOS DE NGINX

Sigue las instrucciones a continuación paso a paso ❗

  • Este es nuestro nuevo método preferido de instalación, que ahora se realiza mediante un conjunto de scripts de shell aportados a este repositorio y mantenidos por Stuart Cardall @itoffshore, uno de los mantenedores de paquetes de Alpine Linux.

  • Las instrucciones a continuación son para un proceso de instalación rápido y sin complicaciones que descarga todos los archivos necesarios para el bloqueador, y los scripts incluyen la adición de los includes requeridos a tu nginx.conf y a los archivos .vhost de nginx. El script de configuración asume que tus archivos de configuración de vhost se encuentran en /etc/nginx/sites-available/ y que cada archivo de configuración de vhost termina con una extensión de archivo .vhost

  • Para instrucciones de instalación manual, consulta: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/blob/master/MANUAL-CONFIGURATION.md

  • setup-ngxblocker, install-ngxblocker y update-ngxblocker pueden configurarse todos con ubicaciones personalizadas de instalación / actualización desde la línea de comandos. (Consulta el Paso 11 de las instrucciones para ver cómo usar estos scripts con ubicaciones no estándar de Nginx)

  • Ejecuta cualquiera de los scripts de configuración, instalación o actualización con --help o -h para ver las opciones.

TEN EN CUENTA: Para quienes usan Certificados SSL de Let's Encrypt, el método preferido y 100% funcional es usar el Método de Autenticación Webroot. Parece haber algunos problemas con quienes usan el método de desafío http, pero puedo confirmar que webroot funciona a la perfección. No estamos seguros en este punto si el método de desafío http-01 es un error de certbot o de nginx.

[AVISO] MENSAJES DE RED DUPLICADA DE NGINX

POR FAVOR, LEE ESTO

Los informes de red duplicada de Nginx NO son un error ni pueden corregirse; este es el comportamiento deseado del bloqueador. Las actualizaciones diarias de las listas negras de IP provocan que algunas IP y rangos conocidos sean incluidos en la lista negra valor antiguo "1"; estos luego se incluyen en la lista blanca al final de globalblocklist, que es el orden de carga, lo que establece las IP que sabemos que son buenas en su nuevo valor "0", incluyéndolas así en la lista blanca. Ha sido así desde el primer día del bloqueador y seguirá siéndolo. Estos son simples mensajes de [AVISO] , no mensajes de [EMERG] , y no afectan el funcionamiento de Nginx de ninguna manera.


Linux

Descarga install-ngxblocker a tu directorio /usr/local/sbin/ y haz que el script sea ejecutable.```sh sudo wget https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker -O /usr/local/sbin/install-ngxblocker sudo chmod +x /usr/local/sbin/install-ngxblocker

root@kitploit:~
Si tu distribución de Linux no tiene wget, puedes reemplazar el comando wget anterior usando curl de la siguiente manera:```sh
curl -sL https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker -o /usr/local/sbin/install-ngxblocker
FreeBSD

Instala el paquete.```sh pkg install www/nginx-ultimate-bad-bot-blocker

root@kitploit:~
Alternativamente, instala vía portmaster:```sh
portmaster www/nginx-ultimate-bad-bot-blocker

Ahora ejecuta el script install-ngxblocker en MODO DE PRUEBA (DRY-MODE), que te mostrará qué cambios realizará y qué archivos descargará para ti. Esto es solo una PRUEBA (DRY-RUN), por lo que aún no se realiza ningún cambio.

El install-ngxblocker descarga todos los archivos necesarios, incluidos los scripts de configuración y actualización.```sh cd /usr/local/sbin sudo ./install-ngxblocker

root@kitploit:~
Esto te mostrará la salida de los cambios que se realizarán 
**(NOTA: esto es solo una PRUEBA EN SECO, no se han realizado cambios)**```text
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

** Dry Run ** | not updating files | run  as 'install-ngxblocker -x' to install files.

Creating directory: /etc/nginx/bots.d

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/conf.d/globalblacklist.conf            [TO]=>  /etc/nginx/conf.d/globalblacklist.conf
Downloading [FROM]=>  [REPO]/conf.d/botblocker-nginx-settings.conf  [TO]=>  /etc/nginx/conf.d/botblocker-nginx-settings.conf

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/bots.d/blockbots.conf              [TO]=>  /etc/nginx/bots.d/blockbots.conf
Downloading [FROM]=>  [REPO]/bots.d/ddos.conf                   [TO]=>  /etc/nginx/bots.d/ddos.conf
Downloading [FROM]=>  [REPO]/bots.d/whitelist-ips.conf          [TO]=>  /etc/nginx/bots.d/whitelist-ips.conf
Downloading [FROM]=>  [REPO]/bots.d/whitelist-domains.conf      [TO]=>  /etc/nginx/bots.d/whitelist-domains.conf
Downloading [FROM]=>  [REPO]/bots.d/blacklist-user-agents.conf  [TO]=>  /etc/nginx/bots.d/blacklist-user-agents.conf
Downloading [FROM]=>  [REPO]/bots.d/blacklist-ips.conf          [TO]=>  /etc/nginx/bots.d/blacklist-ips.conf
Downloading [FROM]=>  [REPO]/bots.d/bad-referrer-words.conf     [TO]=>  /etc/nginx/bots.d/bad-referrer-words.conf
Downloading [FROM]=>  [REPO]/bots.d/custom-bad-referrers.conf   [TO]=>  /etc/nginx/bots.d/custom-bad-referrers.conf

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/setup-ngxblocker      [TO]=>  /usr/local/sbin/setup-ngxblocker
Downloading [FROM]=>  [REPO]/update-ngxblocker     [TO]=>  /usr/local/sbin/update-ngxblocker

setup-ngxblocker, install-ngxblocker y update-ngxblocker pueden configurarse todos con ubicaciones personalizadas de instalación/actualización desde la línea de comandos.

Ejecuta cualquiera de los scripts de configuración, instalación o actualización con --help o -h para ver las opciones.


Ahora ejecuta el script de instalación con el parámetro -x para descargar todos los archivos necesarios del repositorio:```sh cd /usr/local/sbin/ sudo ./install-ngxblocker -x

root@kitploit:~
Esto te dará el siguiente resultado:```text
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

Creating directory: /etc/nginx/bots.d

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/conf.d/globalblacklist.conf            [TO]=>  /etc/nginx/conf.d/globalblacklist.conf...OK
Downloading [FROM]=>  [REPO]/conf.d/botblocker-nginx-settings.conf  [TO]=>  /etc/nginx/conf.d/botblocker-nginx-settings.conf...OK

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/bots.d/blockbots.conf              [TO]=>  /etc/nginx/bots.d/blockbots.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/ddos.conf                   [TO]=>  /etc/nginx/bots.d/ddos.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/whitelist-ips.conf          [TO]=>  /etc/nginx/bots.d/whitelist-ips.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/whitelist-domains.conf      [TO]=>  /etc/nginx/bots.d/whitelist-domains.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/blacklist-user-agents.conf  [TO]=>  /etc/nginx/bots.d/blacklist-user-agents.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/blacklist-ips.conf          [TO]=>  /etc/nginx/bots.d/blacklist-ips.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/bad-referrer-words.conf     [TO]=>  /etc/nginx/bots.d/bad-referrer-words.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/custom-bad-referrers.conf   [TO]=>  /etc/nginx/bots.d/custom-bad-referrers.conf...OK

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/setup-ngxblocker      [TO]=>  /usr/local/sbin/setup-ngxblocker...OK
Downloading [FROM]=>  [REPO]/update-ngxblocker     [TO]=>  /usr/local/sbin/update-ngxblocker...OK

Todos los archivos necesarios ya se han descargado a las carpetas correctas en Nginx directamente desde el repositorio.

ASEGÚRATE de que tus scripts de configuración y actualización sean ejecutables ejecutando los siguientes dos comandos. Esto es importante antes de continuar con el Paso 4 y siguientes.```sh sudo chmod +x /usr/local/sbin/setup-ngxblocker sudo chmod +x /usr/local/sbin/update-ngxblocker

root@kitploit:~
**setup-ngxblocker, install-ngxblocker y update-ngxblocker pueden configurarse todos con ubicaciones personalizadas de instalación / actualización desde la línea de comandos.**

**Ejecute cualquiera de los scripts de setup, install o update con --help o -h para ver las opciones.**

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-4.png"/>

Ahora ejecute el script setup-ngxblocker en MODO-DRY (modo de prueba) que le mostrará qué cambios realizará y qué archivos descargará para usted. Esto es solo una PRUEBA (DRY-RUN), por lo que aún no se están realizando cambios.```sh
cd /usr/local/sbin/
sudo ./setup-ngxblocker

Esto te dará una salida como la siguiente (esta salida a continuación asume que tu archivo nginx.conf ya tiene la inclusión predeterminada de /etc/nginx/conf.d/*) Todas las instalaciones de Nginx que conozco tienen esta inclusión predeterminada en el archivo nginx.conf distribuido con todas las versiones.```text Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

** Dry Run ** | not updating files | run as 'setup-ngxblocker -x' to setup files.

INFO: /etc/nginx/conf.d/* detected => /etc/nginx/nginx.conf inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain2.com.vhost inserting: include /etc/nginx/bots.d/blockbots.conf; => /etc/nginx/sites-available/mydomain1.com.vhost inserting: include /etc/nginx/bots.d/ddos.conf; => /etc/nginx/sites-available/mydomain1.com.vhost

Whitelisting ip: x.x.x.x => /etc/nginx/bots.d/whitelist-ips.conf

root@kitploit:~
Este script también incluye tu IP en la lista blanca del archivo whitelist-ips.conf por ti. 
Se pueden añadir más IP o rangos de IP a tu archivo personalizable whitelist-ips.conf ubicado en /etc/nginx/bots.d/whitelist-ips.conf.

**setup-ngxblocker, install-ngxblocker y update-ngxblocker se pueden configurar todos con ubicaciones personalizadas de instalación / actualización desde la línea de comandos.**

**Ejecuta cualquiera de los scripts de setup, install o update con --help o -h para ver las opciones.**


************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-5.png"/>

Ahora ejecuta el script de setup con el parámetro -x para realizar todos los cambios necesarios en tu nginx.conf (si es necesario) y también para añadir los includes requeridos en todos tus archivos vhost.

Este script setup-ngxblocker asume que todos tus archivos vhost ubicados en /etc/nginx/sites-available terminan con una extensión .vhost. Es una buena práctica hacer que todos tus archivos de configuración vhost terminen con una extensión .vhost, pero si prefieres mantener lo que ya tienes, por ejemplo .conf, puedes simplemente modificar la ejecución de setup-ngxblocker usando el parámetro `-e` para especificar la extensión que usas para tus archivos vhost.

Por ejemplo, si tus archivos vhost terminan en .conf, cambiarás esto ejecutando setup-ngxblocker con un parámetro de línea de comandos adicional de la siguiente manera:

`sudo ./setup-ngxblocker -x -e conf`

Así que ahora ejecutemos el script de setup y dejemos que realice todos los cambios que necesitamos para activar el Bot Blocker en todos tus sitios.```sh
cd /usr/local/sbin/
sudo ./setup-ngxblocker -x

Aquí tienes la traducción al español del contenido del chunk 25:

root@kitploit:~
## Instalación

### Requisitos previos

- Python 3.8 o superior
- pip (gestor de paquetes de Python)
- Acceso a Internet para descargar dependencias

### Pasos de instalación

1. Clona el repositorio:

```bash
git clone https://github.com/example/repo.git
cd repo
  1. Crea un entorno virtual (opcional pero recomendado):
root@kitploit:~
python3 -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate
  1. Instala las dependencias:
root@kitploit:~
pip install -r requirements.txt
  1. Verifica la instalación:
root@kitploit:~
python main.py --version

Uso

Comandos básicos

Para ejecutar la herramienta con la configuración predeterminada:

root@kitploit:~
python main.py --target example.com

Opciones disponibles

OpciónDescripciónValor predeterminado
--targetEspecifica el dominio o IP de destinoNinguno (obligatorio)
--portPuerto a escanear80
--threadsNúmero de hilos concurrentes10
--timeoutTiempo de espera en segundos5
--verboseMuestra información detalladaFalse

Ejemplos

Escaneo básico:

root@kitploit:~
python main.py --target https://example.com

Escaneo con opciones personalizadas:

root@kitploit:~
python main.py --target 192.168.1.1 --port 443 --threads 20 --verbose

Guardar resultados en un archivo:

root@kitploit:~
python main.py --target example.com --output resultados.txt

Configuración

La herramienta se puede configurar mediante un archivo config.yaml ubicado en el directorio raíz. A continuación se muestra un ejemplo de configuración:

root@kitploit:~
# Archivo de configuración de ejemplo
escaneo:
  puertos: [80, 443, 8080]
  tiempo_espera: 10
  hilos: 5

salida:
  formato: json
  directorio: ./resultados

notificaciones:
  habilitado: false
  webhook_url: ""

Variables de entorno

VariableDescripciónValor predeterminado
API_KEYClave de API para servicios externosVacío
PROXY_URLURL del proxy para conexiones salientesVacío
LOG_LEVELNivel de registro (DEBUG, INFO, WARNING, ERROR)INFO

Arquitectura

El proyecto sigue una arquitectura modular con los siguientes componentes principales:

root@kitploit:~
repo/
├── main.py              # Punto de entrada principal
├── config.yaml          # Archivo de configuración
├── requirements.txt     # Dependencias del proyecto
├── src/
│   ├── __init__.py
│   ├── escaner.py       # Lógica principal de escaneo
│   ├── analizador.py    # Análisis de resultados
│   └── utilidades.py    # Funciones auxiliares
└── tests/
    ├── test_escaner.py
    └── test_analizador.py

Flujo de ejecución

  1. El punto de entrada (main.py) analiza los argumentos de la línea de comandos.
  2. Se carga la configuración desde config.yaml y se combina con los argumentos.
  3. El módulo escaner.py realiza el escaneo de los objetivos especificados.
  4. Los resultados se procesan mediante analizador.py.
  5. Finalmente, los resultados se guardan en el formato especificado.

Solución de problemas

Error: "No se pudo conectar al host"

Este error suele indicar que el host de destino no está accesible. Verifica:

  • Que la dirección IP o el dominio sean correctos.
  • Que el host esté en línea y responda a pings.
  • Que no haya un firewall bloqueando la conexión.

Error: "Permiso denegado"

Si encuentras errores de permisos al ejecutar la herramienta, intenta:

root@kitploit:~
sudo python main.py --target example.com

O asegúrate de que tu usuario tenga los permisos necesarios sobre los archivos de salida.

Problemas de dependencias

Si tienes conflictos con las dependencias, intenta reinstalarlas en un entorno limpio:

root@kitploit:~
pip uninstall -r requirements.txt -y
pip install -r requirements.txt

Contribuciones

Las contribuciones son bienvenidas. Para contribuir:

  1. Haz un fork del repositorio.
  2. Crea una rama para tu funcionalidad (git checkout -b feature/nueva-funcionalidad).
  3. Realiza tus cambios y haz commit (git commit -am 'Añade nueva funcionalidad').
  4. Sube los cambios (git push origin feature/nueva-funcionalidad).
  5. Abre una solicitud de extracción (Pull Request).

Guía de estilo

  • Sigue las convenciones de estilo PEP 8.
  • Escribe pruebas para las nuevas funcionalidades.
  • Documenta los cambios en el archivo CHANGELOG.md.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

Agradecimientos

  • A la comunidad de código abierto por sus valiosas contribuciones.
  • A todos los colaboradores que han ayudado a mejorar esta herramienta.
root@kitploit:~
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

INFO:      /etc/nginx/conf.d/* detected               => /etc/nginx/nginx.conf
inserting: include /etc/nginx/bots.d/blockbots.conf;  => /etc/nginx/sites-available/mydomain2.com.vhost
inserting: include /etc/nginx/bots.d/ddos.conf;       => /etc/nginx/sites-available/mydomain2.com.vhost
inserting: include /etc/nginx/bots.d/blockbots.conf;  => /etc/nginx/sites-available/mydomain1.com.vhost
inserting: include /etc/nginx/bots.d/ddos.conf;       => /etc/nginx/sites-available/mydomain1.com.vhost

Whitelisting ip:  x.x.x.x  => /etc/nginx/bots.d/whitelist-ips.conf
```
Notará que ha realizado las inclusiones en todos los archivos .vhost de mi servidor de pruebas y también ha incluido su propia dirección IP en la lista blanca del archivo whitelist-ips.conf. Se pueden agregar más IP o rangos de IP a su archivo personalizable whitelist-ips.conf ubicado en /etc/nginx/bots.d/whitelist-ips.conf.

Lo que este script de configuración ha hecho es simplemente agregar las siguientes declaraciones de inclusión en sus archivos .vhost por usted; también agrega /etc/nginx/conf.d/* a las inclusiones en nginx.conf (si aún no está en nginx.conf); de lo contrario, todo el script fallará.```nginx
# Bad Bot Blocker
include /etc/nginx/bots.d/ddos.conf;
include /etc/nginx/bots.d/blockbots.conf;
```
**setup-ngxblocker, install-ngxblocker y update-ngxblocker pueden configurarse todos con ubicaciones personalizadas de instalación / actualización desde la línea de comandos.**

**Ejecuta cualquiera de los scripts de configuración, instalación o actualización con --help o -h para ver las opciones.**

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-6.png"/>

Ahora prueba tu configuración de nginx

`sudo nginx -t`

y deberías ver```text
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```
************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-7.png"/>

Ahora simplemente recarga / reinicia Nginx y el Bot Blocker estará activo de inmediato protegiendo todos tus sitios web.

`sudo nginx -t && sudo nginx -s reload`

o

`sudo service nginx restart`

Eso es todo, el bloqueador ya está activo y protege tus sitios de miles de bots y dominios maliciosos.

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-8.png"/>

Ahora configura cron para que actualice automáticamente el bloqueador por ti todos los días, de modo que siempre tengas la protección más reciente.

`sudo crontab -e`

Añade la siguiente línea al final de tu archivo crontab. Ten en cuenta que debes añadir el parámetro de línea de comandos `-e` para especificar tu dirección de correo electrónico a la que se enviará el informe de actualización. Obviamente, sustituye `[email protected]` por tu dirección de correo real o no recibirás el correo cuando el script se haya actualizado.

`00 22 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]` 

Esto actualizará el bloqueador cada noche a las 10 PM.

Si quieres que se actualice con más frecuencia (ya que a veces publico 3-4 actualizaciones al día), puedes configurarlo de la siguiente manera para que cron se ejecute cada 8 horas, aunque una vez al día es más que suficiente.

`00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -e [email protected]`       

Si no deseas ninguna notificación por correo después de una actualización (no recomendable en caso de que Nginx tenga alguna vez un EMERG al recargar), simplemente ejecuta tu cron de la siguiente manera.

`00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -n`       

Si prefieres enviar el correo a través de <a href="https://www.mailgun.com/">mailgun</a>, entonces ejecuta tu cron así:

`00 22 * * * sudo /usr/local/sbin/update-ngxblocker -g [email protected] -d yourdomain.com -a mailgun api key -f [email protected]`

Eso es todo, el bloqueador se mantendrá automáticamente actualizado y también recargará Nginx una vez que haya descargado la última versión del archivo globalblacklist.conf.

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-9.png"/>

Ahora puedes personalizar cualquiera de los siguientes archivos para adaptarlos a tu entorno o requisitos. Estos archivos nunca se modifican durante una actualización con el script de actualización automática anterior, por lo que cualquier personalización que hagas aquí nunca se sobrescribirá durante una actualización.```text
/etc/nginx/bots.d/whitelist-ips.conf
/etc/nginx/bots.d/whitelist-domains.conf
/etc/nginx/bots.d/blockbots.conf
/etc/nginx/bots.d/blacklist-domains.conf
/etc/nginx/bots.d/blacklist-user-agents.conf
/etc/nginx/bots.d/blacklist-ips.conf
/etc/nginx/bots.d/bad-referrer-words.conf
/etc/nginx/bots.d/custom-bad-referrers.conf
/etc/nginx/bots.d/ddos.conf
```
Supongamos que, por alguna razón "oscura", realmente quieres bloquear a GoogleBot para que no acceda a tu sitio. Simplemente tendrías que añadirlo al archivo /etc/nginx/bots.d/blacklist-user-agents.conf y anulará la lista blanca predeterminada para GoogleBot. Lo mismo aplica a cualquier otro bot que esté en la lista blanca por defecto.

Todos los archivos de inclusión están comentados para tu comodidad.

************************************************
## Si Este Proyecto te ha ayudado, ayúdalo a mantenerse

[<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/kofi4.png" alt="Buy me Coffee" width="300"/>](https://ko-fi.com/mitchellkrog)

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-10.png"/>

(COMPRUEBA QUE FUNCIONA)

**PRUEBAS**

Ejecuta los siguientes comandos uno a uno desde una terminal en otra máquina Linux contra tu propio nombre de dominio.

:exclamation: 
**sustituye http:// tudominio.com :exclamation: en los ejemplos siguientes por tu propio nombre de dominio REAL :exclamation:**

`curl -A "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" -I http://yourdomain.com`

`curl -A "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" -I http://yourdomain.com`

**Debería responder con 200 OK**

`curl -A "Xenu Link Sleuth/1.3.8" -I http://yourdomain.com`

`curl -A "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)" -I http://yourdomain.com`

**Debería responder con uno de los siguientes mensajes de error:**
- curl: (52) Empty reply from server
- curl: (56) TCP connection reset by peer
- curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

`curl -I http://yourdomain.com -e http://100dollars-seo.com`

`curl -I http://yourdomain.com -e http://zx6.ru`

**Debería responder con uno de los siguientes mensajes de error:**
- curl: (52) Empty reply from server
- curl: (56) TCP connection reset by peer
- curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

¡¡¡El Nginx Ultimate Bot Blocker ahora está FUNCIONANDO y PROTEGIENDO tus sitios web!!!

:exclamation: 
**sustituye http:// tudominio.com :exclamation: en los ejemplos siguientes por tu propio nombre de dominio REAL :exclamation:**

<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/nginx-ultimate-bad-bot-blocker-testing-instructions.jpg"/>

### NOTA para usuarios de Cloudflare !!!

Si eres usuario de Cloudflare y utilizas el sistema de CDN / Caché de Cloudflare, siempre deberías desactivar la CDN de Cloudflare (poner la nube en gris)

Durante las pruebas obtendrás los códigos de respuesta correctos como los siguientes:
- curl: (52) Empty reply from server
- curl: (56) TCP connection reset by peer
- curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

Esto es por diseño. La CDN está haciendo su trabajo, es decir, la primera respuesta de tu servidor le dijo al bot "vete" emitiendo respuestas `444` o `443`.

Cloudflare almacena en caché esa respuesta y, por lo tanto, la segunda vez que hagas la prueba recibirás un mensaje de error de origen `520 Origin Error`.

Mientras pruebas el bloqueador, desactiva el sistema de CDN / caché y, una vez que estés satisfecho con tus pruebas, vuelve a activar la CDN/Caché en tu entorno de producción, ya que sí quieres que los bots reciban esa respuesta desde Cloudflare.

La mayoría de los otros sistemas de CDN probablemente mostrarán el mismo comportamiento, así que siempre desactiva una CDN durante las pruebas para descartar cualquier cosa que pueda interferir con ellas. ¡¡Asegúrate siempre de volver a activar la CDN cuando termines de probar!!

Una vez que actives la CDN de Cloudflare, vuelve a probar.

Durante las pruebas, obtienes
- curl: 520 Origin Error

Esto significa que la CDN está funcionando.

************************************************
<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/step-11.png"/>

#### OPCIONAL
**INSTALAR EL BLOQUEADOR EN UBICACIONES DE CARPETAS NGINX NO ESTÁNDAR**

Algunas personas compilan Nginx por sí mismas y no terminan teniendo las ubicaciones estándar de carpetas de nginx en `/etc/nginx`

Para usuarios como estos, puedes ejecutar install-ngxblocker, setup-ngxblocker y update-ngxblocker especificando tu
ubicación de carpeta en las líneas de comando de la siguiente manera.

`sudo ./install-ngxblocker -x -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d`

`sudo ./setup-ngxblocker -x -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d`

`sudo ./update-ngxblocker -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d -e [email protected]`

Esto colocará automáticamente los archivos en las ubicaciones que especifiques, hará las inclusiones en tus vhosts usando tus ubicaciones personalizadas y, cuando update-ngxblocker obtenga una nueva actualización, también reescribirá automáticamente las secciones "Include" dentro del archivo globalblacklist.conf con tus propias ubicaciones personalizadas. Gracias de nuevo a Stuart Cardall @itoffshore por sus contribuciones de estos excelentes scripts.

************************************************

# [AVISO] MENSAJES DE RED DUPLICADOS DE NGINX 
## POR FAVOR, LEE ESTO

Los informes de red duplicados de Nginx NO son un error ni se pueden corregir; este es el comportamiento deseado del bloqueador. Las actualizaciones diarias de las listas negras de IP hacen que algunas IP y rangos conocidos sean incluidos en la lista negra **```old value "1"```** y luego se incluyen en la lista blanca al final de globalblocklist, que es el orden de carga, lo que establece las IP que sabemos que son buenas a su nuevo **```value "0"```**, incluyéndolas así en la lista blanca. Ha sido así desde el primer día del bloqueador y seguirá siéndolo. Estos son simples mensajes **[WARN]**, no mensajes **[EMERG]**, y no afectan el funcionamiento de Nginx de ninguna manera.

************************************************

# ¿POR QUÉ BLOQUEAR BOTS MALICIOSOS?

<h4 id="define-bad-bots">
Definición de Bots Maliciosos
</h4>

##### Los bots maliciosos son:

-    Referrers maliciosos 
-    Cadenas de User-Agent maliciosas
-    Referrers de spam
-    Bots de spam y bots maliciosos
-    Bots molestos o no deseados
-    Sitios vinculados a campañas lucrativas de clickjacking con malware, adware y ransomware
-    Escáneres de vulnerabilidades
-    Sitios web de apuestas y pornografía
-    Recolectores de correo electrónico
-    Raspadores de contenido
-    Bots de ranking de enlaces
-    Bots agresivos que extraen contenido
-    Sitios de hotlinking de imágenes y ladrones de imágenes
-    Bots o servidores vinculados a virus o malware
-    Bots de vigilancia gubernamental
-    Redes de ataque botnet (Mirai)
-    Detectores de temas de Wordpress conocidos (actualizados regularmente)
-    Empresas de SEO que tus competidores usan para intentar mejorar su SEO
-    Herramientas de investigación de enlaces y pruebas de backlinks
-    Detener el spam fantasma de Google Analytics
-    Adware y malware de navegador (Yontoo, etc.)

(Más de 4000 referrers maliciosos, referrers de spam, user-agents, bots maliciosos, IP maliciosas, sitios de pornografía, apuestas y clickjacking, empresas de SEO lucrativas, detectores de temas de wordpress y contando)

- Incluye la creación de un archivo google-exclude.txt para crear filtros / segmentos en Google Analytics (ver instrucciones más abajo)
- Incluye la creación de un archivo google-disavow.txt para usar en Google Webmaster Tools (ver instrucciones más abajo)
- Ver ejemplo de configuración de vhost SSL de Nginx en: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/blob/master/NGINX-SSL-Site-Config-Example.md
************************************************
## Ayuda a Apoyar Este Proyecto 

Miles de horas de programación y pruebas han ido a este proyecto, muestra algo de cariño

[<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/kofi4.png" alt="Buy me Coffee" width="300"/>](https://ko-fi.com/mitchellkrog)

************************************************
## Bienvenido al Bloqueador Definitivo de Bots Maliciosos, User-Agents y Referrers de Spam de Nginx, Bloqueador de Adware, Malware y Ransomware, Bloqueador de Click-Jacking, Bloqueador de Click-Redirect y Bloqueador de IP Maliciosas con Sistema Anti DDOS, Limitación de Velocidad de Nginx y Bloqueo de Detectores de Temas de Wordpress.

Los bots intentan hacerse pasar por otro software o sitios web disfrazando su user agent. Sus nombres de user agent pueden parecer inofensivos, incluso perfectamente legítimos.

Por ejemplo, "^Java" pero según Project Honeypot, en realidad es uno de los más peligrosos, PERO muchos bots legítimos tienen "Java" en su cadena de user agent, por lo que el enfoque adoptado por muchos de bloquear "Java" no solo es ignorante sino que también bloquea rastreadores muy legítimos, incluidos algunos de Google y Bing, y me deja muy claro que quienes escriben scripts de bloqueo de bots rara vez los prueban.

Los Referrers de Spam y los Nombres de Dominio de Spam utilizan técnicas muy inteligentes para saltar de tus sitios ejecutando campañas muy lucrativas de click-jacking y click-redirecting que sirven anuncios a personas desprevenidas que navegan por la web o incluso instalan malware, adware o ransomware en sus navegadores, que luego pasan a formar parte de su lucrativa red de bots.

Este Bloqueador de Bots incluye cientos de nombres de dominio y direcciones IP que la mayoría de la gente ni siquiera verá en sus registros de Nginx. Esto es resultado de que todos mis sitios funcionan con SSL y usan Content-Security-Policy (CSP), que bloquea cosas antes de que siquiera lleguen a Nginx, y he detectado y sigo detectando algunos de los peores dominios y bots que existen.

También se bloquea una gran cantidad de sitios web de Pornografía, Apuestas y Noticias Falsas en este script de bloqueo, que también crece a un ritmo rápido.

Desafortunadamente, la mayoría de los scripts de bloqueo de bots que existen son simplemente copiados y pegados de los scripts de otras personas y hechos para parecer trabajo propio. Este fue inspirado por el creado por https://github.com/mariusv y contribuí a ese proyecto, pero me fui a un diseño totalmente nuevo, lo limpié a fondo y empecé desde cero. Ahora es un proyecto completamente independiente. Es limpio, funciona y ha sido probado a fondo.

************************************************
### LO BÁSICO

Esta lista de bloqueo de bots maliciosos de nginx está diseñada para ser un archivo de inclusión global de Nginx y utiliza las directivas de Nginx map $http_user_agent, map $http_referer y geo $validate_client.

De esta manera, el archivo .conf se carga una sola vez en la memoria por Nginx y está disponible para todos los sitios web que operes. Simplemente necesitas usar una declaración Include en un archivo de configuración de vhost de Nginx.

************************************************
### ES CENTRALIZADO:

La belleza de esto es que es un archivo central usado por todos tus sitios web. Esto significa que solo hay un lugar para hacer modificaciones, es decir, añadir nuevos bots que descubras en tus archivos de registro. Cualquier cambio se aplica inmediatamente a todos los sitios después de un simple "sudo service nginx reload". Pero, por supuesto, siempre haz un sudo nginx -t para probar cualquier cambio de configuración antes de recargar.

************************************************
### ES PEQUEÑO Y LIGERO

El archivo es de tamaño pequeño. Al momento de escribir esto y del primer commit público de este, el tamaño del archivo incluyendo todos los comentarios "que nginx ignora" es actualmente de **solo 185 kb de tamaño** y ya contiene más de 5000 dominios maliciosos, bots maliciosos y direcciones IP maliciosas. Es tan ligero que Nginx ni siquiera sabe que está ahí. Ya contiene miles de entradas: total actualizado al inicio de este README.

************************************************
### ES PRECISO Y A PRUEBA DE FALSOS POSITIVOS

A diferencia de muchos otros bloqueadores de bots maliciosos para Nginx y Apache donde la gente simplemente copia y pega listas de otros, esta lista ha sido construida desde cero y probada a fondo, y quiero decir a fondo durante más de 10 meses. Proviene de registros de servidor reales que se monitorean a diario y hay al menos 3-10 nuevas adiciones a este archivo casi a diario.

También ha sido probada a fondo para falsos positivos usando meses de pruebas constantes y regulares y monitoreo de archivos de registro.

Todos los sitios web listados en los referrers maliciosos se verifican uno por uno antes de ser añadidos. Simplemente copiar cualquier cosa que parezca sospechosa en tu archivo de registro y añadirla a un bloqueador como este sin ver realmente qué es primero... bueno, es una tontería como mínimo.

************************************************
### DÉJALOS CAER Y ESO ES TODO

Nginx tiene un error encantador llamado 444 que literalmente corta la conexión. Todas estas reglas emiten una respuesta 444, así que si una regla coincide, la IP solicitante simplemente no recibe respuesta y parecería que tu servidor no existe para ellos o parece estar fuera de línea.

Una prueba con curl usando una de las líneas de comando de prueba documentadas en el archivo /conf.d/globalblacklist.conf dará un simple "curl: (52) Empty reply from server" y esa es la respuesta que reciben los referrers maliciosos y los bots.

************************************************
### FUNCIONALIDAD DE LIMITACIÓN DE VELOCIDAD INTEGRADA

Para bots o arañas que aún quieras permitir pero quieras limitar su tasa de visitas, puedes usar las funciones de limitación de velocidad integradas que he incluido. El archivo está extensamente comentado en todo su contenido, así que deberías poder resolverlo; de lo contrario, simplemente envíame un mensaje si tienes problemas.

************************************************
### SOLICITUDES DE PULL / CORRECCIONES / FALSOS POSITIVOS:

[![Log an Issue](https://img.shields.io/badge/LOG%20-%20an%20issue%20%F0%9F%9A%A6-blue.svg)](https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/issues) o para contribuir con tus propios referrers maliciosos, bots o para hacer correcciones a cualquier bot o dominio bloqueado incorrectamente, por favor haz un fork de una copia de este repositorio y envía solicitudes de pull en los <a href="https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/tree/master/_generator_lists">archivos individuales ubicados aquí</a> y luego envía una solicitud de pull (PR).

##### Todas las Adiciones, Eliminaciones y Correcciones serán verificadas por precisión antes de fusionarse en el bloqueador principal.

************************************************
### PROBLEMAS:

[![Log an Issue](https://img.shields.io/badge/LOG%20-%20an%20issue%20%F0%9F%9A%A6-blue.svg)](https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/issues) sobre listados incorrectos o cualquier otro problema en el sistema de problemas y serán investigados y eliminados si es necesario. Respondo muy rápidamente a los problemas de los usuarios y he ayudado a innumerables usuarios durante días enteros a hacer funcionar su bloqueador de bots. Podrías decir que estoy loco (discutible), pero amo ayudar a la gente y no ignoro problemas ni a personas con dificultades para hacer funcionar esto.

************************************************
## CARACTERÍSTICAS DEL BLOQUEADOR DE BOTS MALICIOSOS DE NGINX:

- Listas extensas de Bots Maliciosos y Conocidos y Raspadores (actualizadas casi a diario)
- Bloqueo de Dominios y Sitios Web de Referrers de Spam
- Bloqueo de empresas de recopilación de datos de SEO como Semalt.com, Builtwith.com, WooRank.com y muchas otras (actualizado regularmente)
- Bloqueo de sitios de clickjacking vinculados a Adware, Malware y Ransomware
- Bloqueo de Sitios Web de Pornografía y Apuestas que usan formas Lucrativas de Ganar Dinero sirviendo Anuncios saltando de tus nombres de dominio y sitios web.
- Bloqueo de Dominios Maliciosos e IP que ni siquiera puedes ver en tus Registros de Nginx. Gracias a la Content Security Policy (CSP) en todos mis sitios SSL puedo ver cosas que intentan extraer recursos de mis sitios antes de que siquiera lleguen a Nginx y sean bloqueadas por la CSP.
- Filtro Anti DDOS y Limitación de Velocidad de Bots Agresivos
- Ordenado alfabéticamente para un mantenimiento más fácil (Solicitudes de Pull Bienvenidas)
- Secciones comentadas de ciertos bots importantes para estar seguro antes de bloquear
- Incluye el rango de IP de Cyveillance, que se sabe que ignora las reglas de robots.txt
  y husmea por todo Internet.
- Lista blanca de Rangos de IP de Google, Bing y Cloudflare
- Lista blanca de tus propios Rangos de IP que quieras evitar bloquear por error.
- Capacidad de añadir otros rangos de IP y bloques de IP que quieras bloquear.
- Si está ahí fuera y es malicioso, ya está aquí y ¡¡BLOQUEADO!!

************************************************
### COMPRENDE NOMBRES DE DOMINIO PUNYCODE / IDN

Muchas listas ponen dominios extraños en su archivo hosts. Tu archivo hosts y DNS no entenderán esto. Esta lista usa dominios convertidos que están en el formato DNS correcto para ser entendidos por cualquier sistema operativo. **Evita usar listas** que no pongan la estructura de dominio correctamente formateada en sus listas.

Por ejemplo
El dominio:

`lifehacĸer.com` (nota la K)

en realidad se traduce a:

`xn--lifehacer-1rb.com`

Puedes hacer un nslookup en cualquier sistema operativo y se resolverá correctamente.

`nslookup xn--lifehacer-1rb.com````xn--lifehacer-1rb.com
	origin = dns1.yandex.net
	mail addr = iskalko.yandex.ru
	serial = 2016120703
	refresh = 14400
	retry = 900
	expire = 1209600
	minimum = 14400
xn--lifehacer-1rb.com	mail exchanger = 10 mx.yandex.net.
Name:	xn--lifehacer-1rb.com
Address: 78.110.60.230
xn--lifehacer-1rb.com	nameserver = dns2.yandex.net.
xn--lifehacer-1rb.com	text = "v=spf1 redirect=_spf.yandex.net"
xn--lifehacer-1rb.com	nameserver = dns1.yandex.net.
```
- Mire: https://www.charset.org/punycode para más información sobre esto.

************************************************
## SUPERVISA SIEMPRE LO QUE ESTÁS HACIENDO:

**ASEGÚRATE de supervisar los registros de tu sitio web** después de implementar esto. Sugiero que primero lo cargues en un sitio y lo supervises para detectar posibles falsos positivos antes de ponerlo en producción en todos tus sitios web.

No te quedes como un avestruz con la cabeza enterrada en la arena; ser un operador de servidor y propietario de sitio web responsable significa que debes supervisar tus registros con frecuencia. Una de las razones por las que muchos terminaron aquí en primer lugar es porque vieron cosas desagradables en tus archivos de registro de Nginx.

También supervisa tus registros a diario para detectar nuevos referers maliciosos y cadenas de user-agent que quieras bloquear. Tu mejor fuente para añadir a esta lista son tus propios registros de servidor, no los míos.

Siéntete libre de contribuir con referers maliciosos de tus propios registros a este proyecto enviando un Pull Request (PR). Sin embargo, puedes confiar en esta lista para mantener fuera al 99% de los malintencionados.

************************************************
## CÓMO SUPERVISAR TUS REGISTROS A DIARIO (La Forma Fácil):

**Con gran agradecimiento y reconocimiento a**

https://blog.nexcess.net/2011/01/21/one-liners-for-apache-log-files/

Para supervisar tus principales referers de los archivos de registro de un sitio web a diario, usa los siguientes trabajos cron simples que te enviarán por correo una lista de los principales referers / user agents cada mañana desde los archivos de registro de un sitio web en particular. Este es un ejemplo de un solo trabajo cron para un sitio. Configura varios para cada uno que quieras supervisar. Aquí hay un cron que se ejecuta a las 8 a. m. cada mañana y me envía por correo el registro depurado de referers. Cuando digo depurado, el dominio del sitio y otros referers como Google y Bing se eliminan de los resultados. Por supuesto, debes cambiar el nombre del archivo de registro, el nombre de dominio y tu dirección de correo electrónico en los ejemplos siguientes. El segundo cron para recopilar user agents no elimina ningún referer, pero puedes añadir esa funcionalidad si te gusta copiar la declaración awk !~ del primer ejemplo.

##### Cron para Supervisar Referers Diarios en Nginx

`00 08 * * * tail -10000 /var/log/nginx/mydomain-access.log | awk '$11 !~ /google|bing|yahoo|yandex|mywebsite.com/' | awk '{print $11}' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s "Top 1000 Referers for Mydomain.com" [email protected]`

Esto te envía por correo una lista diaria de referers usando un comando awk para excluir dominios como google, bing y tu propio nombre de dominio.

##### Cron para Supervisar User Agents Diarios en Nginx

`00 08 * * * tail -50000 /var/log/nginx/mydomain-access.log | awk '{print $12}' | tr -d '"' | sort | uniq -c | sort -rn | head -1000 | mail -s "Top 1000 Agents for Mydomain.com" [email protected]`

Esto te envía por correo una lista de los principales User-Agents que visitaron tu sitio en las últimas 24 horas, útil para detectar cadenas de User-Agents maliciosas o sospechosas.

************************************************
## BLOQUEA BOTS AGRESIVOS A NIVEL DE FIREWALL USANDO FAIL2BAN:

He añadido un filtro y una acción personalizados de Fail2Ban que he escrito y que supervisan tus registros de Nginx para detectar bots que generan una gran cantidad de errores 444. Esta jail personalizada para Fail2Ban escaneará los registros durante un período de 1 semana y baneará al infractor durante 24 horas.
Ayuda en gran medida a mantener fuera a algunos reincidentes y a evitar que llenen tus archivos de registro con errores 444.
Consulta la carpeta Fail2Ban para obtener instrucciones sobre cómo configurar este excelente complemento para el Nginx Bad Bot Blocker.

************************************************
## DETENER EL SPAM "FANTASMA" DE GOOGLE ANALYTICS:

El simple uso del bloqueador de Nginx no detiene el spam de referers fantasma de Google Analytics porque estos golpean Analytics directamente y no siempre tocan tu sitio web.

Debes usar filtros regex en Analytics para prevenir el spam de referers fantasma.

Para esto, hay varios archivos google-exclude-0*.txt que se han creado para ti y se actualizan al mismo tiempo que se actualiza el Bloqueador de Nginx. A medida que la lista crezca, se crearán más archivos de exclusión.

************************************************
## PARA DETENER EL SPAM "FANTASMA" EN GOOGLE ANALYTICS SIGUE LA GUÍA VISUAL SIMPLE A CONTINUACIÓN

Sigue las instrucciones visuales paso a paso a continuación para añadir estos archivos google-exclude como segmentos a tu sitio web.

<table style="width:100%;margin:0;">
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-01.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-02.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-03.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-04.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-05.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-06.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
  <tr>
    <td align="left"><img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/google-analytics-ghost-spam-07.jpg" alt="Google Analytics - Adding Segments to Stop Ghost Spam"/></td>
  </tr>
</table>

************************************************
## BLOQUEAR DOMINIOS DE SPAM USANDO GOOGLE SEARCH CONSOLE / WEBMASTER TOOLS 
(Cómo usar el archivo google-disavow.txt)

He añadido la creación de un archivo de texto de Google Disavow llamado google-disavow.txt. Este archivo se puede usar en las Webmaster Tools de Google para bloquear todos estos dominios como enlaces maliciosos o de spam. Úsalo con precaución.

************************************************
## ¿VERSIÓN ROBOTS.txt PARA AQUELLOS QUE NO PUEDEN USAR ESTE BLOQUEADOR COMPLETO?

Muchas personas están a merced de su empresa de alojamiento y no tienen acceso root al servidor que se ejecuta detrás de su sitio web. Si esta es tu situación, echa un vistazo al archivo robots.txt generado automáticamente que te ayudará en cierta medida a mantener a muchos Bad Bots y User-Agents fuera de tus sitios.

************************************************
## ¿VERSIONES .htaccess PARA AQUELLOS QUE NO PUEDEN USAR ESTE BLOQUEADOR COMPLETO?

Muchas personas están a merced de su empresa de alojamiento y no tienen acceso root al servidor que se ejecuta detrás de su sitio web.

Si esta es tu situación, echa un vistazo a las versiones .htaccess generadas automáticamente del Spam Referrer Blocker que se pueden encontrar en <a href="https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/tree/master/.htaccess">este repositorio</a>. Este método .htaccess (SOLO PARA SITIOS APACHE) te ayudará a mantener todos los Spam Referrers de este bloqueador fuera de tu sitio.

Esto se menciona aquí simplemente porque muchas personas que usan sistemas CPanel creen que están detrás de un servidor Nginx, pero en realidad se están ejecutando en un servidor Apache detrás de un servidor proxy Nginx. .htaccess no funciona en sitios Nginx.

¿No usas el servidor web Nginx? Consulta el [![Get the APACHE ULTIMATE BAD BOT BLOCKER](https://img.shields.io/badge/APACHE%20-%20ULTIMATE%20BAD%20BOT%20BLOCKER%20%E2%9B%94-blue.svg)](https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker)

************************************************
# ¡¡¡FUNCIONA DE PUTA MADRE!!!
************************************************
## Ahora solo disfruta de lo que el Nginx Bad Bot Blocker puede hacer por ti y tus sitios web.
### Y ayuda a apoyar este proyecto

Miles de horas de programación y pruebas se han invertido en este proyecto, muestra algo de amor

[<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/kofi4.png" alt="Buy me Coffee" width="300"/>](https://ko-fi.com/mitchellkrog)

************************************************
# ¿HA SIDO HACKEADO TU SITIO WEB?

[![Contact me for help](https://img.shields.io/badge/Contact%20-%20me%20for%20help%20%F0%9F%9A%91-blue.svg)](mailto:[email protected]) para ayudarte a limpiar y asegurar tu sitio web.

************************************************
### ALGUNOS OTROS PROYECTOS GRATUITOS INCREÍBLES

- https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker
- https://github.com/mitchellkrogza/Badd-Boyz-Hosts
- https://github.com/mitchellkrogza/Ultimate.Hosts.Blacklist
- https://github.com/mitchellkrogza/Stop.Google.Analytics.Ghost.Spam.HOWTO
- https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites
- https://github.com/mitchellkrogza/fail2ban-useful-scripts
- https://github.com/mitchellkrogza/linux-server-administration-scripts
- https://github.com/mitchellkrogza/Travis-CI-Nginx-for-Testing-Nginx-Configuration
- https://github.com/mitchellkrogza/Travis-CI-for-Apache-For-Testing-Apache-and-PHP-Configurations
- https://github.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning
- https://github.com/funilrys/PyFunceble
- https://github.com/funilrys/dead-hosts
- https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites
- https://github.com/mitchellkrogza/Suspicious.Snooping.Sniffing.Hacking.IP.Addresses
- https://github.com/mitchellkrogza/Fail2Ban.WebExploits

************************************************
### TAMBIÉN CONSULTA LA NUEVA GRAN LISTA DE SITIOS WEB HACKEADOS CON MALWARE Y WORDPRESS

Este repositorio contiene una lista de todos los sitios web que encuentro hackeados con malware.
La mayoría de los propietarios de sitios no son conscientes de que sus sitios han sido hackeados y se están utilizando para plantar malware.

Échale un vistazo en: https://github.com/mitchellkrogza/The-Big-List-of-Hacked-Malware-Web-Sites

************************************************
### ¿TE GUSTA LA FOTOGRAFÍA?

Pasa a visitarme en [mitchellkrog.com](https://mitchellkrog.com) o [Facebook](https://www.facebook.com/MitchellKrogPhotography) o sígueme en Twitter <a href='https://twitter.com/MitchellKrog'><img src="https://img.shields.io/twitter/follow/MitchellKrog.svg?style=social&amp;label=Follow" alt='Follow @MitchellKrog'></a>

************************************************
### AGRADECIMIENTOS Y COLABORADORES:

Muchas gracias a aquellos que contribuyen a este proyecto.

Muchas partes de los scripts del generador y el código que se ejecuta detrás de este proyecto se han adaptado de fragmentos de cientos de fuentes.
De hecho, es tan difícil mencionar a todos, pero aquí hay algunas personas clave cuyos pequeños fragmentos de código me han ayudado a introducir nuevas funciones todo el tiempo. Muéstrales algo de amor y echa un vistazo también a algunos de sus proyectos.

- Konstantin Goretzki @konstantingoretzki https://github.com/konstantingoretzki (Regex mejorado en el filtro Fail2Ban)
- Stuart Cardall - https://github.com/itoffshore (Scripts de instalación, actualización y configuración y mantenedor del paquete Alpine Linux)
- Mike van Eckendonk  - https://github.com/Eckybrazzz
- Nissar Chababy @funilrys - https://github.com/funilrys/PyFunceble (Excelente script para comprobar nombres de dominio ACTIVOS, INACTIVOS y EXPIRADOS)
- Marius Voila https://github.com/mariusv
- Cătălin Mariș https://github.com/alrra
- deformhead https://github.com/deformhead
- bluedragonz https://github.com/bluedragonz
- Alexander https://github.com/shoonois
- Steven Black https://github.com/StevenBlack
- Fail2Ban - https://github.com/fail2ban
- Stevie-Ray Hartog https://github.com/Stevie-Ray
- Sir Athos de StackOverFlow - http://stackoverflow.com/users/2245910/sir-athos (ayuda con el etiquetado y la confirmación de compilación de Travis)
- StackOverflow - http://stackoverflow.com/ (scripts bash de cientos de preguntas y respuestas)
- SuperUser - http://superuser.com/ (fragmentos de varias preguntas y respuestas)

Si crees que tu nombre debería estar aquí, escríbeme.

************************************************
### ¡¡Escribir código como este lleva mucho tiempo!!

Miles de horas de programación y pruebas se han invertido en este proyecto, muestra algo de amor

[<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/kofi4.png" alt="Buy me Coffee" width="300"/>](https://ko-fi.com/mitchellkrog)

<img src="https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/.assets/zuko.png"/>

************************************************
# Licencia MIT

## Copyright (c) 2017 Mitchell Krog - [email protected]
## https://github.com/mitchellkrogza

Se otorga permiso, de forma gratuita, a cualquier persona que obtenga una copia
de este software y los archivos de documentación asociados (el "Software"), para tratar
con el Software sin restricción, incluidos, sin limitación, los derechos
de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender
copias del Software, y para permitir a las personas a quienes se les
proporcione el Software hacer lo mismo, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso se incluirán en todas las
copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O
IMPLÍCITA, INCLUYENDO, PERO NO LIMITADO A, LAS GARANTÍAS DE COMERCIABILIDAD,
IDONEIDAD PARA UN FIN PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS
AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE CUALQUIER RECLAMO, DAÑO U OTRA
RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRO MODO, QUE SURJA DE,
FUERA DE O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTROS ACUERDOS EN EL
SOFTWARE.
Descargar herramienta