EC2安全组,按主机名限制入站访问

我已经为PayPal IPN编写了一个Web钩子,我只想允许从端口80/443上的PayPal服务器访问托pipe端点的EC2实例。

在EC2安全组控制台中,我只能通过IP / Range进行过滤。 这是不够的,因为贝宝说,他们随意更改IP地址,没有任何通知,所以必须使用主机名。

我见过这里的答案,build议扩大IP块等,但没有真正的直接解决scheme。 一个build议的解决scheme是使用AWS API更新安全组。

这是最好的select吗? 我可以做的是有一个计划的任务来比较PayPal主机parsing的当前IP到最后一个已知的IP地址。 如果它们不同,请更新AWS EC2组。

我会在同一台机器上运行这个任务,因为嘿,如果机器停止了,那么无论如何都不能访问端点。

这是最合适的解决scheme吗? 我也会在我家也有类似的问题。

过滤是否必须在AWS级别完成。 你可以在实例上添加一个额外的软件防火墙(或者作为IGW和实例之间的另一个实例),Pfsense应该允许基于主机名的防火墙阻塞。

安全组不会在AWS中进行主机名过滤,只有IP范围或其他逻辑引用。

由于AWS为SG提供了一个API,因此您可以在IP地址更改时对其进行更新,尽pipe对于生产服务来说,这种方法听起来有些脆弱。

还有许多其他的select,但他们需要做更多的工作。 例如,设置代理将允许您通过主机名来控制访问。

AWS提供了在这里安装和configurationsquid的详细指南https://aws.amazon.com/articles/6884321864843201

这是一个快速的片段,让您了解涉及的内容:

$ sudo vim /etc/squid/squid.conf acl s3 dstdom_regex .*s3\.amazonaws\.com acl s3 dstdom_regex .*s3\.ap-southeast-2\.amazonaws\.com acl s3 dstdom_regex .*s3\.ap-southeast-1\.amazonaws\.com http_access allow localnet s3 $ sudo service squid restart