严格允许来自 EC2 实例上的特定主机的 HTTP 数据包

严格允许来自 EC2 实例上的特定主机的 HTTP 数据包

我有一个 ec2 实例 ( proxy),它被用作 http 代理服务器。还有一些其他主机 ( hostAhostBhostC),我希望代理服务器只允许来自这些主机的连接。

为此,我更改了安全组并将这些主机添加为源和80端口

Port     |  Source
---------+----------
80(HTTP) |  hostA/32
80(HTTP) |  hostB/32
80(HTTP) |  hostC/32

此时除 之外再无其他主机可以访问hostAhostBhostCProxy

但是,如果有人从其他 aws 机器创建带有假源地址的假 IP 数据包,该怎么办?接口 ( eth0) 会接受它吗?

除了安全组设置之外,我还应该采取其他安全措施吗?

答案1

但是,如果有人从其他 aws 机器创建带有虚假源地址的虚假 IP 数据包,该怎么办?接口 (eth0) 会接受它吗?

是的,但由于他们不会收到回复数据包,因此他们将无法完成握手并建立 TCP 连接。因此他们不应该能够向代理发送任何实际数据。

即使他们能够正确猜出序列号、建立 TCP 连接并将一些数据传输到代理,他们仍然会面临两个问题:

  1. 他们将永远不会收到任何数据,因为回复不是发给他们的。

  2. 实际使用该 IP 地址的机器很快就会关闭它们的连接,因为它会使用 RST 响应“外来”数据包(假设它可以运行)。

相关内容