网络和安全
简介
开发环境支持编辑网络端口和防火墙策略,提供基本的安全设置。
设置网络端口和防火墙策略
安全组起着虚拟防火墙的作用,可控制开发环境实例的流量。在您启动实例时,将一个或多个安全组规则与该实例相关联。每个安全组规则,通过网络协议、端口和IP白名单,规定流入关联实例的网络流量。目前,只可以在创建开发环境时设置安全组规则,创建后不可改变。对于每个规则,您可以指定以下内容:
- 协议:允许的协议。最常见的协议为TCP,SSH,Jupyter。其中SSH默认22端口,Jupyter默认8888端口。一个开发环境实例可以配置多个TCP规则,只可以配置至多一个SSH规则、一个Jupyter规则。
- 端口:开发环境对外开放的网络端口。端口号范围是1-65535。
- 安全组(IP白名单):允许访问网络端口的源IP地址。一个端口可以允许一个或多个IP白名单。IP白名单格式遵循CIDR,例如 1.2.3.0/24表示允许IP地址是1.2.3.0-1.2.3.255范围内的机器访问 1.2.3.6/32表示允许IP地址是1.2.3.6的机器访问 ** 0.0.0.0/0表示允许所有IP地址访问
系统为您的开发环境的每个端口指定一个具体的转发IP和转发端口。您可以通过命令行工具或WEB控制台查看实例的详情信息,获得端口对应的转发IP和转发端口。访问该转发IP:转发端口
的网络流量都会进入开发环境对应的端口。
默认网络规则
通过命令行工具或WEB控制台创建开发环境时,默认启动SSH(22端口)和Jupyter(8888)端口,允许公网访问。如果您不需要该端口,可以删除该端口相关规则。也可以修改安全组规则,比如修改SSH只允许您的办公网络访问,从而提高安全性。
诊断网络故障
开发环境出现网络故障时,可以从下面几个方面诊断和排除故障:
- 检查开发环境状态。正常运行中的开发环境环境应该是running状态。
- 检查网络端口和防火墙策略。您只可以访问显示设置开放的端口,无法访问其他端口。并且,保证访问开发环境的源IP在防火墙策略内。
- 检查转发端口。查看开发环境的详情信息,每一个端口都应该分配了具体的转发IP和转发端口。
检查开发环境应用。开发环境内需要启用对端口的监听,外部才能够访问到该端口提供的服务。
安全建议
最少开放原则。只开放需要访问的端口和IP白名单,不要暴露其他端口给公网
- 认证授权。开发环境的网络端口和防火墙规则只提供虚拟防火墙功能,建议环境内的服务开启认证授权,增强安全性。
原文: http://docs.api.xiaomi.com/cloud-ml/devenv/0404_network_setting.html