¡Guau, progreso! ¡Actualizado a continuación!He estado en Internet buscando una respuesta a esta. Estoy usando una Raspberry Pi con Raspbian Debian 11. El problema parece bastante simple, simplemente bloquea las solicitudes y respuestas de marca de tiempo ICMP, pero después de horas de navegación web y probar 3 soluciones diferentes, ninguna de ellas funcionó. Yo he tratado:
- Usando ipchains, pero eso ahora está obsoleto, así que busqué cómo hacerlo usando iptables. encontréeste tutorialque sugiere usar
iptables -I INPUT -p icmp --icmp-type timestamp-request -j DROP
, pero eso da el erroriptables v1.8.7 (nf_tables): unknown option "--icmp-type"
- Aparentemente nftables es la versión actualizada de iptables, así que intenté seguirestey usando:
nft add table ip filter # create table. I would have needed to enter this, but the table was already created so I didn't have to.
nft add chain ip filter INPUT { type filter hook input priority 0 \; } # create chain
nft insert rule ip filter INPUT icmp type timestamp-request counter drop
nft insert rule ip filter INPUT icmp type timestamp-reply counter drop
sudo systemctl start nftables
sudo systemctl enable nftables
#backup your old /etc/nftables.conf file first before continuing
sudo nft list ruleset > /etc/nftables.conf
- Intenté agregar la línea
net.ipv4.tcp_timestamps = 0
a /etc/sysctl.conf como viaquí
Mi /etc/nftables.conf completo se ve así:
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain POSTROUTING {
type nat hook postrouting priority srcnat; policy accept;
ip saddr 10.0.0.0/24 ip daddr != 10.0.0.0/24 counter packets 0 bytes 0 masquerade
oifname "wlan0" counter packets 0 bytes 0 masquerade
}
}
table ip filter {
chain FORWARD {
type filter hook forward priority filter; policy accept;
iifname "wlan0" oifname "uap0" ct state related,established counter packets 0 bytes 0 accept
iifname "uap0" oifname "wlan0" counter packets 0 bytes 0 accept
}
chain INPUT {
type filter hook input priority filter; policy accept;
icmp type timestamp-reply counter packets 0 bytes 0 drop
icmp type timestamp-request counter packets 0 bytes 0 drop
}
}
Todavía no hubo suerte. ¿Cómo bloqueo o inhabilito mi sistema para que no responda a las marcas de tiempo?
Editar: para probar si el Pi responderá a las solicitudes de marca de tiempo, ejecuto nmap -v -v -v -PP 10.6.74.84
, donde 10.6.74.84 es la IP del Pi, y luego busco "El host está activo, recibí respuesta de marca de tiempo ttl 63 (latencia de 0,0057 s)". en los resultados.
¡Y avance! /etc/nftables.conf es como el anterior, pero al ejecutarlo sudo nft list ruleset
se imprime:
table ip nat {
chain POSTROUTING {
type nat hook postrouting priority srcnat; policy accept;
ip saddr 10.0.0.0/24 ip daddr != 10.0.0.0/24 counter packets 0 bytes 0 masquerade
oifname "wlan0" counter packets 0 bytes 0 masquerade
}
}
table ip filter {
chain FORWARD {
type filter hook forward priority filter; policy accept;
iifname "wlan0" oifname "uap0" ct state related,established counter packets 0 bytes 0 accept
iifname "uap0" oifname "wlan0" counter packets 0 bytes 0 accept
}
chain INPUT {
type filter hook input priority filter; policy accept;
}
}
¡Es diferente! ¡Faltan algunas líneas! Entonces, ¿el conjunto de reglas no se actualiza para que coincida con lo más reciente en el archivo .conf, o algo así? Voy a investigar un poco.