实现裸金属服务器的安全微分段[2]

本文涉及的产品
云防火墙,500元 1000GB
简介: 在一个月前,VMware发布了NSX-T数据中心3.0GA版本。其中不乏新的亮点功能,如与vSphere7共同实现构建统一管理工作负载(ESXi虚拟机+Kubernetes容器)的平台、原生实现了分布式的入侵检测IDS和入侵防御IPS、基于时间的安全微分段策略等等......

     在之前的一篇分享中,我介绍了NSX通过在Linux裸金属服务器创建虚拟接口实现对裸金属服务器的微分段防护。

     在NSX-T3.0的功能列表中,我们也可以看到现在NSX-T也能纳管Windows操作系统的裸金属服务器,实现对Windows Server的逻辑网络连接、安全微分段防护功能,弥补了之前NSX-T2.x的一个缺憾。

image.png

     在今天的分享中,我将介绍一下如何在NSX-T3.0环境下实现对裸金属Windows Server2016的纳管,并通过分布式防火墙规则实现对该服务器的安全防护。
     在浏览VMware官方社区一些帖子的时候,我发现其实有老外已经在NSX-T2.x的时候就尝试用Ansible脚本,在安装了OpenvSwitch on Windows的裸金属设备上实现了类似纳管的需求。
     我们首先来回顾一下,NSX如何实现对Linux操作系统裸金属的网络连接和安全微分段:

image.png

     为了便于类比理解,先拿Hypervisor传输节点(后简称TN)来说说虚拟机的连接方式,虚拟机连接到分段(也叫作逻辑交换机)是依赖于Logical Interface(后简称LIF)和Virtual Interface(后简称VIF)两个接口的。当管理员在vCenter界面上,选择将虚拟机连接到某个分段,如Web-Tier之后,NSX-T会在相应的分段上创建一个LIF,然后将虚拟机连接到一个VIF,VIF和LIF之间是通过IO链连接的,NSX-T的安全微分段就作用在这个IO链上。

image.png

     那对于Linux裸金属来说,原理大体相同。当裸金属服务器完成NSX配置,成为一台主机TN之后,在它的内核中就运行了一台NSX主机交换机(后简称N-vDS)。管理员可以通过Ansible脚本,在该TN内部创建一个虚拟接口veth,在分段上创建一个对应的LIF(图中的veth-peer),利用OpenvSwitch(N-vDS在Linux环境下借用了OVS的内核)的桥接,将veth和veth-peer互联。

     因此,对裸金属Linux服务器来说,真正去和其他IP开展业务通信的接口是veth,使用的是veth的IP地址,安全微分段防护的也是这个IP相关的流量;与该服务器本身的管理地址(图中eth0)和VTEP地址均无关。接下来,我们来看看对于裸金属Windows服务器,NSX-T是如何实现的呢?

image.png

  • 。NSX-T依旧通过OpenvSwitch来实现Windows裸金属服务器的网络接入和安全微分段

     。Windows裸金属服务器的网络接入有三种可行的模式
     第一种:单网卡模式,用于进行NSX-T配置的管理地址也会是将来与外部通信和安全微分段生效的业务地址(图中的应用地址)。可以看到,这种模式下,并没有创建Overlay分段的必要,因此也没有VTEP IP生成;换言之,这是一种将裸金属服务器直接连接到VLAN分段的模式。
     第二种:双网卡VLAN模式,这可能是最贴近实际的模式。裸金属服务器使用第一张网卡(图中的Ethernet1)与NSX-T Manager通信,执行NSX-T配置等一系列工作;而它的第二张网卡(图中的Ethernet2)将承载业务流量。管理员可以通过Ansible脚本,创建一个虚拟接口(图中的vEthernet1-VIF),利用OVS的桥接实现互联;在这种模式下,虚拟接口连接到的是VLAN传输区域,因此也不需要VTEP IP。
     第三种:双网卡Overlay模式,这可能是最理想的模式。与第二种模式相同,裸金属服务器使用第一张网卡(图中的Ethernet1)与NSX-T Manager通信,执行NSX-T配置等一系列工作;而它的第二张网卡(图中的Ethernet2)将承载业务流量,只不过这种流量是Overlay传输区域的流量。管理员在执行Ansible脚本后,NSX-T在该裸金属Windows上创建一个虚拟接口的同时,还会创建一个用于VTEP封装通信的接口。在这种模式下,该裸金属服务器会出现3个不同的IP地址。


