Constructor de Lista de Permitidos
Construye una lista de permitidos CIDR minima a partir de una lista de IPs
Input IPs/CIDRs
Minimal CIDR Allowlist
El Constructor de allowlist convierte una lista de direcciones IP individuales en el conjunto mínimo de bloques CIDR que cubren exactamente esas direcciones. Ingresa direcciones como 192.168.1.0, 192.168.1.1, 192.168.1.2, 192.168.1.3 y obtén un solo 192.168.1.0/30 -- menos reglas de firewall, procesamiento de reglas más rápido y configuraciones más manejables.
Conceptos básicos de allowlists IP y agregación CIDR
Si administras firewalls, security groups o controles de acceso de servidores web, casi con certeza has mantenido una allowlist en algún momento. Una allowlist es un conjunto de direcciones IP que tienen permiso explícito para acceder a un recurso -- todo lo demás se deniega. El desafío surge cuando esa lista crece de un puñado de direcciones a cientos o miles. Cada entrada de IP individual es una regla separada en tu firewall, y cada regla cuesta tiempo de procesamiento en cada paquete que pasa.
La agregación CIDR resuelve esto combinando direcciones IP adyacentes en bloques compactos. En lugar de listar 256 direcciones individuales desde 172.16.0.0 hasta 172.16.0.255, escribes un solo 172.16.0.0/24. El firewall evalúa una regla en lugar de 256, lo cual importa cuando estás procesando millones de paquetes por segundo en un dispositivo de borde de alto tráfico. Las plataformas en la nube imponen límites estrictos en la cantidad de reglas -- los security groups de AWS permiten 60 reglas por grupo por defecto, y los NSGs de Azure tienen un tope de 1000 -- así que la representación CIDR eficiente no es solo una optimización de rendimiento, frecuentemente es un requisito.
La distinción crítica entre la agregación CIDR genérica y la construcción de allowlists es la precisión. Una herramienta de agregación general podría combinar 192.168.1.0 y 192.168.1.3 en 192.168.1.0/30, pero ese bloque también incluye .1 y .2, que podrían no estar autorizados. Para una allowlist, incluir direcciones no autorizadas es un agujero de seguridad. Este constructor garantiza que la salida nunca cubra una dirección que no estaba en la entrada original -- siempre elige precisión sobre compresión.
Cómo construir una allowlist CIDR mínima
- Ingresa tu lista de direcciones IP -- una por línea, separadas por comas o mezcladas con notación CIDR existente.
- El constructor analiza la adyacencia y las oportunidades de agrupación entre todas las direcciones de entrada.
- Las direcciones adyacentes se agregan en bloques CIDR solo cuando hacerlo no incluye ninguna IP no autorizada.
- Revisa la salida mostrando cada bloque CIDR y cuántas direcciones originales cubre.
- Copia la allowlist optimizada para usarla en tu configuración de firewall, security group o ACL.
Ejemplos de agregación de allowlist
| IPs de entrada | CIDR de salida | Direcciones cubiertas |
|---|---|---|
192.168.1.0, 192.168.1.1, 192.168.1.2, 192.168.1.3 | 192.168.1.0/30 | 4 |
10.0.0.0, 10.0.0.1 | 10.0.0.0/31 | 2 |
172.16.0.0 hasta 172.16.0.255 | 172.16.0.0/24 | 256 |
192.168.1.0, 192.168.1.2 | 192.168.1.0/32, 192.168.1.2/32 | 2 (no se pueden fusionar -- falta 192.168.1.1) |
Ratio de compresión
Una lista de 256 direcciones consecutivas que comienzan en un límite /24 se comprime a un solo bloque CIDR -- una reducción de 256:1. Las listas del mundo real típicamente logran una compresión de 5:1 a 20:1 dependiendo de qué tan agrupadas estén las direcciones.
Cuándo usar el constructor de allowlist
- Límites de reglas de firewall -- Los security groups en la nube (AWS limita 60 reglas por SG, Azure limita 1000 por NSG) requieren allowlists compactas para mantenerse dentro de las cuotas.
- Consolidación de logs de acceso -- Convierte semanas de direcciones IP autorizadas de logs de acceso en una allowlist mantenible.
- Planificación de migración -- Combina allowlists de múltiples firewalls heredados en un solo conjunto optimizado.
- Optimización de rendimiento -- Menos reglas CIDR significa coincidencia de paquetes más rápida en firewalls de alto rendimiento.
- Configuración de API gateway -- Servicios como Cloudflare o AWS API Gateway se benefician de listas CIDR mínimas para control de acceso basado en IP.
Cómo funciona la agregación CIDR para allowlists
La agregación CIDR combina direcciones IP en bloques identificando prefijos de red compartidos en representación binaria. Dos direcciones pueden fusionarse en un bloque más grande solo cuando:
- Son numéricamente adyacentes --
10.0.0.4y10.0.0.5son adyacentes;10.0.0.4y10.0.0.6no lo son. - Se alinean en un límite de potencia de dos --
10.0.0.0/31es válido (cubre.0y.1), pero no puedes comenzar un/31en una dirección impar. - No existen espacios -- Si
10.0.0.1falta de una lista que contiene10.0.0.0y10.0.0.2, no pueden combinarse en/30porque eso incluiría la dirección no autorizada.1.
Agregación segura vs. insegura
Segura: 192.168.1.0 + 192.168.1.1 → 192.168.1.0/31
(ambas direcciones están en la lista de entrada)
Insegura: 192.168.1.0 + 192.168.1.3 → 192.168.1.0/30
(incluiría .1 y .2, que NO están en la lista)
El constructor de allowlist siempre elige precisión sobre compresión -- nunca producirá un bloque CIDR que incluya IPs fuera de tu lista original.
El algoritmo de agregación
El constructor trabaja de abajo hacia arriba. Comienza convirtiendo cada dirección de entrada a un /32 (host individual). Luego intenta emparejar entradas /32 adyacentes en bloques /31, bloques /31 adyacentes en bloques /30, y así sucesivamente. En cada paso, verifica si el bloque resultante incluiría alguna dirección que no está en la entrada original. Si es así, se omite la fusión y se mantienen los bloques más pequeños. Este enfoque greedy garantiza el número mínimo de bloques CIDR sin exceder la cobertura.
Entrada: 10.0.0.0, 10.0.0.1, 10.0.0.2, 10.0.0.3, 10.0.0.4
Paso 1: 10.0.0.0/32, 10.0.0.1/32, 10.0.0.2/32, 10.0.0.3/32, 10.0.0.4/32
Paso 2: 10.0.0.0/31, 10.0.0.2/31, 10.0.0.4/32
Paso 3: 10.0.0.0/30, 10.0.0.4/32 (fusiona .0/.1 y .2/.3 en /30)
Paso 4: No se puede fusionar /30 + /32 (necesitaría 10.0.0.5-7 para llenar un /29)
Resultado: 10.0.0.0/30, 10.0.0.4/32 (2 entradas en lugar de 5)
Consejos prácticos para construir allowlists
La mayor fuente de problemas con las allowlists de IP son las entradas obsoletas. Las direcciones se agregan cuando un nuevo socio u oficina entra en funcionamiento, pero nadie las elimina cuando la relación con el socio termina o la oficina se muda a un nuevo rango de IP. Con el tiempo, la allowlist crece hasta convertirse en un desorden extenso en el que nadie confía y nadie quiere tocar. Establece la práctica de adjuntar una fecha de expiración o un número de ticket a cada entrada y revisa la lista trimestralmente. Si no puedes identificar por qué una dirección está ahí, probablemente no debería estar.
Al construir allowlists desde logs de acceso, ten cuidado con la ventana de tiempo que usas. Un solo día de logs podría no captar direcciones legítimas que solo se conectan semanalmente (sistemas de monitoreo, trabajos batch, generadores de reportes mensuales). Obtén al menos 30 días de logs para captar tráfico infrecuente pero legítimo. Por otro lado, no incluyas ciegamente en la allowlist cada dirección que alguna vez se haya conectado -- verifica que el tráfico fue realmente autorizado, no solo exitoso. Un atacante que entró una vez no debería quedar permanentemente en la allowlist.
Si estás alcanzando los límites de cantidad de reglas en una plataforma en la nube, considera si realmente necesitas allowlisting por IP individual o si un bloque CIDR más amplio es aceptable. Si todos los servidores de un socio viven en 203.0.113.0/24, incluir todo el /24 en la allowlist es más simple y más resiliente a los cambios de infraestructura de ellos que rastrear IPs de servidores individuales. Esta es una decisión que depende de cuánto confías en el propietario de la red, pero reduce dramáticamente tu cantidad de reglas.
Preguntas frecuentes
¿Qué formatos de entrada acepta el constructor de allowlist? El constructor acepta direcciones IP una por línea, separadas por comas, separadas por espacios o mezcladas con notación CIDR existente. Puedes pegar directamente desde hojas de cálculo, archivos de log o configuraciones de firewall existentes. Se soportan tanto direcciones IPv4 como IPv6.
¿El constructor alguna vez incluirá IPs que no especifiqué?
No. El constructor prioriza la precisión sobre la compresión. Si fusionar dos direcciones en un bloque CIDR incluiría incluso una dirección que no está en tu lista original, las mantiene como entradas separadas /32 (IPv4) o /128 (IPv6). Esta garantía es crítica para allowlists de seguridad.
¿En qué se diferencia esto de la agregación CIDR? La agregación CIDR general asume que ya tienes bloques CIDR y quiere fusionarlos. El constructor de allowlist parte de direcciones IP individuales y encuentra la representación CIDR óptima. Está diseñado específicamente para construir allowlists de firewall donde incluir direcciones extra es inaceptable.
¿Puedo usar la salida directamente en mi firewall? La salida es una lista de bloques CIDR en texto plano. Para sintaxis específica de plataforma, usa la salida con un generador de fragmentos como el CIDR Allow/Deny Snippet Generator (nginx) o el Apache Require ip Snippet Generator para producir configuración lista para desplegar.
¿Qué ratio de compresión debo esperar?
Depende completamente de qué tan agrupadas estén tus direcciones. Una lista de 256 direcciones consecutivas en un límite /24 se comprime a un solo bloque (256:1). Una lista de 100 direcciones dispersas en diferentes subnets podría solo comprimirse a 80 bloques (1.25:1). En la práctica, la mayoría de los logs de acceso del mundo real producen ratios entre 5:1 y 20:1.
¿Puedo mezclar direcciones IPv4 e IPv6 en la misma entrada? Sí. El constructor procesa las direcciones IPv4 e IPv6 por separado y produce listas de bloques CIDR independientes para cada familia de direcciones. Esto coincide con cómo la mayoría de los firewalls manejan las reglas dual-stack.
Herramientas relacionadas
- Blocklist Builder - Construye una blocklist CIDR mínima a partir de una lista de IPs
- IP:Port Allowlist Validator - Valida entradas masivas de IP:puerto antes del despliegue
- CIDR Allow/Deny Snippet Generator (nginx) - Genera directivas allow/deny de nginx a partir de una lista CIDR
- Rule Conflict Finder - Encuentra reglas de firewall duplicadas, sombreadas o superpuestas
- Apache Require ip Snippet Generator - Genera directivas Apache Require ip