Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
《Windows Azure Platform 系列文章目录》
本文介绍的是国内由世纪互联运维的China Azure。
我们在创建完Windows Azure Virtual Machine的时候。如果是创建的Windows 虚拟机,Azure默认会打开PowerShell和Remote Desktop的Public Port,接受Internet上的客户端访问。
但是这样会出现一个问题,假设Azure VM的用户名和密码不小心泄漏了(或者黑客用暴力破解法破解我的用户名和密码),那任何Internet上的用户都可以通过RDP访问我在Azure云上创建的虚拟机,那岂不是非常不安全?
想象另外一个场景,假设某个企业将对内服务的应用系统(例如企业培训系统,报销系统等)部署到了Azure云端。如果其他Internet上的用户也可以浏览访问的话,也是非常不安全的。
在这种情况下,我们可以对Azure VM Endpoint设置访问控制列表(Access Control List, ACL),只允许Internet上的某些Public IP地址可以访问我云端的某些Endpoint。比如只允许企业的公网IP地址访问Azure VM的RDP,除了企业公网IP地址的其他IP都无法访问。这样即使Azure VM的用户名密码被泄漏了,只要客户端IP不在我的Azure VM Endpoint ACL信任列表里,也是无法访问Azure VM的。
注意:Azure ACL只对Internet上的客户端IP进行访问控制。如果是需要对在同一个虚拟网络(Virtual Network)的不同VM之间的内网访问控制列表,请使用Azure Network Security Group。
接下来,笔者将介绍,如何通过Azure ACL,只允许笔者的笔记本电脑的公网IPV4地址能访问到Azure VM的80端口。而阻止其他公网IPV4地址访问。
下面开始我们的介绍部分:
1.首先我们在Azure云端创建一个Windows 虚拟机。创建完毕后,通过RDP在Windows VM安装IIS。同时打开该VM的Public Port 80。如下图:
2.默认的ACL会允许所有的入站流量。所以不管是通过本地的笔记本电脑,或者我的手机4G网络(这2个设备的公网IP地址肯定是不同的)。
我都是可以通过DNS地址:http://leitestwinvm.chinacloudapp.cn,访问到该站点的IIS欢迎页面的。如下图,左边是我通过笔记本访问,右边是通过4G手机网络访问
3.首先需要知道笔者的笔记本电脑的公网IPV4地址,我们可以在SQL Azure的控制面板里看到。或者可以使用baidu进行搜索。
4.我们回到Azure VM的Endpoint菜单中,选择HTTP 80端口,然后点击ACL。如下图:
5.在弹出的窗口中,Action分为两种Permit和Deny。如下图:
这里我要详细说明一下:
1.无ACL。默认情况下,ACL内容为空,则允许Internet上所有的流量
2.Permit(允许)。如果我设置了一个或多个permit,例如允许IPV4为10.10.10.10的客户端IP地址,则只允许10.10.10.10的所有流量,除此IP以外的其他IPV4地址都拒绝。概念类似于白名单。
3.Deny(拒绝)。如果我设置了一个或者多个Deny,则只拒绝该IPV4地址,其他IPV4地址都可以访问。概念类似于黑名单。
4.Permit和Deny都存在的情况。当你要指定允许或拒绝的特定 IP 范围时,可结合使用“允许”和“拒绝”。
因为笔者要允许笔记本电脑的IP访问,别的IP地址都拒绝,我们可以在上面只设置Permit。把步骤3中的IP地址输入进去。如下图:
注意上面的Remote Subnet为客户端的公网IPV4地址,且为CIDR地址。
6.这样设置完毕后,只有笔者的笔记本电脑的公网IPV4地址可以访问Azure VM的80端口。如果用手机4G网络访问,会显示无法找到该地址。如下图:
总结ACL可以使用的场景:
1.当企业拥有固定IPV4地址,可以设置IT管理员访问PowerShell,Remote Desktop和SSH端口
2.企业将对内服务的应用系统(例如企业培训系统,报销系统等)部署到了Azure云端
3.其他需要限制客户端IPV4地址的情况。
本博-三石Blog(下文简称本博),在本博客文章结尾处右下脚未注明转载、来源、出处的作品(内容)均为本博原创,本站对于原创作品内容对其保留版权,请勿随意转载,如若真有需要的朋友可以发Mail联系我;转载本博原创作品(内容)也必须遵循“署名-非商业用途-保持一致”的创作共用协议,请务必以文字链接的形式标明或保留文章原始出处和博客作者(Lei Zhang)的信息,关于本博摄影作品请务必注意保留(www.cnblog.com/threestone)等相关水印版权信息,否则视为侵犯原创版权行为;本博谢绝商业网站转载。版权所有,禁止一切有违中华人民共和国著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。
Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限的更多相关文章
- Windows Azure Virtual Network (8) 创建Azure Point-to-Site点到站点 VPN
<Windows Azure Platform 系列文章目录> 我们在使用Azure的时候,常常有这样的需求: -我需要将企业内网的主机连接到微软Azure公有云平台 -我需要保证企业内部 ...
- Windows Azure Virtual Machine (34) 保护Azure虚拟机
<Windows Azure Platform 系列文章目录> 请注意:我们在Azure上创建的虚拟机,都是可以通过公网IP地址来访问的.(直接通过虚拟机的IP地址:PIP,或者通过负载均 ...
- Windows Azure Virtual Network (5) 设置Azure Virtual Machine固定Private IP
<Windows Azure Platform 系列文章目录> 注意:本文介绍的是Global Azure (http://www.windowsazure.com),如果你使用的是由世纪 ...
- [Windows Azure] Windows Azure Virtual Network Overview
Windows Azure Virtual Network Overview 18 out of 33 rated this helpful - Rate this topic Updated: Ap ...
- Windows Azure Virtual Network (11) 创建VNet-to-VNet的连接
<Windows Azure Platform 系列文章目录> 我们知道,Azure Virtual Network可以 1.将对台Azure VM加入到同一个网段里,同时绑定内网IP地址 ...
- Windows Azure Virtual Network (13) 跨数据中心之间的虚拟网络点对点连接VNet Peering
<Windows Azure Platform 系列文章目录> 今天是大年初二,首先祝大家新年快乐,万事如意. 在笔者之前的文章中:Windows Azure Virtual Networ ...
- [SDK2.2]Windows Azure Virtual Network (1) 概念
<Windows Azure Platform 系列文章目录> Windows Azure Virtual Network是非常重要的概念,其主要作用有以下两点: 1.将多台Azure V ...
- [SDK2.2]Windows Azure Virtual Network (2) 创建简单的Virtual Network
<Windows Azure Platform 系列文章目录> 本章笔者将介绍如何创建一个简单的 Virtual Network. 1.首先我们登陆Windows Azure管理界面 ht ...
- [SDK2.2]Windows Azure Virtual Network (3) 创建AD Server并添加至Virtual Network
<Windows Azure Platform 系列文章目录> 在之前的文章中,笔者已经向大家介绍了如何创建一个简单的Azure Virtual Network. 本章我将创建一台域服务器 ...
随机推荐
- 用php创建mysql数据库
接触php就等于向后台更近了一步,之前一直在做前端,不过也在学php,但一直没敢写博客,现在终于有勇气迈向了这一步,还请各位博友多多担待. 服务器是后台开发的必备工具,但对于一般初学者来说是没有自己的 ...
- 使用 {$INCLUDE} 或 {$I} 指令管理和调用自定义函数
这是一个简单.方便而又实用的小技巧. 譬如这段代码中有四个定义函数: MyAdd.MyDec.MyMul.MyDiv unit Unit1; interface uses Windows, Mes ...
- wireshark长时间抓包分多个文件
前言 说一说这个问题的由来,一般使用wireshark不需要长时间抓包的,但是有时候遇到网络通信中非常棘手的问题,例如一个小时出现一次或者几个小时出现一次问题的情况,这种情况下就必须长时间抓包了.但是 ...
- DataTables 控件使用和心得 (1) - 入门
什么是DataTables DataTables是一个基于HTML/CSS/JavaScript的前端列表组件. 基于JQuery 开源并且免费(除特殊支持服务) 主要特色: 高性能,响应式,功能完整 ...
- windows系统下的第一个console程序
窗口+r 键,输入cmd,打开一个命令行窗口 切换到你的目标目录 输入 dotnet new dotnet会自动帮你创建3个文件. NuGet.Config文件主要定义了NuGet获取nupkg包时的 ...
- 循序渐进做项目系列(1):最简单的C/S程序——让服务器来做加法
(本文是专门针对未接触过C/S开发的初学者而写的,C/S开发高手请自动忽略啊~~) 还在写“Hello world!”式的单机程序吗?还在各种拖控件吗?是否自己都觉得有点low呢?来个质的飞跃吧!看看 ...
- java提高篇(十一)-----强制类型转换
在java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需 ...
- java生成压缩文件
在工作过程中,需要将一个文件夹生成压缩文件,然后提供给用户下载.所以自己写了一个压缩文件的工具类.该工具类支持单个文件和文件夹压缩.放代码: import java.io.BufferedOutput ...
- JavaScript思维导图—正则表达式
JavaScript思维导图-来自@王子墨http://julying.com/blog/the-features-of-javascript-language-summary-maps/
- [自己动手玩黑科技] 1、小黑科技——如何将普通的家电改造成可以与手机App联动的“智能硬件”
NOW, 步 将此黑科技传授予你~ 一.普通家电控制电路板分析 普通家电,其人机接口一般由按键和指示灯组成(高端的会稍微复杂,这里不考虑) 这样交互过程,其实就是:由当前指示灯信息,按照操作流程按相应 ...