Este artículo se basa en el artículo Comprobar que DNSCrypt funciona correctamente y cifra el tráfico.
Para esa época la instalación se hacía bajando un archivo .deb, pero en Debian Stretch ya viene incorporado en los repositorios, así que para instalar es con un simple apt-get.
Revisar que DNSCrypt esté activo:
#
●
Loaded: loaded (/lib/
Active: active (running) since Sat 2017-06-03 00:26:02 -04; 18h ago
Docs: man
Listen: 127.0.2.1:53 (Stream)
127.0.2.1:53 (Datagram)
Como se ve DNSCrypt está activo, para el caso de que no esté activo se ejecuta:
# systemctl start dnscrypt -proxy. socket
Para que DNSCrypt se ejecute automáticamente se ejecuta:
# systemctl enable dnscrypt -proxy. socket
La lista de servidores DNSCrypt lo pueden ver en /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv . En la siguiente imagen se muestra algo del contenido del archivo:
Ahora se consulta el puerto y la IP que está usando DNSCrypt:
# cat /etc/
[Unit]
Description=dnscrypt-proxy listening socket
Documentation=man
Wants=dnscrypt-proxy-
[Socket]
ListenStream=127
ListenDatagram=127
[Install]
WantedBy=sockets
La dirección IP que está usando DNSCrypt es la 127.0.2.1 y el puerto 53.
Este archivo se modifica si se está usano SystemD, para el caso de usar init.d se modifica el archivo que se describe a continuación.
Se edita el archivo /etc/dnscrypt-proxy/dnscrypt-proxy.conf :
vim /etc/dnscrypt-proxy/dnscrypt-proxy.conf
# cat dnscrypt -proxy. conf
# A more comprehensive example config can be found in
# /usr/share/doc/dnscrypt -proxy/examples/dnscrypt -proxy. conf
# change the dnscrypt -proxy. socket file.
Con la opción random garantiza que se use cualquier servidor de DNSCrypt de la lista ya mencionada.
Al levantar el servicio de DNSCrypt este cambia la configuración de /etc/resolv.conf para que use la IP 127.0.2.1, a continuación se muestra el contenido del archivo
# cat /etc/resolv . conf
# Generated by resolvconf
Al inicia el servicio se puede revisar el log de syslog para ver si funciona el servicio:
Como se puede ver en el syslog, al inicio el servicio espera por un certificado digital y luego es que empieza a funcionar.
Al consultar con el comando host se tiene:
www.google.com has address 216.58.209.68
www.google.com has IPv6 address 2a00:1450:401b:801:: 2004
Ahora se instalarán unas herramientas de consultas:
Se realiza una consulta con el comando dig:
; <<>> DiG 9.10.3-P4-Debian <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6930
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp : 4096
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 7 IN A 216.58.209.68
;; Query time: 266 msec
;; SERVER: 127.0.2.1#53( 127.0.2.1)
;; WHEN: Sat Jun 03 20:26:08 -04 2017
;; MSG SIZE rcvd: 59
Para verificar el funcionamiento del cifrado en DNSCrypt se usará wireshark-gtk, primero se instala y luego se ejecuta:
#apt-get install wireshark wireshark -gtk
Para averiguar la IP del servidor DNSCrypt que se está usando se usa dnsleaktest, al abrir la página muestra que la IP del equipo se encuentra en Barquisimeto, Venezuela y la IP es 186.185.180.136.
La IP del servidor es 81.2.237.32.
Se inicia wireshark capturando paquetes de la interface wlp1s0 que es ahora como se llama wlan0 en Debian Strech. Se inicia la captura de paquetes y se filtra ip.addr == 81.2.237.32. El resultado se muestra a continuación:
El protocolo que se usa en la comunicación es QUIC el cual es un experimental que cifra la comunicación. Se selecciona el primer paquete y con el botón derecho se le da clic a follow udp steam obteniendo lo que se muestra en la siguiente figura:
Al ejecutar esa acción se realiza la construcción de los diferentes paquetes en este caso de UDP en formato crudo, como se puede ver la comunicación no muestra información en texto plato.
No hay comentarios:
Publicar un comentario