Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 14709|Respuesta: 2

[Web] nginx está protegido por DDOS según http_user_agent

[Copiar enlace]
Publicado en 20/12/2016 10:37:01 | | |

Proxy inverso frontend squid a nginx
nginx está protegido por DDOS según http_user_agent
Primero, revisa los registros de acceso para identificar las características de las visitas sospechosas encontradas http_user_agent y luego filtralas
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE 3.01) Control de caché: sin tienda, debe revalidar"
if ($http_user_agent ~ must-revalidate) {
retorno 503;
}
#这样就返回503错误
ubicación = / {
incluye proxy .conf;
if ( $http_user_agent ~* "MSIE 5.01" ) {
proxy_pass http://www.qq.com;
#access_log /usr/local/nginx/logs/k.log main;
      }
proxy_pass http://windows.abc.com;
}
#判断一下user-agente, si es MSIE 5.01, simplemente lánzalo a otro sitio, como señalar a www.qq.com para ver si puede resistir, jaja
proxy_hide_header Control de caché;
Por último, vuelve a Cache-Control y visita la página
Ahora el enlace se almacena en caché en el calamar front-end y el servidor de aplicaciones no se bloquea
#########################################################
Descripción detallada de los parámetros del módulo de localización en nginx
Nginx's Location puede tener las siguientes coincidencias:
1. = Coincidir estrictamente con esta consulta. Si los encuentras, deja de buscar.
2. ^~ Coincide con el prefijo del camino, si se encuentra, deja de buscar.
3. ~ es una coincidencia regular sensible a mayúsculas minúsculas   
4. ~* es una coincidencia insensible a mayúsculas y mayúsculas
5. !~ y !~* son desajustes sensibles a mayúsculas y minúsculas y insensibles, respectivamente

Coincidencia de archivos y directorios
* -f y !-f se utilizan para determinar si existe un archivo
* -d y !-d se utilizan para determinar si existe un directorio
* -e y !-e se utilizan para determinar si existe un archivo o directorio
* -x y !-x se utilizan para determinar si un archivo es ejecutable o no

Algunas de las variables globales disponibles
$args
$content_longitud
$content_tipo
$document_raíz
$document_uri
$host
$http_agent_user_
$http_cookie
$limit_rate
$request_archivo_cuerpo_
$request_método
$remote_addr
$remote_puerto
$remote_usuario
$request_nombre de archivo
$request_uri
$query_cadena
$scheme
$server_protocolo
$server_addr
$server_nombre
$server_puerto
$uri

La bandera tras la reescritura puede ser:
Última
Pausa
redirección
Permanente

proxy_pass http://localhost:80;
proxy_set_header Presentador $host;
Puedes cambiar automáticamente la información del nombre de dominio tras reenviarlo




Anterior:Solución en C# para no poder acceder a objetos liberados
Próximo:PowerShell convierte varios espacios en uno solo para eliminar espacios excedentes
 Propietario| Publicado en 20/12/2016 10:37:25 |

El servidor se ve afectado por cc (el atacante utiliza el servidor proxy para generar solicitudes legítimas al host víctima, implementar DDOS y disfrazarlo se llama: cc (ChallengeCollapsar). ), Nginx puede lidiar con ello sin problema.

Como el useragent de un atacante CC suele ser fijo, usamos nginx para juzgar useragatet y manejar ataques CC.
En la configuración del servidor nginx

(1) useragent es igual a una determinada característica (insensible a mayúsculas)
if ($http_user_agent ~* OliveHC3){
   regreso 403;
}
(2) useragent contiene una característica concreta (no distinga mayúsculas)
if ($http_user_agent ~* (*OliveHC3*)){
   regreso 403;
}
(3) useragent es una función vacía
If ($http_user_agent ~ ^$){
        regreso 403;
}


De este modo, el ataque regresó a 403.
 Propietario| Publicado en 20/12/2016 11:03:41 |

1. $remote_addr y $http_x_forwarded_for se utilizan para registrar la dirección IP del cliente;
2.$remote_user: Se usaba para registrar el nombre de usuario del cliente;
3.$time_local: Se usaba para registrar la hora y la zona horaria de acceso;
4.$request: URL y protocolo HTTP usados para registrar solicitudes;
5.$status: Se usó para registrar el estado de la solicitud; El éxito es 200,
6.$body_bytes_s ent: Registra el tamaño del contenido principal del cuerpo del archivo enviado al cliente;
7.$http_referer: se usaba para registrar las visitas desde el enlace de esa página;
8.$http_agent_user: Registrar la información relevante del navegador cliente;
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com