AWS NTP 服务器的安全组

Posted

技术标签:

【中文标题】AWS NTP 服务器的安全组【英文标题】:Security group for AWS NTP Server 【发布时间】:2016-06-21 21:57:36 【问题描述】:

我只是尝试与 EC2 实例上的 NTP-Server 同步时间:

服务器 0.amazon.pool.ntp.org iburst 服务器 1.amazon.pool.ntp.org iburst 服务器 2.amazon.pool.ntp.org iburst 服务器 3.amazon.pool.ntp.org iburst

很遗憾,我无法与 NTP-Server 同步。我的问题是:

    我们是否必须在安全组中打开端口以允许 NTP-Server 连接到 EC2 实例? 如果是,那么我们如何知道哪个 IP 是 amazon.pool.ntp.org它会随着时间而变化)并且我们无法打开 All Traffics

提前致谢, 圆岛

【问题讨论】:

【参考方案1】:

您需要允许安全组上端口 123 上的 0.0.0.0/0 的出站流量才能正常工作。

如果您的 EC2 实例位于公共子网中,那么您只需在您的安全组上允许此操作即可。

但如果您的 EC2 实例位于私有子网中,则您需要允许端口 123 上的入站和出站流量,以便您的 NAT 传递请求和响应。需要从您的 EC2 实例(而不是世界)入站。

【讨论】:

不需要在 NAT 上打开 inbound/129。 谢谢@Matt Houser,我认为它应该是端口 123。它对我有用 将端口更正为 123。您的 NAT 确实需要从实例(而不是世界)传入,否则 NAT 将拒绝来自 EC2 实例的请求。【参考方案2】:

根据 AWS 的文档

在 Amazon Linux 实例上默认配置网络时间协议 (NTP);但是,实例需要访问 Internet 才能使标准 NTP 配置正常工作。您实例的安全组还必须允许端口 123 (NTP) 上的出站 UDP 流量 来源:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

因此,我们需要允许安全组上端口 123 上 0.0.0.0/0 的出站流量,以便 NTP 正常工作

【讨论】:

【参考方案3】:

对于最近访问的任何人,AWS 现在都有自己的时间服务器:https://aws.amazon.com/blogs/aws/keeping-time-with-amazon-time-sync-service/(也只是重申一下:您确实需要在 AWS 虚拟机上进行时间同步,否则它们会在几次之后出现明显的偏差个月)。

要使用它们,您需要将 NTP 服务器(ntpd 或 chronyd)配置为使用服务器 169.254.169.123,当然还需要在端口 123/udp 上为出站打开安全组。这个神奇的 IP 在 AWS 内,因此不会离开 VPC 或进入 Internet。

请注意,通常包含多个服务器并让您的客户端从所有服务器中计算出时间。在 AWS 案例中,即使它只是一个 IP,您也正在与多个服务器通信,因此不需要特别使用多个 IP。如果您被允许使用 Internet NTP 服务器以及 AWS 一台,那么配置多个服务器并没有什么坏处,也许在 AWS 一台上使用 prefer 选项。

【讨论】:

【参考方案4】:

不需要为 NTP 开放入站流量,只需要出站访问。只要你的实例能上网,就可以解析ntp池地址。

因此,请打开您的出站地址/端口,并确保您的实例可以直接或通过 NAT 或通过其他方式访问互联网。

【讨论】:

这是不对的。 AWS 将丢弃来自 NTP 服务器(或任何服务器 BTW)的响应数据包,除非相应的通信端口在入站规则集中打开。要让 NTP 响应到达您的 Ubuntu 客户端,只需在 Inbound 选项卡中打开端口 1024-65535 udp。提醒:只有在发送者收到响应时才能进行通信......

以上是关于AWS NTP 服务器的安全组的主要内容,如果未能解决你的问题,请参考以下文章

AWS 安全组设置指南

AWS考证方向:AWS实例安全组设置

更改 AWS ECS 服务的安全组

在 AWS 中,如何将 Web 服务器安全组配置为仅接受来自 AWS 中的负载均衡器的流量?

AWS 清理安全组

AWS Mysql 5.5.40 安全组问题 强制更新