やったー、進歩しました!以下更新しました!私はインターネット中を歩き回って、この問題の答えを探しました。私は Raspberry Pi を使っていて、Raspbian Debian 11 を実行しています。問題は、ICMP タイムスタンプの要求と応答をブロックするだけの単純なもののようですが、何時間も Web を閲覧して 3 つの異なる解決策を試しましたが、どれもうまくいきませんでした。私は次のことを試しました:
- 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 は Pi の IP です。次に、結果で「ホストが起動しています。タイムスタンプ応答 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 ファイルの最新のものと一致するように更新されていないということですか? 少し調べてみます。