接下来,各位跟着我一起来动动手,看看NSX-T纳管裸金属Windows服务器具体的操作步骤吧。0x01.在目标Windows操作系统上,执行一系列准备工作,允许Ansible服务器通过pywinrm模块访问Windows操作系统,完成虚拟接口的配置工作。

在目标Windows Server 2016下载配置脚本

使用命令:

$ wget -o ConfigureRemotingForAnsible.ps1 https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1

image.png

执行该脚本,设置允许Linux操作系统通过pywinrm模块访问Windows操作系统

使用命令:

$ powershell.exe -ExecutionPolicy Bypass -File .\ConfigureRemotingForAnsible.ps1

image.png

0x02.部署一台Ansible服务器,用来执行一系列远程配置工作;在我的环境中,我采用一台普通的CentOS。

找一台Linux终端,安装Python和pywinrm

# yum install -y epel-release
# yum install -y python-pip
# pip install pywinrm

image.png

0x03.关键步骤:将该Windows服务器添加作为NSX-T的独立主机传输节点。

将Windows Server添加作为NSX-T的独立主机传输节点

image.png

与Linux操作系统相同,将Windows Server添加作为独立的服务器同样需要将主机的IP地址、凭据等进行正确地设置

image.png

NSX-T会在Windows Server操作系统安装OpenvSwitch,并根据管理员的配置获取到一个IP地址,用于Geneve传输网络的相互通信同时,需要指定以OpenvSwitch为内核的N-vDS上联网络适配器,如Ethernet2

image.png

与NSX-T早些版本不同的是,当前版本的NSX-T可以看到“NSX配置”的进展阶段

image.png

等待该Windows Server被正确配置为独立传输节点NSX-T会自动在该主机内部创建出额外的两个虚拟网络适配器其中一个用于VTEP的封装(我手动改名为NSX-VTEP)

另一个用于虚拟端口连接到逻辑交换机使用(我手动改名为NSX-VIF)

image.png

在该主机命令行,使用命令同样可以查看到这些网络适配器的信息

使用命令:

$ get-NetAdapter

image.png

0x04.使用Ansible创建虚拟接口,实现网络互联

回到Ansible服务器,下载playbook

使用命令:

# git clone https://github.com/vmware/bare-metal-server-integration-with-nsxt.git

image.png

安装Ansible

# yum install -y ansible

image.png

编写配置文件下面,给出我的配置文件,提供各位参考:

#############################################
# Create an group that contains the Bare Metal Servers
[windows:children]
servers_static(以静态地址分配方式定义虚拟接口IP)
servers_dhcp
servers_migration
servers_restoration
# Set variables common for all Bare Metal Servers
[windows:vars]
ansible_user=administrator(裸金属服务器用户名)
ansible_password=VMware1!(裸金属服务器密码)
ansible_connection=winrm(连接方式,WINRM)
ansible_winrm_server_cert_validation=ignore(忽略证书)
# host group for servers
[servers_static]
172.30.81.33 static_ip=10.0.0.12 netmask=255.255.255.0 ls_name=LS-Global-MGMT-Tier-10.0.0.0
(从左往右,依次是裸金属服务器管理地址、虚拟接口业务地址、虚拟接口子网掩码、连接的分段名)
[servers_dhcp]
[servers_migration]
[servers_restoration]
# NSX Configuration
[NSX]
#============================
# NSX Manager Credential
nsxmanager ip=地址我就不告诉你了 username=admin password=密码我也不告诉你(从左往右,依次是NSX-T Manager地址、用户名、密码)
#============================

根据实际情况,执行静态配置虚拟接口地址的playbook

使用命令:

# ansible-playbook -I ./win_hosts(配置文件) ./bare-metal-server-integration-with-nsxt/bms-ansible-nsx/win_static_config.yml(YAML文件)

image.png

等待Playbook执行完成

可以看到该Windows Server已经与其他传输节点正常建立了通信隧道,通过Geneve协议传输网络实现Overlay层的互通

