ADC
Gracias por los comentarios

Este artículo ha sido traducido automáticamente. (Aviso legal)

Caso de uso: Filtrar clientes mediante una lista de prohibidos de IP

Las llamadas HTTP se pueden utilizar para bloquear solicitudes de clientes que están en la lista de prohibidos por el administrador. La lista de clientes puede ser una lista de prohibidos públicamente conocida, una lista de prohibidos que mantenga para su organización o una combinación de ambas.

El dispositivo NetScaler compara la dirección IP del cliente con la lista negra preconfigurada y bloquea la transacción si la dirección IP figura en la lista negra. Si la dirección IP no está en la lista, el dispositivo procesa la transacción.

Para implementar esta configuración, debe realizar las siguientes tareas:

  1. Habilite el respondedor en el dispositivo NetScaler.
  2. Cree una llamada HTTP en el dispositivo NetScaler y configúrela con detalles sobre el servidor externo y otros parámetros necesarios.
  3. Configure una directiva de respuesta para analizar la respuesta a la llamada HTTP y, a continuación, vincular la directiva de forma global.
  4. Cree un agente de llamada HTTP en el servidor remoto.

Activación del respondedor

Debe habilitar el respondedor antes de poder usarlo.

Para habilitar el respondedor mediante la interfaz gráfica de usuario

  1. Asegúrese de haber instalado la licencia de respuesta.
  2. En la utilidad de configuración, expanda AppExpert, haga clic con el botón secundario del mouse en Respondedor y, a continuación, haga clic en Habilitar la función Respondedor.

Creación de una llamada HTTP en el dispositivo NetScaler

Cree una llamada HTTP, Http_callout, con la configuración de parámetros que se muestra en la tabla siguiente. Para obtener más información sobre cómo crear una llamada HTTP, consulte Configuración de una llamada HTTP pdf.

Configurar una directiva de respuesta y vincularla globalmente

Después de configurar la llamada HTTP, compruebe la configuración de llamada y, a continuación, configure una directiva de respuesta para invocar la llamada. Aunque puede crear una directiva de respuesta en el subnodo Directivas y, a continuación, enlazarla globalmente mediante Responder Policy Manager, esta demostración utiliza Responder Policy Manager para crear la directiva de respuesta y enlazar la directiva de forma global.

Para crear una directiva de respuesta y vincularla globalmente mediante

  1. Vaya a AppExpert > Responder.
  2. En el panel de detalles, en Policy Manager, haga clic en Policy Manager.
  3. En el cuadro de diálogo Responder Policy Manager, haga clic en Anular global.
  4. Haga clic en Insertar directivay, a continuación, en Nombre de la directiva, haga clic en Nueva directiva.
  5. En el cuadro de diálogo Crear directiva de respuesta, haga lo siguiente:

    1. En Nombre, escriba PolicyResponder1.
    2. En Acción, seleccione RESTABLECER.
    3. En Acción de resultado no definido, seleccione Acciónglobal de resultado indefinido .
    4. En Expresión, escriba la siguiente expresión de directiva avanzada:

      "HTTP.REQ.HEADER("Request").EQ("Callout Request").NOT && SYS.HTTP_CALLOUT(HTTP_Callout).CONTAINS("IP Matched")"
    5. Haga clic en Crear y, a continuación, en Cerrar.
  6. Haga clic en Aplicar cambios y, a continuación, en Cerrar.

Creación de un agente de llamada HTTP en el servidor remoto

Ahora debe crear un agente de llamadas HTTP en el servidor de llamadas remoto que reciba las solicitudes de llamadas del dispositivo NetScaler y responda adecuadamente. El agente de llamada HTTP es un script diferente para cada implementación y debe escribirse teniendo en cuenta las especificaciones del servidor, como el tipo de base de datos y el lenguaje de scripts admitido.

A continuación se muestra un agente de llamada de ejemplo que verifica si la dirección IP dada es parte de una lista de prohibidos IP. El agente se ha escrito en el lenguaje de scripting Perl y utiliza una base de datos MYSQL.

El siguiente script CGI comprueba si hay una dirección IP determinada en el servidor de llamadas.

#!/usr/bin/perl -w print "Content-type: text/html\n\n"; use DBI(); use CGI qw(:standard); #Take the Client IP address from the request query my $ip_to_check = param('cip'); # Where a MYSQL database is running my $dsn = 'DBI:mysql:BAD_CLIENT:localhost'; # Database username to connect with my $db_user_name = ‘dbuser’; # Database password to connect with my $db_password = 'dbpassword'; my ($id, $password); # Connecting to the database my $dbh = DBI->connect($dsn, $db_user_name, $db_password); my $sth = $dbh->prepare(qq{ select * from bad_clnt }); $sth->execute(); while (my ($ip_in_database) = $sth->fetchrow_array()) { chomp($ip_in_database); # Check for IP match if ($ip_in_database eq $ip_to_check) { print "\n IP Matched\n"; $sth->finish(); exit; } } print "\n IP Failed\n"; $sth->finish(); exit;
La versión oficial de este contenido está en inglés. Para mayor comodidad, parte del contenido de la documentación de Cloud Software Group solo tiene traducción automática. Cloud Software Group no puede controlar el contenido con traducción automática, que puede contener errores, imprecisiones o un lenguaje inadecuado. No se ofrece ninguna garantía, ni implícita ni explícita, en cuanto a la exactitud, la fiabilidad, la idoneidad o la precisión de las traducciones realizadas del original en inglés a cualquier otro idioma, o que su producto o servicio de Cloud Software Group se ajusten a cualquier contenido con traducción automática, y cualquier garantía provista bajo el contrato de licencia del usuario final o las condiciones de servicio, o cualquier otro contrato con Cloud Software Group, de que el producto o el servicio se ajusten a la documentación no se aplicará en cuanto dicha documentación se ha traducido automáticamente. Cloud Software Group no se hace responsable de los daños o los problemas que puedan surgir del uso del contenido traducido automáticamente.
Caso de uso: Filtrar clientes mediante una lista de prohibidos de IP