公开托管的商业网站(用于 API 等)是否只能从办公室内部访问?

公开托管的商业网站(用于 API 等)是否只能从办公室内部访问?

感谢您对这个问题的耐心;我们还在学习很多东西。

我的出租车预订初创公司有一个网站 (CakePHP),托管在 EC2 上(为了可靠性),这是一种仅供内部员工使用的 ERP。此工具还与出租车的 GPS 接收器交互,因为这些 GPS 机器通过一些 API 将一些数据发送到公共服务器,这有助于确定预订流程的逻辑。由于我们的本地网络不是很强大,我们将所有内容都放在 EC2 上。

现在,我们越来越担心将此类信息(客户数据、车辆信息)留在公共领域,并被不法员工从互联网和场所外访问。对于我们的实施,我们已经考虑了 MySQL 复制,从本地从属服务器读取数据,向主服务器写入数据等。唯一的问题是,非技术员工无法知道数据是新的还是复制已损坏。此外,我们更希望我们的服务器在线,因为我们不想为这种硬件投资物理安全。

我们正在考虑以下事项:

  1. 基于 IP 地址的身份验证;属于本地 NAT 的 IP 地址将被允许。问题是我们有一个动态 IP。

  2. 基于计算机名/MacID 的身份验证;一旦用户发现,几乎没有安全性。另外,我们可以从 Chrome 中读取这些参数吗?

  3. 存储登录的 IP 地址列表,由于只有 6 名员工,我们可以监控其中是否有奇怪的 IP。不可扩展,甚至不安全。

  4. 员工 PC 上的 Hosts 文件配置和此“主机”将在 apache2 上配置,因此直接输入 IP 地址是没有用的。同样,需要一个聪明的员工。

  5. 基于 SSH 路由到主服务器,只能从主服务器上的本地主机访问...但无法配置它。

请帮帮我们吧!

答案1

正如有人指出的那样,使用 VPN 服务和基于 IP 地址的身份验证可能会有所帮助。

答案2

以下是我的做法。我会得到两个网络接口,比如 eth0 和 eth1(或者创建一个虚拟接口 eth0:1)。eth0 将有一个公共 IP,而 eth1 将有来自 VPN 的 IP。现在您可以配置 iptables 或您正在使用的任何其他防火墙,以允许来自 eth1 的所有内容,但 eth0 应该阻止除 api 端口之外的所有端口。

相关内容