服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

如何限制/安全访问互联网上托pipe的开发人员的服务器

我为我的创业公司设置了两个Ubuntu虚拟专用服务器。 “公共”服务器(我们称之为www.example.com )应包含公开开放的公司网站和受限但相对较不敏感的服务,如LDAP和邮件服务器。 “dev”服务器( dev.example.com )将是该公司的Fort Knox持有公司的源代码(GIT),工件(Artifactory)和开发者工具(Atlassian)。 访问www.example.com应该对所有人开放,而开发服务器应该是非常安全的,只有非常有限数量的授权开发人员才能访问,其他公众理想情况下甚至不应该猜测服务器是否存在。 这两个服务器将托pipe在一个托pipe公司(我们有完全的根访问权限)。 我打算使用相同的域名和虚拟主机来设置Web访问。 example.com将指向“公共”服务器。 安装在“公共”服务器上的nginx将具有www.example.com虚拟主机(正常服务)和dev.example.com虚拟主机, dev.example.com主机的所有请求都将被代理到运行另一个nginx的“dev”服务器。 “dev”服务器上的防火墙将被设置为拒绝来自“公共”服务器的HTTPS和SSH呼叫以外的所有传入stream量。 因此,不仅可以直接连接到在“开发”服务器上运行开发人员工具的nginx服务器,而且还需要先login到公用服务器,以便能够通过SSH进入“开发”服务器。 因此,一个潜在的黑客无法直接访问“开发”服务器,而无需首先进入公共服务器。 如果重要的话,服务器可能会运行Ubuntu 16.04(我们可以select14.04,16.04,18.04和其他Linux版本,但Ubuntu 16.04对我来说听起来OK)。 我既不是安全专家,也不是系统pipe理员。 我有两个问题。 1)这听起来像是一个安全的设置,确认是“最好的实践”,还是有更好(更简单或更安全)的方法来实现相同的目标? 2) [主要问题] 。 如何限制HTTPS访问,以便只有开发人员才能访问dev.example.com,而其他用户即使猜对了URL也不会看到这个虚拟主机? 到目前为止,我有两个想法。 需要SSH隧道。 nginx中的“公共”服务器上的dev.example.com虚拟主机将被设置为只接受来自“公共”服务器的IP地址本身的请求,因此开发人员将不得不build立到“公共”服务器以访问dev.example.com 。 使用像MyEnTunnel(Window)这样的工具,可以很容易地设置SSH隧道,以便在启动时自动build立。 然而,我所看到的一个很大的缺点是,每个开发者都必须定义"dev.example.com"是指主机文件中的localhost (或者还有其他方法吗?) 客户端证书。 在“公共”服务器上的nginx基本上需要客户端证书才能访问dev.example.com 。 每个开发者除了拥有通常的login名和密码之外,还将拥有自己的客户端证书来访问dev.example.com,以便访问开发人员工具。 但是我对客户端证书不太熟悉,不了解所有的影响。 我看到的一个缺点是,当未经授权的人尝试访问dev.example.com他/她可能会得到一个“客户端证书”错误,这将显示开发服务器在那里,而第一种方法,他们将无法连接。 你会推荐我什么? 这个想法是保持简单,便宜,同时尽可能安全,直到公司发展到能承担系统pipe理员和自己的数据中心的程度。