z0r*_*z0r 1 firewall ntp amazon-web-services
我在 AWS 上有一个没有公开开放的入站端口的私有服务器。唯一开放的端口是 SSH,它只能从同一子网中的其他机器访问。
这台机器通过网络从 S3 读取文件。最近它停止工作,因为服务器的时间漂移了超过 15 分钟,并且对 S3 的请求被拒绝:
<Code>RequestTimeTooSkewed</Code>
<Message>
The difference between the request time and the current time
is too large.
</Message>
<MaxAllowedSkewMilliseconds>900000</MaxAllowedSkewMilliseconds>
Run Code Online (Sandbox Code Playgroud)
简单的解决方法是安装ntp
,但它需要打开 UDP 端口 123。因为 UDP 是无状态的,入站和出站端口都必须打开。
如何仅使用服务器发起的 TCP 连接自动更新系统时间?是否有像 NTP 这样的基于 TCP 的标准守护进程?我不在乎它是否不那么精确:即使是长达 10 分钟的偏差也是可以接受的。
这是安全组的设置方式:
入站
Type Protocol Port Range Source
SSH TCP 22 172.31.0.0/16
Run Code Online (Sandbox Code Playgroud)出站
Type Protocol Port range Destination
All traffic All All 0.0.0.0/0
Run Code Online (Sandbox Code Playgroud)这是子网的网络 ACL - 只是默认 ACL:
入站
Rule # Type Protocol Port Range Source Allow / Deny
100 ALL Traffic ALL ALL 0.0.0.0/0 ALLOW
* ALL Traffic ALL ALL 0.0.0.0/0 DENY
Run Code Online (Sandbox Code Playgroud)出站
Rule # Type Protocol Port Range Destination Allow / Deny
100 ALL Traffic ALL ALL 0.0.0.0/0 ALLOW
* ALL Traffic ALL ALL 0.0.0.0/0 DENY
Run Code Online (Sandbox Code Playgroud)好吧,正如@Tim 所预测的那样,它现在无需任何特殊的安全组即可工作。我想我只是没有正确测试它:
ntpdate
不使用中的服务器/etc/ntp.conf
,因此报告错误:
没有服务器可以使用,退出
ntpd
不尝试在时钟启动后立即更新;它等待一分钟左右。
使用 进行测试ntpdate-debian
,并且没有在安全组中打开端口 123,效果很好;并ntpd
适当更新时间,如果我让它运行了一段时间。
Tim*_*Tim 10
根据AWS 文档,您只能在出站安全组中打开 UDP:123。因为安全组是有状态的,回复会回复给您,但是您的 VPC 之外的任何人都无法发起连接。
您当然需要为该端口双向打开 NACL。
更新 您应该阅读AWS Security,尤其是安全组和 NACL。
NACL 是网络 ACL。这是一个位于您的实例之外的防火墙,只有在您打开端口时才允许流量到达您的实例。默认情况下,所有入站和出站端口都是打开的,但您可以按自己喜欢的方式进行配置。NACL 是无状态的,因此您需要在每个方向打开端口。不要忘记临时端口。
另一方面,安全组在管理程序级别强制执行网络规则。它们是有状态的,因此如果您允许传出端口,则响应会自动返回到实例中。
NACL 理论上会略微减少主机服务器负载,因为它们可以防止流量到达网络接口。由于您只控制服务器的一小部分,因此可能没有太大区别。
2017 年 12 月 1 日更新
AWS发布了AWS 时间同步服务。简而言之,他们在每个数据中心内提供服务器以确保服务器时间准确。
AWS 文档说使用 Chrony 软件,而不是 NTP,但同时使用 NTP 服务。我没有必要将 AWS 说明复制到这篇文章中,因为它们将来可能会发生变化,而且 AWS 文档非常好。
使用 NTPD
我没有安装 Chrony,而是将以下内容添加到我的 /etc/ntp.conf 中,以尝试让 NTP 使用新的 AWS NTP 服务器
server 169.254.169.123 prefer iburst
Run Code Online (Sandbox Code Playgroud)
我还确保其他服务器语句都没有配置“首选”。
归档时间: |
|
查看次数: |
4193 次 |
最近记录: |