image.png

0x05.验证NSX-T纳管裸金属Windows服务器在该Windows Server命令行,可以通过命令查看OpenvSwitch的一些状态,如桥接、流表等

# ovs-vsctl show

image.png

通过NSX-T的TraceFlow可以查看到通信流走向比如一台ESXi主机TN上的虚拟机s12-mgmt-02(10.0.0.11)尝试与该裸金属服务器(10.0.0.12)进行二层通信的时候,流量会经过ESXi主机TN的VTEP(172.30.81.12)封装,传输到该裸金属的VTEP(172.30.82.104),最终解封装后被s12-wbm-01收到。

image.png

接下来,我们来看看安全微分段能不能对裸金属Windows服务器生效。
我在该裸金属服务器上激活了一个HTTP服务,可以看到在默认情况下,外部用户可以正常访问,并下载资料

image.png

现在,我创建一条分布式防火墙策略:仅阻止外部用户以HTTP方式访问该Windows服务器

image.png

我们再使用与该服务器相同网段的10.0.0.11验证分布式防火墙的生效情况

image.png

通过NSX-T的TraceFlow同样可以验证流量被分布式防火墙所阻止

image.png

image.png

经过今天的分享,相信各位对NSX-T与裸金属Windows服务器的集成已经有了充分的了解。在后面的分享中,我将推出新的连载:漫步云网端-构建NSX虚拟云网络,欢迎各位继续关注

相关文章
|
3月前
|
安全 Ubuntu 应用服务中间件
Web服务器安全最佳实践
【8月更文第28天】随着互联网的发展,Web服务器成为了企业和组织的重要组成部分。然而,这也使得它们成为黑客和恶意软件的目标。为了确保数据的安全性和系统的稳定性,采取适当的安全措施至关重要。本文将探讨一系列保护Web服务器的最佳策略和技术,并提供一些实用的代码示例。
280 1
|
1月前
|
SQL 安全 网络安全
守护数字资产:服务器迁移期间的安全挑战与对策
【10月更文挑战第4天】在数字化转型的浪潮中,服务器迁移成为企业不可避免的任务。然而,迁移过程中的安全挑战不容忽视。本文从安全考量的角度,探讨了服务器迁移期间可能遇到的安全问题,并提供了相应的对策和代码示例。
53 3
|
1月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
4月前
|
存储 监控 安全
服务器安全:构建数字时代的坚固堡垒
在数字化时代,服务器安全至关重要,它直接影响企业业务连续性和客户数据保护。服务器遭受攻击或数据泄露将给企业带来巨大损失。服务器面临网络攻击、恶意软件、内部与物理威胁。关键防护措施包括严格访问控制、数据加密与备份、安全审计与监控、部署防火墙和入侵检测系统、及时安全更新及物理安全防护。最佳实践涵盖制定全面安全策略、采用先进技术、员工培训、定期安全评估与测试及建立应急响应团队。通过这些措施,企业能构建坚实的服务器安全防护体系。
244 55
|
3月前
|
云安全 弹性计算 安全
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器不仅提供了一些基础防护,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为大家介绍一下阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品。
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
|
3月前
|
存储 人工智能 运维
裸金属服务器详解:定义、核心特点与应用
裸金属服务器,又称单租户环境物理服务器,是指由一个或多个独立的服务器组成,提供专属的物理计算资源。它是服务器领域的一个创新产物,结合了虚拟机的弹性和物理机的性能优势,成为云端的一个专用物理服务器。裸金属服务器在硬件层面直接提供计算资源,不经过虚拟化层,从而避免了虚拟化带来的性能损耗,为用户提供了极致的计算性能和资源独占性。
|
3月前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
39 0
|
3月前
|
Rust 安全 Java
Rust语言在Web后端的应用:基于Actix-web构建高性能、安全可靠的服务器实践
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的无限潜力。
139 0
|
3月前
|
监控 安全 网络安全
如何保护 Apache 服务器的安全
【8月更文挑战第23天】
85 0
|
4月前
|
存储 弹性计算 运维
可观测性体系问题之ECS管控的metric数据存储对安全合规的考虑如何解决
可观测性体系问题之ECS管控的metric数据存储对安全合规的考虑如何解决
29 4