实现裸金属服务器的安全微分段[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虚拟云网络,欢迎各位继续关注

相关文章
|
2天前
|
存储 弹性计算 运维
端到端的ECS可观测性方案,助力云上业务安全稳定
本文介绍了云原生时代保障业务系统可靠性的方法和挑战,重点探讨了阿里云ECS在提升业务稳定性、性能监控及自动化恢复方面的能力。文章分为以下几个部分:首先,阐述了业务可靠性的三个阶段(事前预防、事中处理、事后跟进);其次,分析了云上业务系统面临的困难与挑战,并提出了通过更实时的监测和自动化工具有效规避风险;接着,详细描述了ECS实例稳定性和性能问题的解决方案;然后,介绍了即将发布的ECS Lens产品,它将全面提升云上业务的洞察能力和异常感知能力;最后,通过具体案例展示了如何利用OS自动重启和公网带宽自适应调节等功能确保业务连续性。总结部分强调了ECS致力于增强性能和稳定性的目标。
|
5月前
|
安全 Ubuntu 应用服务中间件
Web服务器安全最佳实践
【8月更文第28天】随着互联网的发展,Web服务器成为了企业和组织的重要组成部分。然而,这也使得它们成为黑客和恶意软件的目标。为了确保数据的安全性和系统的稳定性,采取适当的安全措施至关重要。本文将探讨一系列保护Web服务器的最佳策略和技术,并提供一些实用的代码示例。
397 1
|
2月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
2月前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
33 2
|
2月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
29 0
|
3月前
|
SQL 安全 网络安全
守护数字资产:服务器迁移期间的安全挑战与对策
【10月更文挑战第4天】在数字化转型的浪潮中,服务器迁移成为企业不可避免的任务。然而,迁移过程中的安全挑战不容忽视。本文从安全考量的角度,探讨了服务器迁移期间可能遇到的安全问题,并提供了相应的对策和代码示例。
104 3
|
3月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
106 6
|
5月前
|
云安全 弹性计算 安全
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器不仅提供了一些基础防护,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为大家介绍一下阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品。
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
|
5月前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
48 0
|
5月前
|
Rust 安全 Java
Rust语言在Web后端的应用:基于Actix-web构建高性能、安全可靠的服务器实践
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的无限潜力。
210 0