由于近期忙于其他事,所以 很长时间没写文章了,今天看见有客户发邮件说是在Azure上部署了一台MY SQL服务器有异常连接信息,所以就找了一点时间总结了一下,分享给有需要的同学参考学习;21 世纪互联Azure的功能还在逐渐更新中,而Global Azure的功能已经更新很多了,相比21世纪互联的Azure功能更新比较慢,言归正传,我们还是说说环境吧,在Azure上部署环境有两种方式:1、Mysql服务器是安装在Azure VM上。2、基于Azure Pass平台Mysql 服务。两者的部署方法及原理有很大区别,具体就不多介绍了,不管对于那种方式部署的安全控制,微软还是做的不错的,通过相应的访问控制提高安全性,当然说到Azure上的MYSQL服务,其实微软更新该功能不久,之前只支持SQL Server版本,现在已经很好的支持Mysql数据库了,接着我们再说说上面的安全问题,其实微软从最早的SQL Server上就有配置,为了保证数据信息的安全性,是对相关数据库的配置是有安全配置的,比如可以对Azure上的SQL Server数据库做访问控制(ACL),所谓的白名单和和黑名单,其实大多数服务的规则都是统一的,Deny的优先级高于Allow的优先级。
在Azure上的终结点做管理ACL我们需要注意一点,对指定的终结点可以做管理ACL,比如在一台VM下有2个或者更多的终结点的话, 我们需要选择指定的终结点,然后再单击管理ACL,这样是针对指定的终结点做管理ACL操作的。
我们具体对环境解释说明一下吧:对于以上第一种情况,如果是在Azure上新建VM后,在VM内安装SQL Server或者Mysql服务的话,如何做安全控制呢,我们需要配置基于VM的ACL配置,
在此例子中,
记住,在Azure VM上部署的所有服务,需要在终结点开放端口:我们再次为了测试,所以在VM上安装了apache,所以我们需要添加80端口
我们通过网页可以访问
打开VM---终结点标签---单击HTTP终结点--管理ACL
操作类型:允许、拒绝
管理端点ACL我们需要注意一下:操作中有两个选项:
注:如果不添加任何允许或者拒绝列表的话,默认是允许全部任意地址子网链接访问的。
允许:允许顾名思义就是白名单,如果添加允许的ACL的话,只要改允许的ACL子网列表才可以链接访问,除允许的子网以外子网全部拒绝。
拒绝:拒绝也是黑名单,添加拒绝的ACL列表的子网的话,除了被添加的拒绝子网以外的均可以访问。
所以我们为了测试需要将我的Global IP地址加入进去进行测试访问:
我们首先通过telnet server ip 80进行测试连通性
通过页面也可以访问的:
接下来我们为了测试ACL,需要查看我当前网络的Global IP:
通过网页访问ip138.com
然后我们在VM下的终结点下打开管理ACL,添加地址
我们再次添加拒绝操作,添加后的效果为除了拒绝列表中的子网外,其他子网都可以访问
管理ACL添加完成后,我们尝试访问,网页无法访问,telnet也无法访问了
telnet也不通了
接着我们说一下对第二种情况,如果是在Azure上基于Pass服务创建SQL Server或者Mysql服务的话,如何做安全控制,其实很简单,因为在Azure的SQL Server或者Mysql的安全配置中就有ACL配置选项,只需要将允许连接的Global IP地址添加到允许访问的列表中即可(默认是拒绝所有Deny),所以还是很方便的。
我们在azure上创建了一个MYSQL的数据库
单击查看该数据库的详细信息
接下来我们telnet mysql服务器
telnet发现是可以正常连接的
我们发现,虽然能telnet相关的服务端口,但是使用相关工具是无法进行连接的。
然后我们再查看MYSQL的配置中
有一个选项是允许的IP地址
系统会自动查看的用户的出网口Global IP地址,所以比较方便的,我们发现默认是可以连接的,接下来我们任意添加一个ip地址,看看是在我本地就不能正常连接了;
注:如果添加允许访问的列表的话,除了允许访问列表以外的地址都是访问不了的,默认是可以全部可以访问。让我们试试吧;
我们添加我们当前环境的客户端ip地址后,保存
保存后,我们再通过工具进行测试一下;连接正常。