我正在强化在默认 Ubuntu 20.04 AMI 上运行的 EC2 实例的安全组。关闭除 TCP 80 和 TCP 443 之外的所有传出端口后,哪些系统服务会中断?(我假设应用程序所需的所有端口也都是打开的。我担心的是破坏操作系统提供的隐式服务。)
我的理解是,允许 TCP 80/443 对于基本的操作系统服务就足够了。例如,apt-get
更新应该有效。还是我错过了 Ubuntu 或 AWS 一直希望开放的端口?
旁注:我想知道时间同步是如何工作的。默认情况下,我看不到默认 Ubuntu AMI 上预安装的任何 NTP 或 chrony 服务。否则,UDP 端口 123 也应该打开。我的假设是 VM 提供的(来宾)硬件时钟已经由主机(由 AWS 操作)同步。除此之外,我想不出从操作系统的角度来看需要允许的任何端口。
根据应用程序将使用的 AWS 服务,需要更多端口,例如 ElastiCache (Redis) 需要 6379。然而,我担心并非源自已部署应用程序的 API 调用。您可以假设应用程序的要求是已知的。环境(操作系统和 EC2 基础设施)的要求更加棘手。