This blogpost has been prepared to describe the Micro-Segmentation and security conceptual design planning utilizing VMware vRealize Network Insight, vRNI. It can act as a support for anyone that wishes to know how to think and implement doing microsegmentation in a VMware based environment either with NSX-V or NSX-T. Some of my text that is written out in this post is borrowed and referenced from an official document by VMware: Data Center Security and
My design is based upon the findings, utilizing the network assessment tool performed by VMware vRealize Network Insight.
You can deploy a Micro-Segmentation security architecture, bearing in mind to:
- Deploy firewalls to protect the traffic flowing EastWest (e.g., from server to server). The vast majority of the network traffic in a VMware based SDDC is EastWest based. Unprotected EastWest traffic seriously compromises data center security by allowing threats to easily spread throughout the data center.
- Implement a solution that can filter all traffic within the virtualized part of the data center, as well as firewall the traffic between systems on the same Layer 2 segment (VLAN). My analysis showed a vast majority of traffic is VM to VM, and a significant amount is between systems on the same VLAN.
Because of its unique position inside the hypervisor layer, VMware NSX is able to have deep visibility into traffic patterns on the network – even when this traffic flows entirely in the virtualized part of the data center. Combining this intelligence with advanced analytics, vRNI Visibility and Operations Platform provides insight for IT managers, enabling them to make better decisions on what and how to protect critical assets.
The standard approach to securing data centers has emphasized strong perimeter protection to keep threats on the outside of the network. However, this model is ineffective for handling new types of threats – including advanced persistent threats and coordinated attacks. What’s needed is a better model for data center security: one that assumes threats can be anywhere and probably are everywhere, then acts accordingly. Micro Segmentation, powered by VMware NSX, not only adopts such an approach, but also delivers the operational agility of network virtualization that is foundational to a modern software defined data center.
Cyber threats today are coordinated attacks that often include months of reconnaissance, vulnerability exploits, and “sleeper” malware agents that can lie dormant until activated by remote control. Despite increasing types of protection at the edge of data center networks – including advanced firewalls, intrusion prevention systems, and network based malware detection – attacks are succeeding in penetrating the perimeter, and breaches continue to occur.
The primary issue is that once an attack successfully gets past the data center perimeter, there are few lateral controls to prevent threats from traversing inside the network. The best way to solve this is to adopt a stricter, micro granular security model with the ability to tie security to individual workloads and the agility to provision policies automatically.
VMware NSX is a network virtualization platform that for the first time makes microsegmentation economically and operationally feasible. NSX provides the networking and security foundation for the software defined data center (SDDC), enabling the three key functions of microsegmentation: isolation, segmentation, and segmentation with advanced services. Businesses gain key benefits with microsegmentation:
- Network security inside the data center: flexible security policies aligned to virtual network, VM, OS type, dynamic security tag, and more, for granularity of security down to the virtual NIC
- Automated deployment for data center agility: security policies are applied when a VM spins up, are moved when a VM is migrated, and are removed when a VM is de-provisioned – no more stale firewall rules.
- Integration with leading networking and security infrastructure: NSX is the platform enabling an ecosystem of partners to integrate – adapting to constantly changing conditions in the data center to provide enhanced security. Best of all, NSX runs on existing data center networking infrastructure.
So I started out by drawing up a conceptual design of the test environment.
The conceptual layout included some sample Applications and Server communication in the Test environment and the systems that were added in is to show just how multifaceted an environment can be.
Figure 1. Conceptual Layout of Environment
- We have the System1 system that need access to the Database server, DB.
- We have the System2 system that need access to the Shared Infrastructure Services.
- We have a Jumphost that connect to the the System1 server and the System2 server.
- We are going to connect All the systems to the organizations Shared Infrastructure Services; Active Directory, DNS, NTP, SCCM, SCOM, MDM and RDGW.
Provide a Zero Trust security model using Micro-segmentation around organization’s data center applications. Facilitate only the necessary communications both to the applications and between the components of the applications.
The security framework is described below:
- The blacklist rules at the top will block communication from certain IP addresses from accessing the SDDC environment.
- Allow bi-directional communication between the Shared Infrastructure Services and all applications that require access to those services
- Deny traffic from one environment (TEST) from communicating to another environment (PROD).
- Allow SYSTEM1 Application to communicate with DB Server running on the default ports.
- Allow DB Server to communicate with SYSTEM1 Application Server
- Allow All Clients to communicate with SYSTEM1 and SYSTEM2 Servers
- Block any unknown communications except the actual application traffic to and from the SYSTEM1 application.
- Block any unknown communications except the actual application traffic and restrict access to the SYSTEM2 application.
- Allow the rest of the traffic until Microsegmentation has been performed in the whole environment, then change to Deny the rest of the traffic.
The goal of the security framework is to deny traffic based on certain criteria, explicitly permit what is required and allow by default until Micro-segmentation has been performed throughout the whole environment. The firewall rules to deny traffic from environment to environment, organization to organization is required. For example, if deny Application to Application rule is missing, an app server from SYSTEM1 can communicate with an application server from SYSTEM2 by hitting the allow all traffic to SYSTEM2 servers rule.
There are different permutation and multiple scenarios to handle so there are many potential firewall rules to be allowed that are not known now. Applications can also be running on non-standard ports. In that case, you can manually open up the firewall rules and deny those that are necessary.
In order to be modular and scalable when creating firewall rules, security groups will be based on NSX security tags on the VMs inside the SDDC and IP Sets will be created for items outside the datacenter. Firewall rules will then be applied using these security groups. For each VM, it can be tagged with at least 3 security tags, with 1 of them in each category.
The security tags are classified into 3 categories and each category has a prefix to identify it:
The names illustrated below are a small subset of the actual names to exemplify the NSX security design.
- Environment Management
For the tier category, a VM can belong to multiple tiers. For example, a VM can be tagged with all 3 security tags in the tier category.
For example, a VM can have the following tags:
This VM can immediately be identified as a TEST VM belonging to the FG-A Organization and the SYSTEM1 application. Using such classification, you could create your security groups accordingly.
To create microsegmentation for systems outside the datacenters. Creation of IP Sets can be used. IP Sets may contain any combination of individual IP addresses, IP ranges and/or subnets to be used as sources and destinations for firewall rules or as members of Security groups.
Below lists down some of the security groups:
- SG-PROD – Include VMs with a tag that contain ST-PROD
- SG-TEST – Include VMs with a tag that contain ST-TEST
- SG-FG-A – Include VMs with a tag that contain ST-FG-A
- DG-FG-B – Include VMs with a tag that contain ST-FG-B
- SG-PROD-INFRA-ALL – Include all Infra VMs that are AD/DNS servers
- SG-PROD-INFRA-AD – include IP Set of VMs that are AD/DNS servers
- SG-PROD-INFRA-NTP – include IP Set of NTP servers or VMs hosting NTP service
- SG-PROD-INFRA-SCOM – include IP Set of SCOM servers or VMs hosting SCOM services
- SG-PROD-INFRA-SCCM – include IP Set of SCCM servers or VMs hosting SCCM services
- SG-PROD-INFRA-MDM – include IP Set of SNOW servers or VMs hosting SNOW services
- SG-PROD-INFRA-RDGW – include IP Set of RDGW servers or VMs hosting RDGW service
- SG-PROD-INFRA-FS – include IP Set of FS servers or VMs hosting FS services
- SG-TEST-APP-SYSTEM1 – Include VMs that belongs to the application ANTURA
- SG-TEST-DB – Include the DB VMs that belongs
- SG-KLIENT-ALL – Include the IP Sets for all external clients
- SG-WindowsServers – Include VMs whose OS starts with Microsoft Windows Server
- SG-LinuxServers – Include VMs whose OS contains CentOS, Red Hat etc
A service is a protocol-port combination, and a service group is a group of services or other service groups. Below lists down some of the NSX Service groups and Services that can be created and used in combination with Security Groups when creating Firewall Rules in NSX:
|SERVICE GROUP NAME||SERVICE GROUP CONTAINS|
|SVG-INFRA-AD||SV-INFRA-FS, SV-INFRA-NTP, SV-INFRA-DNS|
SYSTEM1 Analysis and Rule Building
Requirements for SYSTEM1
- Allow SYSTEM1 Application to communicate with DB Server running on the default ports.
- Allow DB Server to communicate with SYSTEM1 Application Server.
Allow Clients to communicate with SYSTEM1 Servers.
Block any unknown communications except the actual application traffic to and from the SYSTEM1 application.
To start building firewall rules utilization of vRNI is needed. To ‘Plan Security’ for the VM’s utilize vRNI to start by examining the flows of the SYSTEM1 VM to/from other VMs.
Analysis of flows is done by selecting scope and segment them accordingly based on entities such as VLAN/VXLAN, Security Groups, Application, Tier, Folder, Subnet, Cluster, virtual machine (VM), Port, Security Tag, Security Group, and IPSet. The micro-segmentation dashboard provides the analysis details with the topology diagram. This dashboard consists of the following sections:
- Micro-Segments: This widget provides the diagram for topology planning. You can select the type of group and flows. Based on your inputs, you can view the corresponding topology planning diagram.
- Traffic Distribution: This widget provides the details of the traffic distribution in bytes.
- Top Ports by Bytes: This widget lists the top 100 ports that record the highest traffic. The metrics for the flow count and the flow volume are provided. You can view the flows for a particular port by clicking the count of flows corresponding to that port.
vRNI displays all flows that are inbound, outbound and bi-directional going to the SYSTEM1 server.
By selecting the SYSTEM1 wedge in the circle it is possible to go in deeper and see the actual flows between the application and other servers and services.
Detailed in this section are the services the SYSTEM1 VM are using, the number of external services that are accessed (49), the number of flows that goes to/from (60) and also the recommended Firewall Rules (14) that can be created to micro-segment the server. vRNI is recommending 14 rules to accommodate micro-segmentation for the SYSTEM1 application.
Option exist to export all the recommended rules as CSV for further processing manually or by automation if needed.
The exported table is listed below for the SYSTEM1 recommended firewall rules.
|SYSTEM1||Others_Internet||53 [dns] 137 [netbios-ns] 138 [netbios-dgm] 389 [ldap] 5355||UDP||ALLOW||9||Virtual|
|Others_Internet||SYSTEM1||80 [http] 443 [https]||TCP||ALLOW||4||Virtual|
|SYSTEM1||Others_Internet||80 [http] 88 [kerberos] 135 [epmap] 389 [ldap] 443 [https] 445 [microsoft-ds] 1433 [ms-sql-server] 3268 [msft-gc] 5723 8530 10000-19999 40000-49999 49155 49158||TCP||ALLOW||34||Virtual|
By continuing the procedure detailed for remaining servers, applications, shared infrastructure services and environments with vRNI, going through each application traffic-flows, exporting the recommended firewall rules, micro-segmentation can be implemented with NSX.
A sample build of firewall rules was conceptually created based on what was gathered during the collection and processing of the data
Firewall Rules The table below shows the firewall rules based on the security framework described based on the requirements above:
When the structure is in order, it is possible to start building the Security Groups, Security, Tags, Services, and Service Groups in NSX once that has been implemented. The next step when creating rules and all needed objects to accomplish micro-segmentation it is important to go through and check the communications with the servers and applications and verify they’re all still working correctly per the requirements given.
I would also like to show a table from VMware regarding the Segmentation Strategies. Make sure to start Small and work your way through your environments and systems.
Start with doing MacroSegmentation. Meaning start finding out what Environments can/cannot communicate with other Environments.
When that is completed Setup the MesoSegmentation; Meaning go through what Applications within your Environments can/cannot communicate with other Applications inside the same or outside the Environment.
And Lastly do the MicroSegmentation; Meaning go through what Systems inside the Application can/cannot communicate with other Systems inside the Applications and inside the Environments. Inception thinking is needed 🙂
Also a good idea when drawing out the different Environments, Applications and Systems withing each Application is to Build a Segmentation Flow Chart. With it you will get a picture drawn up on how things are connected and interacted with each other and also makes it much easier to establish what can/cannot communicate with each other.
A microsegmentation approach powered by VMware NSX can address the inadequacy of EastWest security controls that affect most data centers. The vRNI Visibility and Operations software helps to jumpstart the journey to micro segmentation by providing actionable insights into how workloads in a data center communicate and plan the segmentation accordingly.
Thanks for this time! /Jimmy