Ingress Controller de Citrix ADC

Lista de direcciones IP permitidas o bloqueadas

Allowlisting IP addresses le permite crear una lista de direcciones IP o intervalos de direcciones IP de confianza desde los que los usuarios pueden acceder a sus dominios. Es una función de seguridad que se usa a menudo para limitar y controlar el acceso solo a los usuarios de confianza.

Blocklisting IP addresses es un mecanismo de control de acceso básico. Niega el acceso a los usuarios que acceden a su dominio con las direcciones IP que ha incluido en la lista de bloqueo.

La CRD de reescritura y respuesta proporcionada por Citrix le permite definir directivas extensas de reescritura y respuesta mediante conjuntos de datos, conjuntos de parches y mapas de cadenas, y también habilitar registros de auditoría para las estadísticas en el Citrix ADC de entrada.

Con las directivas de reescritura o respuesta, puede incluir o bloquear las direcciones IP/CIDR con los que los usuarios pueden acceder a su dominio.

Las siguientes secciones cubren varias formas en las que puede incluir o bloquear las direcciones IP/CIDR mediante las directivas de reescritura o respuesta.

Lista de direcciones IP permitidas

Con una directiva de respuesta, puede incluir direcciones IP en listas permitidas y eliminar silenciosamente las solicitudes de los clientes que utilizan direcciones IP diferentes de las direcciones IP permitidas.

Cree un archivo denominado allowlist-ip.yaml con la siguiente configuración de directiva de reescritura:

apiVersion: citrix.com/v1
kind: rewritepolicy
metadata:
  name: allowlistip
spec:
  responder-policies:
    - servicenames:
        - frontend
      responder-policy:
        drop:
        respond-criteria: '!client.ip.src.TYPECAST_text_t.equals_any("allowlistip")'
        comment: 'Allowlist certain IP addresses'
  patset:
    - name: allowlistip
      values:
        - '10.xxx.170.xx'
        - '10.xxx.16.xx'
<!--NeedCopy-->

También puede proporcionar las direcciones IP en forma de lista:

apiVersion: citrix.com/v1
kind: rewritepolicy
metadata:
  name: allowlistip
spec:
  responder-policies:
    - servicenames:
        - frontend
      responder-policy:
        drop:
        respond-criteria: '!client.ip.src.TYPECAST_text_t.equals_any("allowlistip")'
        comment: 'Allowlist certain IP addresses'
  patset:
    - name: allowlistip
      values: [ '10.xxx.170.xx', '10.xxx.16.xx' ]
<!--NeedCopy-->

A continuación, implemente el archivo YAML (allowlist-ip.yaml) con el siguiente comando:

kubectl create -f allowlist-ip.yaml

Haga una lista de direcciones IP permitidas y envíe una respuesta 403 a la solicitud de clientes que no estén en la lista de permitidos

Con una directiva de respuesta, puede incluir una lista de direcciones IP permitidas y enviar la HTTP/1.1 403 Forbidden respuesta a las solicitudes de los clientes mediante direcciones IP diferentes de las direcciones IP permitidas.

Cree un archivo denominado allowlist-ip-403.yaml con la siguiente configuración de directiva de reescritura:

apiVersion: citrix.com/v1
kind: rewritepolicy
metadata:
  name: allowlistip
spec:
  responder-policies:
    - servicenames:
        - frontend
      responder-policy:
        respondwith:
          http-payload-string: '"HTTP/1.1 403 Forbidden\r\n\r\n" + "Client: " + CLIENT.IP.SRC + " is not authorized to access URL:" + HTTP.REQ.URL.HTTP_URL_SAFE +"\n"'
        respond-criteria: '!client.ip.src.TYPECAST_text_t.equals_any("allowlistip")'
        comment: 'Allowlist a list of IP addresses'
  patset:
    - name: allowlistip
      values: [ '10.xxx.170.xx',  '10.xxx.16.xx' ]
<!--NeedCopy-->

A continuación, implemente el archivo YAML (allowlist-ip-403.yaml) con el siguiente comando:

kubectl create -f allowlist-ip-403.yaml

Incluir un CIDR

Puede incluir un CIDR en una lista de permitidos mediante una directiva de respuesta. A continuación se muestra un ejemplo de configuración de directiva de respuesta para incluir un CIDR en la lista de permitidos

