Algunas empresas exigen que el acceso a su panel Woku solo se permita desde IPs específicas, la red corporativa, una VPN, o un rango de oficinas. Woku soporta esto vía un allowlist de CIDR blocks per-empresa, configurable y opt-in.Documentation Index
Fetch the complete documentation index at: https://woku.app/docs/llms.txt
Use this file to discover all available pages before exploring further.
Conceptos
- CIDR: notación estándar para describir un rango de IPs.
Ejemplos:
10.0.0.0/8(toda la red 10.x.x.x),203.0.113.5/32(solo esa IP exacta),2001:db8::/32(un prefijo IPv6). - Opt-in per-empresa: cada empresa decide si activa el control. Por defecto está desactivado y todo el tráfico autenticado pasa sin restricción.
- Fail-closed: si la empresa no se puede resolver o la IP de la
request es desconocida (no hay
x-forwarded-forni IP directa), el guard responde 403. - IPv4 + IPv6: el matcher soporta ambos.
Activar el allowlist
Para activar el control en tu empresa:- Ve a Empresa → Seguridad → Allowlist de IPs.
- Carga los CIDR blocks desde donde puedes acceder. Ejemplos típicos:
- Red corporativa:
192.168.0.0/16 - VPN:
10.0.0.0/8 - IP única (oficina):
203.0.113.5/32
- Red corporativa:
- Marca Habilitado.
- Guarda.
⚠️ No puedes activar el allowlist con la lista vacía: el servidor rechaza la operación porque dejaría a todo el equipo sin acceso.
Qué pasa cuando alguien intenta entrar fuera del allowlist
El servidor responde403 Forbidden con el mensaje
“Request IP not in company allowlist”. El usuario:
- No puede iniciar sesión desde esa IP, aunque tenga credenciales válidas.
- Pierde el acceso a su sesión actual si esa sesión hace un request desde una IP no permitida.
403 Forbidden
con company.ip-allowlist.enforce.
Detección de IP
El guard prioriza el headerx-forwarded-for (necesario porque
detrás de un balanceador como ALB, la IP de socket es la del LB):
- Si
x-forwarded-for: <ip1>, <ip2>, ...está presente, usa la primera IP. - Si no, usa
request.ip(socket directo). - Si ninguna está disponible y el allowlist está activo: 403.
Para que esto funcione en producción, el reverse proxy debe estar
configurado para inyectar x-forwarded-for con la IP real del
cliente. La infraestructura actual de Woku (AWS Copilot/ALB) ya lo
hace.
Garantías
- Validación server-side: las CIDRs se validan con
ip-cidrantes de guardar. Una entrada inválida es rechazada con 400. - Deduplicación: la lista se recorta y se eliminan duplicados al guardar.
- Inmediato: el cambio aplica al próximo request. No hay cache.
- Auditable: cada update queda registrado.
Limitaciones conocidas
- El guard se aplica por endpoint (
@UseGuards(IpAllowlistGuard)). En esta primera entrega NO está aplicado automáticamente a todos los endpoints company-scoped: los equipos que necesiten enforcement estricto deben pedirlo en un cambio puntual por endpoint sensible (o esperar al rollout global en el próximo release). - Solo aplica a endpoints que llevan
companyIden la ruta. Si una empresa tiene endpoints que no son scope-by-path, el allowlist no los gatea.
¿Y si me quedo afuera por error?
Si configuras un allowlist incorrecto y pierdes acceso, contacta a soporte (team@woku.app). Un administrador interno puede limpiar
el allowlist vía endpoint backoffice. La acción queda registrada en
el audit log.