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

简介: 在一个月前,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虚拟云网络,欢迎各位继续关注

相关文章
|
8月前
|
存储 机器学习/深度学习 数据库
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
1287 61
|
7月前
|
监控 安全 Ubuntu
从零开始学安全:服务器被入侵后的自救指南
在信息爆炸时代,服务器安全至关重要。本文针对黑客入侵问题,从应急处理、系统恢复到安全加固全面解析。发现入侵时应冷静隔离服务器,保存日志证据,深入排查痕迹;随后通过重装系统、恢复数据、更改密码完成清理;最后加强防火墙、更新软件、部署检测系统等措施防止二次入侵。服务器安全是一场持久战,需时刻警惕、不断优化防护策略。
1117 1
|
6月前
|
人工智能 安全 算法
长擎安全操作系统:构筑企业级服务器安全的坚固基石
长擎安全操作系统,以自主可控内核为基础,构建七层纵深防御体系,全面支持国密算法与可信计算,适配能源、金融、制造等关键行业,为企业服务器提供全方位安全保障,助力数字化转型安全发展。
|
6月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
1515 0
|
6月前
|
云安全 弹性计算 安全
阿里云服务器安全功能解析:基础防护与云安全产品参考
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题。阿里云服务器除了提供基础的防护之外,还提供了一系列安全防护类云产品,以确保用户云服务器的安全。本文将详细介绍阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品,帮助用户更好地理解和使用阿里云服务器的安全功能。
|
10月前
|
人工智能 安全 Linux
安全体检 | 服务器的终极卫士
阿里云的安全体检是为用户提供的一项免费安全检测工具,旨在通过调用云安全中心和配置审计中的安全检测能力,汇总检测结果,涵盖病毒攻击、风险配置和服务器漏洞三方面。该服务帮助用户及时发现并解决潜在的安全问题,提升云上安全水平。与云服务诊断不同,安全体检更侧重于深层次的安全检测,确保服务器的安全稳定运行。
安全体检 | 服务器的终极卫士
|
9月前
|
存储 机器学习/深度学习 算法
阿里云X86/ARM/GPU/裸金属/超算等五大服务器架构技术特点、场景适配与选型策略
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别。本文将深入解析这些架构的特点、优势及适用场景,帮助用户更好地根据实际需求做出选择。
|
10月前
|
云安全 弹性计算 安全
阿里云服务器安全攻略参考:基础防护与云安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器除了提供基础的防护之外,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为您介绍阿里云服务器的基础安全防护机制,以及阿里云提供的各类云安全产品,帮助用户全面了解并选择合适的防护手段,为云上业务保驾护航。
1210 11
|
11月前
|
存储 弹性计算 安全
阿里云服务器购买后设置密码、安全组、基础安全服务、挂载云盘等流程简介
对于初次选购阿里云服务器的用户来说,通过阿里云推出的各类活动买到心仪的云服务器仅仅是第一步。为了确保云服务器能够正常运行并承载您的应用,购买之后还需要给云服务器设置远程登录密码、设置安全组规则、设置基础安全、购买并挂载云盘等操作之后,我们才能使用并部署自己的应用到云服务器上。本文将详细介绍在阿里云的活动中购买云服务器后,您必须完成的几个关键步骤,助您快速上手并充分利用云服务器的强大功能。