阻止/丢弃公共 Web 服务器上的入站 ICMP 流量的目的是什么?被屏蔽很常见吗?
我必须测试是否可以从不同位置访问服务器(在位于不同州/国家的不同服务器上测试)。我将 ping 作为一种快速可靠的方法来确定服务器是否在线/网络可访问。在几个盒子上没有收到回复后,我尝试使用 lynx 加载网站,并且成功了。
这个问题与“ Why Block Port 22 Outbound? ”略有相关。我看不出这会是一个显着的安全风险。
我读到某些类型¹的 ICMP 数据包可能有害。问题:
[¹] 我读到的类型:重定向 (5)、时间戳 (13) 和地址掩码请求 (17)。请不要在你的答案中只考虑这些。
更多信息
它是带有 Ubuntu Server 的 VPS 上的 Web 服务器。
我的目标是让系统更安全,降低一些 D/DoS 攻击和普遍滥用的风险。
在以下两种情况下,从 router1 向 router2 发送 ARP Request 包会发生什么?会生成 ARP 回复还是丢弃 ARP 请求数据包?
上面的拓扑在路由器“router1”上的端口“Intf1”通过直接链路(例如,1 Gbps 电缆)连接到另一个路由器“router2”上的端口“Intf2”。
我有一个多宿主 Ubuntu 服务器,其中包含一组接口:
eth2: 10.10.0.131/24
eth3: 10.20.0.2/24
Run Code Online (Sandbox Code Playgroud)
默认接口为 eth2,网关为 10.10.0.1。下面是路由表的样子:
root@c220-1:~# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.10.0.1 0.0.0.0 UG 0 0 0 eth2
10.10.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
10.20.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
10.30.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.40.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
Run Code Online (Sandbox Code Playgroud)
从单独的网络 ( 192.168.3.5/24) 我可以通过 eth2 接口(具有默认网关的接口)访问这台机器,但不能通过 eth3 接口访问。我可以毫无问题地从同一网络 (10.20.0.1) 上的路由器 ping eth3 接口。
如果我从 …
简短版本:为什么Test-Connection在不同子网上的离线主机会报告“数据库查找期间发生不可恢复的错误”?
我正在使用 PowerShell 通过Test-Connectioncmdlet ping 远程主机:
$Computer = "COMPUTER01"
Test-Connection -ComputerName $Computer -Count 3
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
System.Net.NetworkInformation.PingException: Testing connection to computer
'COMPUTER01' failed: A non-recoverable error occurred during a database
lookup ---> System.ComponentModel.Win32Exception: A non-recoverable error
occurred during a database lookup.
Run Code Online (Sandbox Code Playgroud)
我的 DNS 服务器都是运行 DNS 服务的 Windows AD 控制器。我能够使用nslookup以下方法将主机名解析为 IP 地址:
Name: computer01.domain.com
Address: 192.168.2.153
Run Code Online (Sandbox Code Playgroud)
MS 网站说如下:
这是一个不可恢复的错误。这表明在数据库查找期间发生了某种不可恢复的错误。这可能是因为找不到数据库文件(例如,与 BSD 兼容的 HOSTS、SERVICES 或 PROTOCOLS 文件),或者服务器返回的 DNS 请求出现严重错误。
https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx
问题:什么“数据库查找”可能会失败?
我试过ping同一个主机,它也失败了,但有一个更熟悉的消息: …
我们正在遭受严重的icmp洪水攻击。Tcpdump 显示了下面的结果。尽管我们已经使用 iptables tcpdump 阻止了 ICMP,但仍然会打印 icmp 数据包。我还附上了 iptables 配置和“顶级”结果。有什么办法可以完全阻止 icmp 数据包吗?
[root@server downloads]# tcpdump icmp -v -n -nn
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
03:02:47.810957 IP (tos 0x0, ttl 49, id 16007, offset 0, flags [none], proto: ICMP (1), length: 56) 80.227.64.183 > 77.92.136.196: ICMP redirect 94.201.175.188 to host 80.227.64.129, length 36
IP (tos 0x0, ttl 124, id 31864, offset 0, flags [none], proto: ICMP (1), length: 76) 77.92.136.196 > 94.201.175.188: [|icmp]
03:02:47.811559 IP …Run Code Online (Sandbox Code Playgroud) 操作系统:CentOS 7.0
根据安全扫描的结果,有人建议我们使用防火墙 ( CVE-1999-0524 )阻止 ICMP 时间戳和时间戳回复消息。我已经使用 firewalld 为 SSH 设置了一些基本的 IP 过滤并允许使用 HTTPS,但我对这个感到困惑。
我唯一能想到的是firewall-cmd --add-icmp-block,但我找不到icmptype似乎与时间戳或时间戳回复相关的 。
可用的类型 ( firewall-cmd --get-icmptypes) 如下:
destination-unreachable echo-reply echo-request parameter-problem redirect router-advertisement router-solicitation source-quench time-exceeded.
如何阻止 ICMP 时间戳请求firewalld?
我按照本指南允许我 ping 我的 EC2 实例。在我的安全组中,我有自定义 ICMP 规则 - IPv4、Echo Reply、N/A、Anywhere。
然而,它根本不起作用。如果我运行 ping ec2-XXXX.ap-northeast-1.compute.amazonaws.com,或者如果我运行 ping XXXX,它就会永远挂起。如何解决这个问题?
我的 VPC 设置都是默认的。子网路由表启用了 Internet 网关,并且网络 ACL 允许所有流量进出。
当向目标地址(例如 )发送 ICMPv4 echo 请求时224.0.0.1,接收请求的 Linux 主机会忽略该请求。使用的目标 MAC 地址是01:00:5e:00:00:01。
让这些 Linux 主机应答的唯一方法是将 Kernel 参数设置net.ipv4.icmp_echo_ignore_broadcasts为 value 0。这将指示内核响应多播和广播 ICMPv4 请求,并为广播安全威胁打开大门。
为什么组播流量通过该参数过滤?有任何攻击可以证明其合理性吗?
使用 ICMPv6 和等效目标地址(如 )ff02::1,流量不会被 Linux 主机过滤。未来是否存在被过滤的风险?ICMPv4 是否存在 ICMPv6 不存在的威胁?
Linux 主机:
icmp ×10
linux ×3
firewall ×2
iptables ×2
networking ×2
ping ×2
security ×2
amazon-ec2 ×1
arp ×1
attacks ×1
centos ×1
ethernet ×1
firewalld ×1
ip ×1
ipv4 ×1
linux-kernel ×1
multicast ×1
powershell ×1
routing ×1
timestamp ×1
web-server ×1