Varios métodos más seguros para usar IPv6 público
Categories:
Algunas personas tienen la necesidad de usar IPv6 público para acceder a sus hogares. A diferencia de VPNs como tailscale/zerotier que requieren perforación de NAT para establecer conexiones directas, el acceso mediante IPv6 es directo. La mayoría de las redes móviles celulares suelen tener IPv6, lo que hace muy conveniente acceder desde casa.
Anteriormente compartí un artículo titulado El uso común de subdominios DDNS en redes domésticas puede degradar el servicio de banda ancha de China Telecom, que describe una trampa que las operadoras ponen al usar IPv6. En resumen, los dominios pueden ser escaneados; exponer tu dominio equivale a exponer tu IPv6, por lo que podrías ser escaneado y, al detectar servicios, el exceso de conexiones entrantes podría degradar tu servicio de banda ancha.
Ese artículo solo mencionaba el escaneo de dominios, pero no el “escaneo del espacio de red”. Este tipo de escaneo ignora cualquier información expuesta y directamente recorre el grupo de IPs para escanear, lo que es más difícil de prevenir.
El “escaneo del espacio de red” generalmente incluye los siguientes aspectos:
- Detección de actividad de IP: Utiliza protocolos como ARP, ICMP, TCP, etc., para identificar hosts en línea.
- Detección de puertos/servicios: A través del escaneo de puertos se filtran los puertos abiertos de los hosts en línea, y se obtiene información de servicios, versiones y sistemas operativos de los hosts objetivo.
- Detección de sistemas operativos: Analiza paquetes de respuesta para inferir el tipo y versión del sistema operativo del host objetivo.
- Captura de tráfico: Supervisa el tráfico de red para descubrir comportamientos anómalos o patrones de ataque.
- Resolución de alias: Para routers con múltiples direcciones IP, establece una relación de mapeo entre direcciones IP y routers.
- Detección DNS: Mediante la resolución inversa de direcciones IP, establece una correspondencia entre direcciones IP y dominios.
Aquí comparto varios métodos para evitar ser detectado por el escaneo del espacio de red:
- El servidor DNS interno no devuelve registros AAAA
- Los servicios internos solo permiten acceso mediante dominio, no permiten acceso directo mediante IP
- Uso de servicios DNS privados AdGuardPrivate
El servidor DNS interno no devuelve registros AAAA
Al navegar por Internet y visitar diversos sitios web, este tipo de acceso natural puede exponer la dirección IPv6 de origen. El servidor de destino puede obtener la dirección IPv6 de origen, y si el cliente no tiene un firewall activado, esta IPv6 puede ser colocada en el grupo de prioridad para el escaneo del espacio de red.
Además, se pueden colocar direcciones IPv6 con prefijo /56 en el grupo de escaneo, recorriendo solo los 16 bits inferiores, lo que puede reducir considerablemente el alcance del escaneo.
Basado en mi experiencia usando IPv6 durante muchos años, al navegar por Internet, IPv6 no tiene una diferencia significativa en comparación con IPv4. Por lo tanto, podemos sacrificar el tráfico externo de IPv6 y usarlo solo para acceder directamente a casa.
Método de configuración para no devolver resolución IPv6
En el servidor DNS interno, configura para no devolver registros AAAA.
Los servicios DNS internos generalmente usan AdGuardHome; configuración de referencia:

Después de la configuración, los dispositivos internos al acceder a Internet solo usarán IPv4, no IPv6.
Los servicios internos solo permiten acceso mediante dominio
Es posible que los servicios expuestos en casa puedan accederse basándose en el puerto, lo que hace que sea muy fácil ser detectado.
Es mejor, al crear servicios, no configurar escucha en 0.0.0.0 y ::; los experimentados pueden notar que casi todas las guías de inicio de servicios por defecto solo escuchan en 127.0.0.1 y ::1, porque escuchar en IPs públicas conlleva riesgos.
Método de configuración de proxy inverso para permitir solo dominio
Ejemplo nginx
Lo clave es configurar server_name como dominio, no configurarlo como _ o IP.
server {
listen 80;
server_name yourdomain.com; # Reemplaza yourdomain.com con tu dominio real
# Devuelve 403 Forbidden a aquellos que intenten acceder mediante la dirección IP
if ($host != 'yourdomain.com') {
return 403;
}
location / {
# Aquí está el directorio raíz de tu sitio web y otras configuraciones
root /path/to/your/web/root;
index index.html index.htm;
}
# Otras configuraciones...
}
Ejemplo IIS
Lo clave es configurar host name como dominio, no dejarlo vacío.

