Limitación de velocidad para NetScaler Gateway
La función de limitación de velocidad de NetScaler Gateway permite definir la carga máxima para una entidad de red o entidad virtual determinada en el dispositivo NetScaler Gateway. Dado que el dispositivo NetScaler Gateway consume todo el tráfico no autenticado, el dispositivo suele estar expuesto a solicitudes de proceso a un ritmo elevado. La función de limitación de velocidad le permite configurar el dispositivo NetScaler Gateway para supervisar la velocidad de tráfico asociada a una entidad y tomar medidas preventivas, en tiempo real, basadas en el tráfico. Para obtener más información sobre cómo funciona la limitación de velocidad en un dispositivo NetScaler, consulte Limitación de velocidad.
NetScaler tiene la función de limitación de velocidad que proporciona protección a los servidores back-end para una velocidad imprevista. Dado que la función de NetScaler no servía para el tráfico no autenticado que administra NetScaler Gateway, NetScaler Gateway necesitaba su propia funcionalidad de limitación de velocidad. Esto es necesario para comprobar una tasa imprevista de solicitudes de varias fuentes a las que está expuesto el dispositivo NetScaler Gateway. Por ejemplo, solicitudes de control o inicio de sesión no autenticadas y determinadas API expuestas para validaciones de dispositivos o usuarios finales.
Casos de uso comunes para la limitación de velocidad
-
Limita el número de solicitudes por segundo de una URL.
-
Elimine una conexión en función de las cookies recibidas en la solicitud de un host en particular si la solicitud excede el límite de velocidad.
-
Limite el número de solicitudes HTTP que llegan del mismo host (con una máscara de subred concreta) y que tienen la misma dirección IP de destino.
Configurar la limitación de velocidad para NetScaler Gateway
Requisitos previos
Servidor virtual de autenticación configurado.
Puntos que tener en cuenta
-
En los pasos de configuración, se configura un identificador de límite de muestra. Lo mismo se puede configurar con todos los parámetros admitidos como selector de flujo, modo. Para obtener una descripción exhaustiva de las capacidades de limitación de tarifas, consulte Limitación de tarifas.
-
La directiva también se puede enlazar a un servidor virtual VPN de la siguiente manera. Necesita un servidor virtual VPN configurado para enlazar las directivas mediante el siguiente comando.
bind vpn vserver -policy denylogin –pri 1 –type aaa_request <!--NeedCopy-->
-
AAA_REQUEST es un punto de enlace recién introducido para las directivas de respuesta. Las directivas configuradas en este punto de enlace se aplican a todas las solicitudes entrantes del servidor virtual especificado. Las directivas se procesan para el tráfico no autenticado o de control antes de cualquier otro procesamiento.
-
La vinculación de la directiva al servidor virtual de NetScaler Gateway permite limitar la velocidad en el punto de enlace AAA_REQUEST para todo el tráfico consumido por NetScaler Gateway, incluidas las solicitudes no autenticadas.
-
La vinculación de la directiva a un servidor virtual de autenticación limita las solicitudes de control o no autenticadas que llegan al servidor virtual de autenticación.
Para configurar la limitación de velocidad mediante la interfaz de línea de comandos, en el símbolo del sistema, escriba los siguientes comandos:
add limitIdentifier <limitIdentifier name> -threshold <positive_integer> -timeslice <positive_integer> -mode <mode type>
<!--NeedCopy-->
Ejemplo:
add limitIdentifier limit_one_login -threshold 10 -timeslice 4294967290 -mode REQUEST_RATE
<!--NeedCopy-->
add responderaction denylogin respondwith ‘“HTTP/1.1 200 OK\r\n\r\n” + “Request is denied due to unusual rate”’
<!--NeedCopy-->
add responder policy denylogin 'sys.check_limit("limit_one_login")' denylogin
<!--NeedCopy-->
bind authentication vserver <vserver name> -policy denylogin –pri 1 –type aaa_request
<!--NeedCopy-->
Ejemplo:
bind authentication vserver authvserver -policy denylogin –pri 1 –type aaa_request
<!--NeedCopy-->
Descripción del parámetro
-
LimitIdentifier: nombre de un identificador de límite de velocidad. Debe comenzar con una letra ASCII o un carácter de guión bajo (_) y debe constar únicamente de caracteres alfanuméricos o de guión bajo ASCII. No se deben utilizar palabras reservadas. Se trata de un argumento obligatorio. Longitud máxima: 31
-
umbral: número máximo de solicitudes permitidas en el segmento de tiempo determinado cuando se realiza un seguimiento de las solicitudes (el modo se establece como REQUEST_RATE) por segmento de tiempo. Cuando se realiza un seguimiento de las conexiones (el modo se establece como CONNECTION), es el número total de conexiones que se dejarían pasar. Valor por defecto: 1 Valor mínimo: 1 Valor máximo: 4294967295
-
TimeSlice - Intervalo de tiempo, en milisegundos, especificado en múltiplos de 10, durante el cual se realiza un seguimiento de las solicitudes para comprobar si cruzan el umbral. El argumento solo es necesario cuando el modo se establece en REQUEST_RATE. Valor predeterminado: 1000 Valor mínimo: 10 Valor máximo: 4294967295
-
mode: define el tipo de tráfico que se va a rastrear.
- REQUEST_RATE: rastrea las solicitudes/el segmento de tiempo.
- CONEXIÓN: realiza un seguimiento de las transacciones activas.
Para configurar la limitación de velocidad mediante la GUI de NetScaler:
-
Vaya a AppExpert > Límite de velocidad > Identificadores de límite, haga clic en Agregar y especifique los detalles relevantes como se especifica en la sección CLI.
-
Vaya a AppExpert>Respondedor>Directivas. En la página Directivas de respuesta, haga clic en Agregar.
-
En la página Crear directiva de respuesta, cree una directiva de respuesta con una acción de respuesta que tenga el identificador de límite.
-
Para crear una acción de respuesta, haga clic en Agregar junto a Acción.
-
En la página Crear acción de respuesta, introduzca un nombre para la acción de respuesta.
-
Selecciona el tipo Responder con en el menú desplegable.
-
En el editor de expresiones, configure el mensaje de respuesta. Por ejemplo,
"HTTP/1.1 200 OK\r\n\r\n"+ "Request is denied due to unusual rate"
. -
Haga clic en Crear.
-
Para crear una directiva de respuesta, en la página Crear directiva de respuesta, introduzca un nombre para la directiva de respuesta.
-
En el editor de expresiones, configure la condición de la directiva de respuesta. Por ejemplo,
'sys.check_limit("limit_one_login")'
. -
Haga clic en Crear.
-
Enlazar la directiva de respuesta al servidor virtual de autenticación.
- Vaya a Seguridad>Tráfico de aplicaciones AAA>Servidor virtual.
- Seleccione el servidor virtual.
- Agregue una directiva.
- Elija la directiva de respuesta que quiere vincular al servidor, establezca la prioridad.
- Elija el tipo como AAA-REQUEST y haga clic en Continuar.
Nota:
También puede habilitar la limitación de velocidad en el punto de enlace AAA_REQUEST para el servidor virtual VPN.
Configuración de los casos de uso habituales para aplicar la limitación de velocidad a NetScaler Gateway
A continuación se muestran ejemplos de comandos para configurar casos de uso comunes.
-
Limita el número de solicitudes por segundo de una URL.
add stream selector ipStreamSelector http.req.url “client.ip.src” add ns limitIdentifier ipLimitIdentifier –threshold 4 –timeslice 1000 –mode request_rate –limitType smooth –selectorName ip StreamSelector add responder policy ipLimitResponderPolicy “http.req.url.contains(\”myasp.asp\”) && sys.check_limit(\”ipLimitIdentifier\”)” myWebSiteRedirectAction bind authentication virtual server authvserver -policy denylogin –pri 1 –type aaa_request <!--NeedCopy-->
-
Interrumpe una conexión en función de las cookies recibidas en la solicitud
www.yourcompany.com
si la solicitud supera el límite de velocidad.add stream selector cacheStreamSelector “http.req.cookie.value(\”mycookie\”)” “client.ip.src.subnet(24)” add ns limitIdentifier myLimitIdentifier –Threshold 2 –timeSlice 3000 –selectorName reqCookieStreamSelector add responder action sendRedirectURL redirect `"http://www.mycompany.com"` + http.req.url' add responder policy rateLimitCookiePolicy “http.req.url.contains(\www.yourcompany.com) && sys.check_limit(\”myLimitIdentifier\”)” sendRedirectUrl <!--NeedCopy-->
-
Limite el número de solicitudes HTTP que llegan del mismo host (con una máscara de subred de 32) y que tienen la misma dirección IP de destino.
add stream selector ipv6_sel “CLIENT.IPv6.src.subnet(32)”CLIENT.IPv6.dst add ns limitIdentifier ipv6_id –imeSlice 20000 –selectorName ipv6_sel add lb vserver ipv6_vip HTTP 3ffe:: 209 80 –persistenceType NONE –cltTime add responder action redirect_page redirect “\”`http://redirectpage.com/\”"` add responder policy ipv6_resp_pol “SYS.CHECK_LIMIT(\”ipv6_id\”)” redirect_page bind responder global ipv6_resp_pol 5 END –type DEFAULT <!--NeedCopy-->
Directiva de respuesta de enlace para dispositivos de punto final de autenticación, autorización y auditoría
Para permitir que el motor de paquetes gestione las solicitudes, vincule la directiva de respuesta al servidor virtual de autenticación o al servidor virtual VPN mediante el punto de enlace AAA_REQUEST
.
-
Ejemplo de servidor virtual de VPN:
bind vpn vserver vpnVs -policy resp_pol -priority 6 -type AAA_REQUEST
-
Ejemplo de servidor virtual de autenticación:
bind authentication vserver av_vs -policy resp_pol -priority 6 -type AAA_REQUEST
Para permitir que el servidor HTTP Apache gestione las solicitudes, vincule la directiva de respuesta al servidor virtual de autenticación o al servidor virtual VPN mediante el punto de enlace REQUEST
.
Por ejemplo,
-
Ejemplo de servidor virtual de VPN:
bind vpn vserver vpnVs -policy resp_pol -priority 6 -type REQUEST
-
Ejemplo de servidor virtual de autenticación:
bind authentication vserver av_vs -policy resp_pol -priority 6 -type REQUEST
Para obtener más información sobre cómo vincular directivas de respuesta, consulte Vincular una directiva de respuesta.
En este artículo
- Casos de uso comunes para la limitación de velocidad
- Configurar la limitación de velocidad para NetScaler Gateway
- Configuración de los casos de uso habituales para aplicar la limitación de velocidad a NetScaler Gateway
- Directiva de respuesta de enlace para dispositivos de punto final de autenticación, autorización y auditoría