限制服务器接受来自不同主机名的某个端口的连接

限制服务器接受来自不同主机名的某个端口的连接

我的服务器上运行着一些服务。其他域下也可以访问该服务器。我创建了一些子域来将这些服务彼此分开,但它们可以从主域以及其他域访问。

我想知道如何限制我的服务器接受某些端口上的连接。这样我就可以例如使我的邮件服务器仅在mail.example.com可访问的范围内。
该服务器运行的是 CentOS 7

感谢您的帮助

答案1

在任何端口上运行的服务都不知道用户使用哪个主机名进行连接,除非使用该端口的协议有更改该信息的方法,例如 HTTP 对Host:标头所做的更改。否则,在使用 DNS 将主机名解析为 IP 地址后,将使用该 IP 地址进行连接。因此,防火墙无法区分彼此的主机名。

例如,如果您不希望您的 SMTP 服务器从其他地址可用,则必须为其设置专用 IP 地址。通常没有理由这样做,因为它根本不会造成任何损害。它是另一个基于MX记录(或电子邮件客户端)连接到服务器的 MTA,而不是任何用户直接连接。此外,SMTP 在 SMTP 横幅中公布其主机名。

对于 Web 服务器来说,由于 HTTP 协议包含主机名信息,因此可以在不同的主机名上提供不同的内容,即使用基于名称的虚拟主机. 使用 HTTPS 也可以实现同样的效果服务器名称指示(SNI)。

相关内容