우, 발전해요! 아래에 업데이트되었습니다!나는 이것에 대한 답을 찾기 위해 인터넷 전체를 돌아다녔습니다. 저는 Raspbian Debian 11을 실행하는 Raspberry Pi를 사용하고 있습니다. 문제는 ICMP 타임스탬프 요청과 응답을 차단하는 것만으로도 다소 간단해 보이지만 몇 시간 동안 웹을 탐색하고 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인 경우를 실행한 다음 "Host is up, received timestamp-reply ttl 63(0.0057s 대기 시간)"을 찾습니다. 결과에서.
그리고 돌파구! /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 파일의 최신 내용과 일치하도록 업데이트되지 않습니까? 약간의 연구를 하려고 합니다.