apiVersion: citrix.com/v1
kind: rewritepolicy
metadata:
  name: blocklistips1
spec:
  responder-policies:
    - servicenames:
        - frontend
      responder-policy:
        respondwith:
          http-payload-string: '"HTTP/1.1 403 Forbidden\r\n\r\n" + "Client: " + CLIENT.IP.SRC + " is not authorized to access URL:" + HTTP.REQ.URL.HTTP_URL_SAFE +"\n"'
        respond-criteria: '!client.ip.src.IN_SUBNET(10.xxx.170.xx/24)'
        comment: 'Allowlist certain IPs'
<!--NeedCopy-->

Lista de direcciones IP bloqueadas

Con una directiva de respuesta, puede incluir en una lista de direcciones IP bloqueadas y eliminar silenciosamente las solicitudes de los clientes que utilizan las direcciones IP incluidas en la lista de bloqueo.

Cree un archivo denominado blocklist-ip.yaml con la siguiente configuración de directiva de respuesta:

apiVersion: citrix.com/v1
kind: rewritepolicy
metadata:
  name: blocklistips
spec:
  responder-policies:
    - servicenames:
        - frontend
      responder-policy:
        respondwith:
        drop:
        respond-criteria: 'client.ip.src.TYPECAST_text_t.equals_any("blocklistips")'
        comment: 'Blocklist certain IPS'

  patset:
    - name: blocklistips
      values:
        - '10.xxx.170.xx'
        - '10.xxx.16.xx'
<!--NeedCopy-->

A continuación, implemente el archivo YAML (blocklist-ip.yaml) con el siguiente comando:

kubectl create -f blocklist-ip.yaml

Incluir un CIDR en lista bloqueada

Puede incluir un CIDR en la lista de bloqueo mediante una directiva de respuesta. A continuación se muestra un ejemplo de configuración de directiva de respuesta para incluir un CIDR en una lista de bloqueo

apiVersion: citrix.com/v1
kind: rewritepolicy
metadata:
  name: blocklistips1
spec:
  responder-policies:
    - servicenames:
        - frontend
      responder-policy:
        respondwith:
          http-payload-string: '"HTTP/1.1 403 Forbidden\r\n\r\n" + "Client: " + CLIENT.IP.SRC + " is not authorized to access URL:" + HTTP.REQ.URL.HTTP_URL_SAFE +"\n"'
        respond-criteria: 'client.ip.src.IN_SUBNET(10.xxx.170.xx/24)'
        comment: 'Blocklist certain IPs'
<!--NeedCopy-->

Incluya un CIDR y una lista de direcciones IP bloqueadas

Puede incluir un CIDR en la lista de permitidos y también en una lista de bloqueo de direcciones IP mediante una directiva de respuesta. A continuación se muestra un ejemplo de configuración de directiva de respuesta:

apiVersion: citrix.com/v1
kind: rewritepolicy
metadata:
  name: allowlistsub
spec:
  responder-policies:
    - servicenames:
        - frontend
      responder-policy:
        drop:
        respond-criteria: 'client.ip.src.TYPECAST_text_t.equals_any("blocklistips") || !client.ip.src.IN_SUBNET(10.xxx.170.xx/24)'
        comment: 'Allowlist a subnet and blocklist few IP's'

  patset:
    - name: blocklistips
      values:
        - '10.xxx.170.xx'
<!--NeedCopy-->

Incluir un CIDR en una lista de bloqueo y direcciones IP permitidas

Puede incluir en la lista de bloqueo un CIDR y también incluir direcciones IP en una lista de permitidos mediante una directiva de respuesta. A continuación se muestra un ejemplo de configuración de directiva de respuesta:

apiVersion: citrix.com/v1
kind: rewritepolicy
metadata:
  name: blocklistips1
spec:
  responder-policies:
    - servicenames:
        - frontend
      responder-policy:
        drop:
        respond-criteria: 'client.ip.src.IN_SUBNET(10.xxx.170.xx/24) && !client.ip.src.TYPECAST_text_t.equals_any("allowlistips")'
        comment: 'Blocklist a subnet and allowlist few IP's'

  patset:
    - name: allowlistips
      values:
        - '10.xxx.170.xx'
        - '10.xxx.16.xx'
<!--NeedCopy-->