Ура, прогресс! Обновлено ниже!Я перерыл весь интернет в поисках ответа на этот вопрос. Я использую Raspberry Pi под управлением Raspbian Debian 11. Проблема кажется довольно простой, просто блокируются запросы и ответы на временные метки ICMP, но после нескольких часов просмотра веб-страниц и попыток трех разных решений ни одно из них не сработало. Я пробовал:
- Использую ipchains, но это уже устарело, поэтому я поискал, как это сделать, используя iptables. Я нашелэтот уроккоторый предлагает использовать
iptables -I INPUT -p icmp --icmp-type timestamp-request -j DROP
, но это дает ошибкуiptables v1.8.7 (nf_tables): unknown option "--icmp-type"
- Судя по всему, nftables — это обновленная версия iptables, поэтому я попробовал сделать следующее:этоти используя:
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
- Я попробовал добавить строку
net.ipv4.tcp_timestamps = 0
в /etc/sysctl.conf, как я увиделздесь
Мой полный /etc/nftables.conf выглядит так:
#!/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
}
}
Все еще безуспешно. Как мне заблокировать или отключить мою систему от ответа на временные метки?
Редактировать: Чтобы проверить, будет ли Pi отвечать на запросы временных меток, я запускаю nmap -v -v -v -PP 10.6.74.84
, где 10.6.74.84 — это IP-адрес Pi, а затем ищу в результатах «Хост включен, получен ответ с временной меткой ttl 63 (задержка 0,0057 с)».
И прорыв! /etc/nftables.conf такой же, как и выше, но запуск sudo nft list 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;
}
}
Это отличается! Пропущено несколько строк! Значит, набор правил не обновлен в соответствии с последними данными в файле .conf или что-то в этом роде? Проведу небольшое исследование.