Este repositorio contiene dos proyectos principales relacionados con el diagnóstico y análisis de dominios DNS:
-
DNSwatcher: Intersección entre buenas prácticas para root zone, zonemaster y observatorio DNS para caracterizar los dominios.
-
DrDNS: Herramienta para diagnósticos DNS mediante una API REST. Permite evaluar sincronía de registros SOA, autoridad, recursividad deshabilitada, soporte TCP y delegación de dominios.
Antes de comenzar, asegúrese de cumplir con los siguientes requisitos:
-
Go:
- Descargue e instale Go desde https://golang.org/doc/install.
- Configure las variables de entorno
$GOROOT
y$GOPATH
.
-
Docker:
- Se recomienda usar Docker para un entorno aislado y facilitar la configuración.
-
PostgreSQL (necesario para Observatorio):
- Instale PostgreSQL en su sistema y cree una base de datos. Instrucciones detalladas disponibles en
Base_Obs/README.md
.
- Instale PostgreSQL en su sistema y cree una base de datos. Instrucciones detalladas disponibles en
-
Geolite (necesario para Observatorio):
- Obtenga una licencia gratuita de Geolite desde MaxMind.
git clone https://github.com/niclabs/dnswatcher.git
cd dnswatcher
-
DrDNS:
- Entrar a la carpeta DrDNS y configurar el módulo de go con las respectivas librerias. Para mayor información, revisar el archivo
DrDNS/README.md
para configurar y ejecutar la API REST.
- Entrar a la carpeta DrDNS y configurar el módulo de go con las respectivas librerias. Para mayor información, revisar el archivo
-
Observatorio:
- Configure los archivos necesarios como
config.yml
. Para mayor información, revisar el archivoBase_Obs/README.md
.
- Configure los archivos necesarios como
-
Inicie el servidor:
./main_drdns
Esto lanzará un servidor REST en el puerto
8080
. Puede cambiar el puerto modificando el archivo fuente. -
Realice una solicitud de diagnóstico:
curl http://localhost:8080/DrDNS/example.com
Esto devolverá un JSON con la información del diagnóstico.
-
Ejecute el contenedor Docker:
docker run observatorio
Esto recolectará datos DNS y generará archivos en formato
CSV
yJSON
en la carpetacsvs
. -
Para extraer los archivos generados:
docker cp <containerID>:/Observatorio/csvs/ ./csvs
Este proyecto está bajo la licencia MIT. Consulte el archivo LICENSE
para más detalles.
- No suba información sensible al repositorio, como contraseñas, nombres de bases de datos o archivos grandes de datos.
- Asegúrese de agregar los archivos de configuración sensibles (por ejemplo,
config.yml
) al archivo.gitignore
.
Para más detalles sobre cada proyecto, consulte los archivos README.md
dentro de las carpetas DrDNS/
y Base_Obs/
.
Este proyecto fue desarrollado basado en el proyecto 'Observatorio'.
Agradecimientos especiales a:
- @maitegm
- @madestro