Uso de servicios DNS privados
Agrega resolución personalizada en tu propio servicio DNS para que un dominio falso resuelva al servicio interno.

Esto tiene varias ventajas evidentes.
- Primero, el dominio puede ser construido libremente, no es necesario comprar un dominio, ahorrando costos de dominio. Si este dominio falso es detectado, los atacantes necesitarán solicitar tu servicio DNS privado para obtener el resultado de resolución correcto.
- Se necesita exponer simultáneamente la dirección de tu servidor DNS privado y el dominio virtual; luego, el escáner necesita modificar la lógica de resolución del dominio, solicitar la resolución del dominio al servidor DNS privado expuesto, e incluir el dominio virtual en los
Headersde la solicitud construida para iniciar el escaneo.
sequenceDiagram
participant Scanner as Escáner de red
participant DNS as Servidor DNS privado
participant Service as Servicio interno
Scanner->>DNS: 1. Descubre la dirección del servidor DNS privado
Scanner->>DNS: 2. Solicita la resolución del dominio virtual
DNS-->>Scanner: 3. Devuelve la IP del servicio interno
Scanner->>Service: 4. Usa el dominio virtual para construir los Headers
Note right of Service: Si los Headers no contienen el dominio virtual correcto<br/>entonces se rechaza el acceso
alt Headers correctos
Service-->>Scanner: 5a. Devuelve la respuesta del servicio
else Headers incorrectos
Service-->>Scanner: 5b. Devuelve error 403
end
Solo cuando el escáner complete todos los pasos anteriores, es posible que detecte el servicio interno, lo que aumenta considerablemente la dificultad del escaneo.
En AdGuardPrivate puedes crear un servicio DNS privado, usando la función de resolución personalizada para agregar dominios falsos, aunque también puedes usar el servicio de dnspod.cn.
Estos dos proveedores de servicios tienen diferencias significativas; AdGuardPrivate es básicamente una versión modificada del AdGuardHome nativo, con funciones mucho más extensas que dnspod; cada uno debe evaluarlo por su cuenta.
Resumen
- El servidor DNS interno no devuelve registros AAAA
- Condiciones previas
- Tener IPv6 público
- Tener un servidor DNS interno
- Configuración
- No devolver registros AAAA
- Condiciones previas
- Los servicios internos solo permiten acceso mediante dominio, no permiten acceso directo mediante IP
- Condiciones previas
- Tener tu propio dominio
- El proveedor de dominios ofrezca DDNS
- Tener un servicio de proxy inverso interno
- Configuración
- Configurar tarea DDNS
- Solo permitir acceso mediante dominio
- Condiciones previas
- Uso de servicios DNS privados
- Condiciones previas
- Tener un servicio DNS privado
- El servicio DNS privado ofrezca resolución personalizada
- El servicio DNS privado ofrezca DDNS
- Configuración
- Configurar tarea DDNS
- Agregar resolución personalizada, falsificando el dominio para que resuelva al servicio interno
- Condiciones previas
Finalmente,
- Lo más simple y seguro para acceder directamente a casa es el éxito de la perforación de red mediante tailscale/zerotier, aunque a veces no se logra el éxito de la perforación debido a diversas razones de red.
- No te conectes a Wi-Fi desconocido, ya que puede exponer toda tu información de una sola vez. Consigue una tarjeta SIM con gran volumen de datos; temporalmente confía en la operadora. Si necesitas una tarjeta SIM barata con gran volumen de datos, contacta conmigo (no), yo también la necesito.