Permitir o bloquear direcciones IP
La
Allowlisting IP addresses le permite crear una lista de direcciones IP o rangos de direcciones IP de confianza desde los que los usuarios pueden acceder a sus dominios. Es una función de seguridad que a menudo se utiliza para limitar y controlar el acceso solo a usuarios de confianza.
La
Blocklisting IP addresses es un mecanismo básico de control de acceso. Deniega el acceso a los usuarios que acceden a su dominio utilizando las direcciones IP que ha bloqueado.
El Rewrite and Responder CRD proporcionado por NetScaler le permite definir políticas extensas de reescritura y respuesta utilizando conjuntos de datos, conjuntos de patrones y mapas de cadenas, y también habilitar registros de auditoría para estadísticas en el NetScaler de entrada.
Mediante las políticas de reescritura o respuesta, puede permitir o bloquear las direcciones IP/CIDR que utilizan los usuarios para acceder a su dominio.
Las siguientes secciones cubren varias formas en las que puede permitir o bloquear las direcciones IP/CIDR utilizando las políticas de reescritura o respuesta.
Permitir direcciones IP
Mediante una política de respuesta, puede permitir direcciones IP y descartar silenciosamente las solicitudes de los clientes que utilizan direcciones IP diferentes de las direcciones IP permitidas.
Cree un archivo llamado
allowlist-ip.yaml con la siguiente configuración de política 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'
También puede proporcionar las direcciones IP como una 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' ]
Luego, implemente el archivo YAML (
allowlist-ip.yaml) mediante el siguiente comando:
kubectl create -f allowlist-ip.yaml
Permitir direcciones IP y enviar respuesta 403 a la solicitud de clientes que no están en la lista de permitidos
Mediante una política de respuesta, puede permitir una lista de direcciones IP y enviar la respuesta
HTTP/1.1 403 Forbidden a las solicitudes de los clientes que utilizan direcciones IP diferentes de las direcciones IP permitidas.
Cree un archivo llamado
allowlist-ip-403.yaml con la siguiente configuración de política 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' ]
Luego, implemente el archivo YAML (
allowlist-ip-403.yaml) mediante el siguiente comando:
kubectl create -f allowlist-ip-403.yaml
Permitir un CIDR
Puede permitir un CIDR utilizando una política de respondedor. La siguiente es una configuración de política de respondedor de ejemplo para permitir un CIDR:
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'
Bloquear direcciones IP
Mediante una política de respondedor, puede bloquear direcciones IP y descartar silenciosamente las solicitudes de los clientes que utilizan las direcciones IP bloqueadas.
Cree un archivo llamado
blocklist-ip.yaml con la siguiente configuración de política de respondedor:
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'
Luego, implemente el archivo YAML (
blocklist-ip.yaml) utilizando el siguiente comando:
kubectl create -f blocklist-ip.yaml
Bloquear un CIDR
Puede bloquear un CIDR utilizando una política de respondedor. La siguiente es una configuración de política de respondedor de ejemplo para bloquear un CIDR:
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'
Permitir un CIDR y bloquear direcciones IP
Puede permitir un CIDR y también bloquear direcciones IP utilizando una política de respondedor. La siguiente es una configuración de política de respondedor de ejemplo:
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'
Bloquear un CIDR y permitir direcciones IP
Puede bloquear un CIDR y también permitir direcciones IP utilizando una política de respondedor. La siguiente es una configuración de política de respondedor de ejemplo:
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'