Tutoriales y Manuales
Entradas Mensuales
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
seguridad
(
376
)
privacidad
(
318
)
ransomware
(
270
)
google
(
254
)
vulnerabilidad
(
226
)
Malware
(
214
)
android
(
210
)
software
(
195
)
Windows
(
190
)
tutorial
(
186
)
cve
(
171
)
manual
(
171
)
hardware
(
168
)
linux
(
103
)
twitter
(
81
)
ddos
(
76
)
herramientas
(
73
)
Wifi
(
71
)
hacking
(
69
)
WhatsApp
(
65
)
cifrado
(
63
)
app
(
61
)
sysadmin
(
59
)
nvidia
(
38
)
hack
(
37
)
ssd
(
37
)
firmware
(
36
)
Networking
(
35
)
adobe
(
34
)
firefox
(
32
)
office
(
32
)
cms
(
30
)
eventos
(
30
)
youtube
(
30
)
antivirus
(
29
)
contraseñas
(
29
)
flash
(
26
)
programación
(
25
)
MAC
(
24
)
noticias
(
24
)
anonymous
(
23
)
juegos
(
21
)
multimedia
(
21
)
javascript
(
20
)
apache
(
19
)
Kernel
(
18
)
exploit
(
18
)
SeguridadWireless
(
17
)
ssl
(
17
)
documental
(
16
)
conferencia
(
14
)
Debugger
(
13
)
Forense
(
13
)
técnicas hacking
(
13
)
auditoría
(
12
)
lizard squad
(
12
)
delitos
(
11
)
Virtualización
(
10
)
metasploit
(
10
)
adamo
(
9
)
reversing
(
9
)
Rootkit
(
8
)
Ehn-Dev
(
7
)
MAC Adress
(
6
)
antimalware
(
6
)
oclHashcat
(
5
)
Entradas populares
-
Puppet es una herramienta que permite desplegar configuraciones, instalar paquetes en diferentes servidores a través de código. Es una her...
-
Los usuarios de celulares Android que consideren no hacer clic a este enlace " Wa.me/settings " en caso de que lo reciban en alg...
-
La barra de estado aparece en la parte supe rior de cada pantalla. Muestra los íconos que indican que has recibido notificaciones (a la izq...
DNS Caching (Caché DNS)
miércoles, 15 de mayo de 2013
|
Publicado por
el-brujo
|
Editar entrada
dnsmasq, bind9 o nscd (Name Service Cache Daemon) tres programas que permiten cachear host lookups para los programas en ejecución y guardar los resultados para la siguiente consulta (query), con esto podemos reducir considerablemente el número de consultas DNS (host lookups).
No sólo cuando navegamos hacemos peticiones DNS. En un servidor con mucho tráfico, son muy frecuentes las consultas DNS, para cuando enviamos un simple e-mail ya necesitamos resolver el dominio de destino.
Para ver el tráfico de peticiones DNS podemos usar la aplicación dnstop
dnstop -p -l3 eth0Mientras se ejecuta, las siguientes opciones están disponibles para modificar la pantalla:
s visualizar la tabla de direcciones de origen
d mostrar la tabla de direcciones de destino
1 show 1st level query names
2 show 2nd level query names
3 show 3rd level query names
ejemplo d + 3
Queries: 0 new, 924 total Wed May 15 12:58:22 2013
Query Name Count % cum%
-------------------- --------- ------ ------
foro.elhacker.net 77 8.3 8.3
ns93.elhacker.net 43 4.7 13.0
elhacker.net 29 3.1 16.1
121.200.in-addr.arpa 28 3.0 19.2
i.elhacker.net 27 2.9 22.1
www.elhacker.net 27 2.9 25.0
5.202.in-addr.arpa 27 2.9 27.9
76.180.in-addr.arpa 26 2.8 30.7
blog.elhacker.net 26 2.8 33.5
wiki.elhacker.net 24 2.6 36.1
ns993.elhacker.net 18 1.9 38.1
search.live.net 18 1.9 40.0
hwagm.elhacker.net 15 1.6 41.7
199.142.168 12 1.3 43.0
36.ovh.net 12 1.3 44.3
181.186.in-addr.arpa 10 1.1 45.3
201.193.in-addr.arpa 10 1.1 46.4
net.ovh.net 10 1.1 47.5
245.119.in-addr.arpa 9 1.0 48.5
14.107.in-addr.arpa 9 1.0 49.5
labs.elhacker.net 9 1.0 50.4
ns2.elhacker.net 8 0.9 51.3
O direcamente usando el comando tcpdump o iptraf:
tcpdump -vvv -s 0 -l port 53
Fichero de configuración nscd
nscd (Name Service Cache Daemon) es "GNU C Library" -- Un "daemon" que maneja passwd, group and host lookups para los programas en ejecución y cachea los resultados para la siguiente consulta (query).Nscd es un demonio que proporciona una caché para la mayoría de peticiones comunes del servicio de nombres.
Nscd no sabe nada sobre los protocolos subyacentes para un servicio. Esto también quiere decir, que si modifica /etc/resolv.conf para consultas DNS, nscd continuará usando el fichero antiguo si usted tiene configurado /etc/nsswitch.conf para ser usado en la búsqueda de hosts por DNS. En tal caso, necesita reiniciar nscd.
Cada caché tiene un TTL separado (time-to-live) para sus datos; modificar la base de datos local (/etc/passwd, y demás) provoca que la caché se invalide en un plazo de quince segundos.
/etc/nscd.conf
En nuestro caso vamos a usar la caché de hosts:# # /etc/nscd.conf # # An example Name Service Cache config file. This file is needed by nscd. # # Legal entries are: # # logfile# debug-level # threads # max-threads # server-user # server-user is ignored if nscd is started with -S parameters # stat-user # reload-count unlimited| # paranoia # restart-interval
enable-cache hosts yes positive-time-to-live hosts 3600 negative-time-to-live hosts 20 suggested-size hosts 211 check-files hosts yes persistent hosts yes shared hosts yes max-db-size hosts 33554432
Veamos la información de los resultados cacheados:
nscd -g
hosts cache: yes cache is enabled yes cache is persistent yes cache is shared 211 suggested size 5845854 total data pool size 5237592 used data pool size 3600 seconds time to live for positive entries 20 seconds time to live for negative entries 21192 cache hits on positive entries 6101 cache hits on negative entries 43481 cache misses on positive entries 28143 cache misses on negative entries 27% cache hit rate 38773 current number of cached values 38776 maximum number of cached values 217 maximum chain length searched 41 number of delays on rdlock 0 number of delays on wrlock 0 memory allocations failed yes check /etc/hosts for changes
Es importante tener en cuenta el valor de "positive-time-to-live cachename"
Establece el time-to-live para entradas positivas (con éxito consultas) en el caché especificado. valor está en segundos. Grandes valores pueden aumentar las tasas de hits y caché reducir los tiempos medios de respuesta, pero pueden aumentar los problemas con coherencia de caché.
Para iniciar el servicio:
service nscd startPara que se inice al arrancar el sistema:
chkconfig nscd on
Para vaciar la cache de las DNS (también llamado flushdns) usaremos el comando:
O biennscd -i hosts
nscd --invalidate=hosts
Los hosts se guardan en:
/var/db/nscd/
En nuestro caso el fichero host contiene la información.
Recordar añadir al ficher /etc/resolv.conf tanto si usamos nscd como dnsmasq
nameserver 127.0.0.1Posibles errores con nscd (quedarnos sin memoria):
nscd: XXXX no more memory for database 'hosts'
Resultados de dig
dig google.es | grep "Query time" ;; Query time: 19 msec
Resultado cacheado:
dig google.es | grep "Query time" ;; Query time: 0 msec
Sin embargo, lo que realmente sólo se almacena en memoria caché las respuestas a llamadas al sistema como getpwnam () gethostbyname (), getpwuid (), getgrnam (), getgrgid()
En este caso podemos usar dnsmasq
dnsmasq
dnsmasq ofrece servicios como caché DNS y un servidor DHCP. Como un servidor de nombres de dominio (DNS), puede almacenar en caché las consultas DNS para mejorar la velocidad de conexión a los sitios visitados anteriormente.Fichero configuración
/etc/dnsmasq.conf
listen-address=127.0.0.1
cache-size: Ajuste el tamaño de la caché de dnsmasq. El valor predeterminado es 150 nombres. Ajustar el tamaño de la caché de cero desactiva caché.
También podemos añadir:
resolv-file=/etc/resolv.dnsmasq
Y copiar el contenido que teníamos en /etc/resolv.conf a /etc/resolv.dnsmasq
nameserver 8.8.4.4
nameserver 8.8.8.8
nameserver 208.67.222.222
nameserver 208.67.222.220
nameserver 209.244.0.3
nameserver 209.244.0.4
nameserver 74.82.42.42
En el ejemplo usaremos las DNS públicas de Google, las de openDNS, Level3 y Hurricane Electric.
Lista de servidores DNS Públicos (recursivos):
Proveedor | IP DNS Primario | IP DNS Secundario |
---|---|---|
CloudFlare | 1.1.1.1 | 1.0.0.1 |
Level3 | 209.244.0.3 | 209.244.0.4 |
8.8.8.8 | 8.8.4.4 | |
Securly | 184.169.143.224 | 184.169.161.155 |
Comodo Secure DNS | 8.26.56.26 | 8.20.247.20 |
OpenDNS Home | 208.67.222.222 | 208.67.220.220 |
Quad9 | 9.9.9.9 | 149.112.112.112 |
DNS Advantage | 156.154.70.1 | 156.154.71.1 |
Norton ConnectSafe | 198.153.192.40 | 198.153.194.40 |
ScrubIT | 67.138.54.120 | 207.225.209.77 |
SafeDNS | 195.46.39.39 | 195.46.39.40 |
DNSResolvers.com | 205.210.42.205 | 64.68.200.200 |
OpenNIC | 74.207.247.4 | 64.0.55.201 |
Public-Root | 199.5.157.131 | 208.71.35.137 |
SmartViper | 208.76.50.50 | 208.76.51.51 |
Dyn | 216.146.35.35 | 216.146.36.36 |
censurfridns.dk | 89.233.43.71 | 89.104.194.142 |
Hurricane Electric | 74.82.42.42 | - |
puntCAT | 109.69.8.51 |
http://pcsupport.about.com/od/tipstricks/a/free-public-dns-servers.htm
y ahora debemos indicar al fichero /etc/resolv.conf que somos nosotros mismos el servidor DNS de nombres.
nameserver 127.0.0.1
Y ya podemos inicar el servicio:/etc/init.d/dnsmasq start
Usando bind9 como servidor caché de DNS
Para poder usar bind como servidor caché DNS debe estar configurado como un servidor recursivo. Esto puede ser potencialmente peligroso (DNS poisoning) así que debemos controlar mediante acls quién puede hacer consultas (querys) y quién no.El servidor DNS recursivo configurado de tal manera que sólo (nosotros) localhost pueda hacer consultas:
options {O podemos crear una acl
[..]
recursion yes;
allow-query { localhost; };
allow-recursion { localhost; };
allow-query-cache { localhost; };
}
Y dejar sólo a la ip's y rangos de "redlocal" que puedan hacer consultas:acl "redlocal" { 127.0.0.1; 192.168.1.0/24; 192.168.2.0/24; 192.168.3.0/24; };
allow-query { redlocal; };
Añadimos los forwarders que son los que realmente resolverán las peticiones en caso que no sean nuestros propios dominios.
forward only; // solo activar si no tenemos ningún dominio propio en BINDEn el caso que seamos un servidor dns de un dominio si nos interesa que cualquiera (any) pueda hacer consultas sobre nuestro dominio. Pero sólo sobre nuestro dominio, por lo tanto el allow-query any debe estar dentro de la zone de elhacker.net
forwarders {
213.133.98.98;
213.133.99.99;
213.133.100.100;
8.8.8.8;
8.8.4.4;
208.67.222.222;
208.67.220.220;
209.244.0.3;
209.244.0.4;
74.82.42.42;
};
De esta manera los clientes externos no pueden hacer consultas recursivas, pero si pueden consultar nuestro dominio:
zone "elhacker.net" {
type master;
file "/var/named/elhacker.net.hosts";
allow-transfer { none; };
allow-query { any; };
};
nslookup elhacker.net ns2.elhacker.netPero no los que no son nuestros (gracias allow-query localhost o redlocal de options)
Server: ns2.elhacker.net
Address: 91.126.217.153#53
Name: elhacker.net
Address: 91.126.217.153
nslookup google.es ns2.elhacker.netLos clientes internos si pueden
Server: ns2.elhacker.net
Address: 91.126.217.153#53
** server can't find google.es: REFUSED
nslookup google.esSi queremos ver todas las consultas (querys) que está recibiendo el servidor bind, debemos activar el querylog (por defecto desactivado) con el comando:
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: google.es
Address: 173.194.70.94
rndc querylog
Verificar que se ha activado el querylog:
rndc statusVer el querylog por defecto en syslog o si los hemos definido en otro lugar:
query logging is ON
logging {En nuestro ejemplo en /var/log/querys
channel "querylog" { file "/var/log/querys"; print-time yes; };
category queries { querylog; };
};
tail -f /var/log/querys
Para ver todos los resultados caheados (en caché) de BIND en el fichero named_dump.db
rndc dumpdb -cacheEl fichero named_dump.db se encontrará en el mismo directorio dónde esté indicado con la directiva options directory "/etc"; a no ser que hayamos usado la directiva dump-file con otra ruta
Si tenemos bind chroot:
dump-file "/var/named/data/cache_dump.db";
El fichero estará en /var/named/chroot/var/log
Para ver el contenido:
less /var/named/chroot/var/log/named_dump.db | grep google.com
Para ver las consultas recursivas:
rndc recursing
Nota importante: aunque tengamos la query-caché activa algunos servidores como google o facebook tienen un valor TTL (Time-To-Live) extremadamente muy bajo (5 minutos o menos), lo que hace que la query caché esté cacheada durante el tiempo que ellos indiquen.
Si queremos aumentar al máximo los valores que se guardan en caché:
options {
// 30 minutos en caché, respuesta dns caheadas no autoritativas, forwarders
lame-ttl 1800;
// limpiar caché cada 120 minutos, por defecto es cada 60 minutos
cleaning-interval 120;
// por defecto respuestas negativas son 3 horas
max-ncache-ttl 3600; // 3600 segundos es 1 hora
// caché de resultados positivos
max-cache-ttl 7d; // por defecto es 1 semana 7 dias
};
Vaciar o Limpiar caché de las DNS
- En Windows desde la línea de comandos (cmd) con el comando ipconfig podemos borrar la caché:
ipconfig
/flushdns
Para ver la caché de las DNS de Windows
ipconfig
/displaydns
- En Linux si usamos el daemon nscd
/etc/rc.d/init.d/nscd restart
- Con Systemd resolved
sudo systemd-resolve --flush-cachesSi usamos dnsmasq
/etc/init.d/dnsmasq restart
Limpiar caché bind rndc flushLimpiar la cahé de un dominio
rndc flushname elhacker.net
Refrescar caché bind
rndc dumpdb -cache
vi /var/named/data/cache_dump.db
- En MacOS según la versión:
Para limpiar la cache DNS en Mac OS X Leopard:
lookupd -flushcache
Para limpiar la cache DNS en Mac OS X:
dscacheutil -flushcache
Ir > Utilidades y a continuación seleccionamos Terminal. Una vez abierto el Terminal, debemos ejecutar el comando que corresponda en función de la versión de macOS que tengamos instalada:
- macOS El Capitan, Sierra, High Sierra, Mojave y Catalina: sudo killall -HUP mDNSResponder
- macOS Yosemite: sudo discoveryutil udnsflushcaches
- macOS Lion, Mountain Lion y Mavericks: sudo killall -HUP mDNSResponder
- macOS Snow Leopard: sudo dscacheutil -flushcache
- macOS Leopard: sudo lookupd -flushcache
Limpiar el caché DNS en el navegador Google Chrome
Pestaña en blanco en el navegador y escribimos en la barra de direcciones del navegador:
chrome://net-internals/#dns
Hacer click en el botón "Clear host caché” para borrar todo el caché DNS que está almacenado.
Para limpiar las conexiones tenemos que abrir en la barra de direcciones:
chrome://net-internals/#sockets
Limpiar el caché DNS en el navegador Mozilla Firefox
Los pasos a seguir para borrar la caché DNS en el navegador web de Mozilla cambian respecto al navegador de Google. Esto es lo que debemos hacer en Firefox:- Abrimos una nueva ventana de Mozilla Firefox.
- Escribimos en la barra de direcciones about:config y pulsamos Enter.
- Buscamos la entrada network.dnsCacheExpiration.
- Una vez la hemos encontrado hacemos clic sobre ella y establecemos su valor a 0.
- Esto hará que el propio navegador ignore su propia caché DNS.
Limpiar el caché DNS en el navegador Microsoft Edge
Con la versión de Microsoft Edge basado en Chromium también es posible vaciar la caché DNS a nivel de navegador siguiendo estos sencillos pasos:- Abrimos una ventana de Edge Chromium.
- Escribimos edge://net-internals/#dns en la barra de direcciones y pulsamos Enter.
- Ahora de nos mostrará una página donde veremos todas las resoluciones DNS realizadas desde el navegador.
- Pulsamos en el botón Clear host caché y automáticamente se borrará toda la caché DNS almacenada en Edge.
Enviar por correo electrónico
Escribe un blog
Compartir con Twitter
Compartir con Facebook
Compartir en Pinterest
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.