Illumio Core: Security Policy Guide
Illumio Core: Security Policy Guide
Version 21.4.1
October 2021
11000-200-21.4.1
Legal Notices
Copyright © 2021 Illumio 920 De Guigne Drive, Sunnyvale, CA 94085. All rights
reserved.
The content in this documentation is provided for informational purposes only and is
provided "as is," without warranty of any kind, expressed or implied of Illumio. The
content in this documentation is subject to change without notice.
Product Versions
PCE Version: 21.4.1 (Standard release)
Standard versus LTS Releases
21.4.1-PCE is a Standard release. For information on Illumio software support for Stand-
ard and LTS releases, see Versions and Releases on the Illumio Support portal.
Resources
Legal information, see https://www.illumio.com/legal-information
Trademarks statements, see https://www.illumio.com/trademarks
Patent statements, see https://www.illumio.com/patents
License statements, see https://www.illumio.com/eula
Open source software utilized by the Illumio Core and their licenses, see Open Source
Licensing Disclosures
Contact Information
To contact Illumio, go to https://www.illumio.com/contact-us
To contact the Illumio legal team, email us at [email protected]
To contact the Illumio documentation team, email us at [email protected]
Segmentation Templates 97
Overview of Segmentation Templates 98
Catalog Retrieved from Support Portal 98
Features of Segmentation Templates 100
Segmentation Template Prerequisites and Limitations 101
SecureConnect 167
Our Solution 168
Use Cases 168
Features of SecureConnect 168
SecureConnect Prerequisites, Limitations, Caveats 170
Certificate Setup on Workloads 172
Enable SecureConnect for a Rule 173
AdminConnect 174
Overview of AdminConnect 174
Features of AdminConnect 175
AdminConnect Prerequisites and Limitations 175
This section describes the security policies, which are configurable sets of rules that
protect network assets from threats and disruptions. Illumio Core relies on security
policy to secure communications between workloads.
1. Create rules following the process below to prevent communication loss and
optimize rule coverage.
2. Refine your initial policy to strengthen it by narrowing overly broad access.
3. Use the Visibility Only enforcement to verify and enact your policy.
1. Core service policies: Core services are among the first services that are detec-
ted by the PCE and can include DNS, DHCP, backup traffic, and performance
management. Use Illumination to explore your network environment and determ-
ine what unmanaged workloads are required. Because policy for core services
tends to be very granular, rules for these services should be created before using
Policy Generator. Wen core services are defined for a larger entity (like a data-
center or an environment), it is best to organize these “global” rules into a ded-
icated segmentation ruleset. This approach removes all the core services from
the application-specific rules and helps keep the policy statements clear and
c. Use Policy Generator to write a default “All Services” rule to each des-
tination: This option quickly establishes a policy to turn traffic lines green in
Illumination, but does not provide the visibility of having unmanaged work-
loads to represent each external destination.
Policy Refinement
Creating rules using the guidelines above establishes a stable policy where most of
the traffic lines in Illumination will be green. It can be adjusted as new traffic is
observed, but the recommendations above provide an initial basic policy. This policy
can and should be refined incrementally, as it might initially be overly broad. The fol-
lowing guidelines provide the greatest benefits when refining your policy:
1. Identify critical applications: Determine your network's top five or top ten applic-
ations and refine the rules for them. Repeat as needed to continuously improve
the policy.
2. Investigate inter-application flows: In Illumination, inspect the traffic between
applications to see how it can be improved. When the traffic is destined for a
single port, find out if the port is fixed or dynamic. If it is fixed, update “All Ser-
vices” to the specified port. If it is dynamic with known ranges, create a new ser-
vice with that range to narrow the service definition in the rule.
3. Investigate traffic to IP lists: Inspect the top-volume flows to IP lists. Optimally,
try to reduce IP lists by replacing them with unmanaged workloads, then reduce
the service definition to only the required ports.
4. Identify high-volume unmanaged workloads or applications: When a single
unmanaged workload has many connections to managed applications, it might
be a database cluster or critical server. Ideally, you should try to reduce usage of
“All Services” where possible to a more narrow definition.
5. Restrict access for scopes and services to unmanaged workloads: Unmanaged
workloads do not have an installed VEN, so access to these types of workloads
should be restricted where possible. Determine if you can use scopes to restrict
access to specific roles within applications and review access to services to
determine if any use of “All Services” can be reduced to a more specific port
range.
Enforcement States
After creating a segmentation ruleset, you can preview the effects in Illumination
using the Draft View. This view shows you the changes that will be enacted by your
policy when it is enforced.
l Visibility Only: After refining your initial policy, most of the traffic lines in Illu-
mination should be green. No traffic will be blocked and you can check your
policy's accuracy. Any new traffic will be displayed as a red line, which can be
addressed using the strategies discussed in Rule Creation Approach and Policy
Refinement.
l Selective Enforcement: Enables you to protect applications or processes on
workloads while other services and ports function as if the workloads are in the
Visibility Only enforcement state. By using selective enforcement, you can gradu-
ally expand the enforcement of policy on your workloads. Using the selective
enforcement state is useful for temporarily enforcing security for specific ports
in case a vulnerability is detected and action must be taken quickly. Using the
selective enforcement state enables security enforcement before you are able to
create complete allowlists of what traffic is allowed to reach your workloads.
l Full Enforcement: It is useful to move workloads to the Full Enforcement state in
stages. This action can be done by workload, by application, by environment, or
by datacenter. Start with less critical applications or workloads, stabilize them,
then move on to more sensitive systems. This approach minimizes issues to a
smaller number of affected workloads.
NOTE:
The order in which the rules are written or any possible overlap between
rules does not affect the allowlist model, since each rule permits some
traffic between workloads.
The relationships between the tiers (or workloads, as they are known in Illumio Core)
in this example are:
l The Web workload can initiate communications with the App workload (Web →
App).
l The App workload can initiate communications with the Database workload
(App → Database).
In Illumio Core, the relationship in the diagram above is expressed as two separate
rules:
l The Web workload can initiate communications with the App workload.
l The App workload can initiate communications with the Database workload.
To build your network security policy, create a segmentation ruleset for each of your
workloads. Use labels to identify your workloads and use scopes to apply the seg-
mentation rulesets to multiple workloads at once. For more information, see Labels
and Label Groups and Segmentation Rulesets
NOTE:
Illumio recommends creating no more than 500 rules per ruleset, or the
PCE web console will not be able to display all of the rules. If you want to
create a ruleset with more than 500 rules, Illumio recommends splitting the
rules across multiple rulesets, or use the Illumio Core;REST API, where there
is no limit on the number of rules you can create per ruleset.
Adaptive Policy
Without adaptive security, enterprises face an overwhelming number of firewall rules,
manual changes required to policies, and the possibility of errors leading to outages
or serious vulnerabilities and breaches. Adaptive security automatically accounts for
moves, scale, and changes to the applications and infrastructure that are typical of
modern datacenters.
Because Illumio bases workload security on a policy model, it enables adaptive secur-
ity that continuously adjusts to changes in the environment and to changed workload
relationships. When a change occurs, the PCE responds dynamically by re-computing
the OS-level firewall rules for the impacted workloads. The PCE alerts the VENs of the
new OS-level firewall rules. The VENs request the new rules and apply them imme-
diately.
The Illumio Core dynamically adapts and updates security policy when events, such as
the following ones, occur in the managed environment.
The PCE does not require Illumio users or automated processes to provision these
changes for the PCE to re-compute the OS-level firewall rules for the impacted work-
loads and transmit them to the VENs.
See the following related topics:
l Pairing in the VEN Installation and Upgrade Guide for Core 21.2.3 VEN for inform-
ation about adding workloads to your environment
l IP Lists for information about using them in security policies
l Provisioning for information about provisioning, which is a manual process
l Staged Policy for information about how provisioning differs from adaptive
policy
Static Policy
For the large majority of your workloads, adaptive security is the best method for pro-
tecting them from the lateral spread of threats. By default, the Illumio Core imple-
ments adaptive security for your workloads in all roles, all applications, all
environments, and all locations. See Adaptive Policy to learn how Illumio provides
adaptive security.
However, in certain scenarios, you might want to control when the VENs apply new or
changed OS-level firewall rules to workloads. Using labels, you designate which work-
loads are impacted by static policy. See Apply Static Policy for the steps to configure
static policy using labels.
When you configure the Policy Update Mode for workloads to use static policy, you
control when the Illumio VENs running on the workloads apply new OS-level firewall
rules that they received from the PCE. The Illumio Core blocks the immediate applic-
ation of new firewall rules that result from users provisioning policy changes in the
PCE and from dynamic updates to firewall rules (adaptive policy) when your envir-
onment changes. For example, you add a new rule to a segmentation ruleset in the
PCE and provision the change, or a change occurs in your environment, such as a
workload changes its IP address. In both cases, the VENs for your impacted workloads
receive the new OS-level firewall rules from the PCE but they do not apply them until
you explicitly select the workloads and click Apply Policy in the PCE web console.
See Staged Policy for information about how the Illumio Core uses static policy and
stages OS-level firewall updates rather than apply them immediately.
You should view static policy as a Security Setting rather than a type of security policy
because configuring workloads to use static policy is a mechanism to control when
VENs apply new or updated OS-level firewall rules to affected workloads. You can use
the static policy setting to establish an audit trail of which Illumio users apply new OS-
level firewall rules to workloads and when they apply them.
See Caveats for guidance on choosing when to configure workloads with static policy.
Example: Static Policy Workflow
The security team for an internet retail application has strict requirements for updat-
ing their production environment. They require that all updates to the OS-level firewall
rules for their Database tier running in production must be applied during main-
tenance windows. For their Illumio-managed workloads, they configure a static policy
that has the following labels: Role: Database, Applications: All, Environment: Pro-
duction, Locations: All.
A spike in customer demand occurs and their production environment automatically
scales by adding servers to the Web tier. The Illumio PCE detects the web servers con-
necting to the Database tier workloads and re-computes their security policy to
include rules for the web servers. The PCE re-compute the OS-level firewall rules for
those workloads and sends them to the VENs running on the Database workloads. The
VENs stage the updates locally but they do not apply them to OS-level firewalls.
A maintenance window opens and a security team member filters the Database work-
loads in the PCE to determine which ones have staged security policy. She selects
these workloads and applies the staged changes.
The VENs request the latest OS-level firewall rules from the PCE to ensure that all
changes are included. The PCE sends the latest OS-level firewall rules to the VENs and
they apply them.
l You must be a member of the Global Organization Owner role or Global Admin-
istrator role to manage Security Settings and add static policy.
l The VENs on affected workloads must be running version 17.2 or later. Earlier ver-
sions of VENs cannot stage static policy. They will apply security policy updates
immediately to workloads even though you configured them to use static policy.
Limitations
l You should provision label gGroups before adding them to static policy.
l In the following situations, a VEN will apply a security update immediately and
will not stage it even though the workload on which the VEN is running is con-
figured to use static policy:
o When you pair a new workload, the VEN applies the policy it receives from
the PCE immediately.
o When a VEN detects tampering, it requests security updates from the PCE
and applies them immediately.
o A VEN is offline when a user applies changes to their workloads. The VEN
comes back online, connects to the PCE, and receives updated OS-level
firewall rules. The VEN applies the updated rules to the workload even
though it is configured to use static policy.
NOTE:
When a VEN goes offline and online, its OS-level firewall rules
can become out-of-sync from the rules of other VENs that
remained online.
See Staged Policy for an explanation of how the VENs stage
policy.
Caveats
Illumio recommends implementing static policy for special cases and advanced users
should oversee the process.
The Illumio Core is designed to ensure that your workloads are protected by the latest
versions of your security policy across your environment. Users provision policy
changes or the PCE responds dynamically to changes in the environment. In both
cases, the PCE re-computes new OS-level firewall rules incorporating the changes,
and sends them to the VENs to be applied immediately.
However, when you configure workloads to use static policy, you override this design
by controlling when the VENs apply the security update to the workloads. As a result,
you can have inconsistent security policy across your managed environment and
cause communication disruptions between workloads.
Troubleshooting communication issues is difficult when the workloads within a scope
are using different versions of a security policy.
Illumio recommends that you keep the number of workloads in your environment that
utilize static policy as low as your business processes allow.
1. From the PCE web console menu, choose Settings > Security.
2. Choose Edit > Manage Policy Update.
The page refreshes with the settings to configure Static as the Policy Update
Mode.
3. Click Add.
A dialog box appears in which you set the scope of the static policy.
4. Select labels to select workloads for static policy.
Staged Policy
Understanding the distinction between using static policy to stage updates to OS-
level firewall rules and provisioning security policy is important because the actions
differ in crucial ways.
When you configure workloads to use static policy, the PCE sends the new OS-level
firewall rules for Linux iptables or the Windows Filtering Platform (WFP) to the VENs
and they stage them locally. The VENs do not apply the new firewall rules imme-
diately. You must select the workloads and explicitly click Apply Policy in the Work-
loads page to activate the staged OS-level firewall rules.
Configuring a set of workloads to use static policy does not eliminate the requirement
to provision policy updates for those workloads. Through provisioning, you update
the PCE's version of your security policy.
When you provision security policy changes, you trigger the PCE to apply these
changes to the workloads. When the workloads are set to use static policy, the VENs
on the workloads will stage the changes until you explicitly click Apply Policy.
However, under certain circumstances, the VENs could apply the latest changes
before you explicitly click Apply Policy. See Static Policy Prerequisites, Limitations,
and Caveats for information.
TIP:
The orange badge on the Provision button (top toolbar) indicates the num-
ber of changes you need to provision. See Provision Changes for more
information.
In addition to segmentation rulesets and rules, you must provision changes to the Illu-
mio policy objects, such as services, IP lists, and label groups. To make security
policies easier to maintain and update, Illumio supports including re-usable policy
objects in intra- and extra-scope rules. When you update a policy object, all the rules
using the object are updated without you needing to change each rule where the
object is included.
When you provision changes to segmentation rulesets and policy objects, the
PCE saves your security policy as a new version. It recomputes the OS-level firewall
rules for all the workloads affected by the change and instructs the VENs on those
workloads to download the updated OS-level firewall rules.
See the following topics related to provisioning:
l Active (Syncing): The PCE is in the process of sending new policy to the VEN.
Typically, this process takes only a few seconds.
NOTE:
Workloads configured for adaptive policy and static policy can
appear in the active (syncing) state while the PCE is sending new
policy.
l Staged: The VEN has received the latest OS-level firewall rules but has not
applied them.
l Active: The VEN has received, applied, and confirmed all policies sent from the
PCE. (Active workloads have a green dot icon.)
For more information about the VEN Policy Sync states, see “VEN Policy Sync” in the
VEN Installation and Upgrade Guide.
Workload Details
The Workload details page provides important information about when and how your
workloads received staged policy.
l The General section indicates whether the workload is configured to use static
policy (Policy Update Mode field) and displays the date and time that the VEN
staged the policy (Last Policy Staged field).
l The VEN section includes the Policy Sync state, which can be active (syncing),
staged, active, error, warning, and suspended.
NOTE:
These fields will not appear in the General or VEN sections when all
your workloads are configured to use adaptive policy.
NOTE:
o Choosing Update Selected Workloads only applies staged
policy. It does not provision pending policy changes for work-
loads that are configured to use adaptive policy even when you
selected them.
o If you applied policy to a subset of workloads with staged
policy, the remaining workloads will continue to use the older
policy.
o The Apply Policy button is enabled only when you have work-
loads with staged policy waiting to be applied.
4. To apply policy to all workloads with staged policy, choose Apply Policy >
Update All Workloads.
NOTE:
If you filtered workloads by label and chose Update All Workloads,
the PCE applies the staged updates to all the workloads matching
that label scope and not just the workloads appearing in the PCE web
console page. See Filter the Workloads List for information about the
Label filter.
The Apply Policy dialog box appears displaying the number of workloads the
staged policy will be applied to.
5. Click OK.
The VEN applies the staged policy and displays the status of the update.
This section describes the policy objects that you can use to write security policies.
Label Types
Label Description
Role This label type allows you to describe the “role” (or function) of a
workload. In a simple two-tier application consisting of a web server
and a database server, there would be two roles: Web and Database.
You can use the same role as many times as you want in other seg-
mentation rulesets for different applications.
Label Description
NOTE:
The Role label cannot be used to define the scope.
Application This label type allows you describe the application that a workload
supports. When two servers in a two tier application have a rela-
tionship with one another because one provides a service (like a data-
base) to another, they likely constitute an application.
If an organization has 100 applications, and each application has a
separate web role and separate database role, the application role
separates each one of the Web and Database role.
Environment This label type allows you to describe a workload based upon its
stage in the product development lifecycle, such as QA, staging and
production.
Location This label type allows you to describe a workload based upon its loc-
ation. For example, Germany, US, Europe, Asia. Or, Rack #3, Rack #4,
Rack #5; or datacenter AWS-east1, AWS-east2, and so on.
Additional Dimensions
A given workload cannot have more than one label per type. It’s possible to allow a
workload that used a service or services or across boundaries to communicate; for
example, if a server is playing multiple roles, such as a database server used by two dif-
ferent applications, Illumio recommends that you create different role labels for that
workload.
Label Description
Role Web, Database, API, Mail, Single Node App, Load Balancer
Environment Production, Stage, Dev, Test
Applications None
Location None
The built-in (default) Environment, Application, and Location labels are defined as
“All,” which enables you to create broad policies to cover All Applications, All Envir-
onments, and All Locations.
To avoid confusing policy writers, Illumio recommends not creating labels named “All
Applications,” “All Environments,” or “All Locations” (exactly as written in quotes).
When you attempt to create labels of these types with the exact name as the system
defaults, for example “All Applications,” an “HTTP 406 Not Acceptable” error will be
displayed.
NOTE:
You can modify or delete these default labels at any time.
Create a Label
1. From the PCE web console menu, choose Policy Objects > Labels.
2. On the Labels page, click Add.
3. Enter a label name (such as, Web) and choose a label type (such as, Role).
4. Click Save.
Label Workloads
You apply labels to workloads to identify their function or purpose in an application
(Role label), the application they belong to (Application label), their network envir-
onment (Environment label), and their location (Location label). After a workload is
labeled, you can write rules using the labels you have applied to the workload.
After you Create a Label, you can label a workload in two ways:
l Automatically label the workloads when you pair them by adding labels in the
pairing profile. (See "Pairing Profiles" in VEN Installation and Upgrade Guide for
Core 21.2.3 VEN.)
l Add labels to the workload on the Workload Summary page. In the PCE web con-
sole, select Workloads and VENs > Workloads from the left navigation menu.
Select a workload, and in the details panel click Edit to select any or all of the
four label types to apply to the workload.
NOTE:
Keep in mind that label changes do not require provisioning, so mass label
changes can potentially have a major impact on your segmentation rule-
sets, rules, and overall security policy.
1. From the PCE web console menu, choose Workloads and VENs > Workloads.
2. From the left side of the Workloads list, select the workloads you want to
change labels for.
3. From the top of the Workloads list, click Edit Labels.
A dialog box appears asking if you are sure you want to edit labels for multiple
workloads.
4. Click OK.
5. In the Edit Labels dialog box, you can add or remove labels assigned to the selec-
ted workloads. The top of the dialog indicates how many workloads will be
affected buy the label change. Depending on the assigned labels, you have three
general options:
o When the selected workloads share the exact same label of a specific type
(for example, Role), you can change the current label by clicking the little X
on the label to remove it. Then, you can type or select a new label assign-
ment.
o When the selected workloads have different labels of the same type, faded
text in the Label field indicates that the workloads contain multiple labels
of that type. You can click in the Label field and add a new label.
o When you remove a label assignment, that label is removed from all selec-
ted workloads.
6. When you are finished, click OK.
Label Groups
Label groups help you write your security policy more efficiently when you use the
same labels repeatedly in segmentation rulesets. When you add those labels to a
label group, the label group can be used in a rule or scope as a shortcut or an alias for
multiple labels. The Label Groups list pages can contain up to 10,000 label groups and
the individual Label Groups pages can contain up to 10,000 members. You can use fil-
ters to find labels or label groups.
For example, you have workloads residing in datacenters in Dallas, New York, and
Washington and you want to apply a rule to all those workloads. Instead of using the
labels for Dallas, New York, and Washington in three separate rules, you can define a
Location label group named US, add those three location labels to the label group,
and use the US label group.
Label groups are displayed as a list that includes the following details:
l Provision status
l Name of the label group
l Type (Role, Application, Environment, Location)
l When it is currently in use by a segmentation ruleset, label group, and static
policy
l Last modified date and time
l User who last modified the label group
NOTE:
You cannot assign a label group to a workload - only individual labels can
be applied to workloads. Label groups can only be used in segmentation
rulesets.
1. From the PCE web console menu, choose Policy Objects > Label Groups.
2. On the Label Groups page, click Add.
3. In the Add Label Group page, choose the label type and enter a name for the
label.
4. Click Save.
5. In the Members tab, enter a label name to find labels to add to the group, and
then click Add. You can add as many labels (or label groups) of the same type to
the group.
The following communication would not be allowed, since the Environment labels are
different and cross-communication is not allowed:
Services
When workloads are paired with the PCE, the VEN discovers all running processes and
services on a workload and makes those services available for use when writing rules.
You can see those discovered services when you view the Processes tab on the Work-
load's details page.
However, you can also create your own to services to specify the service type, as well
as the ports and protocols the services use to communicate.
NOTE:
Service names can be unrestricted, for example, sc.exe qsidtype myservice.
You can write rules with unrestricted service IDs (SIDs). When there is a
restricted SID, you should write rules without the SID. Including the service
with a restricted SID type causes the traffic to be dropped and might cause
traffic between the Reported view and Draft view to be reported inac-
curately.
Service Types
When you create a service, you can choose one of two general types:
l All OS: Port Based: This type of service can be used for writing rules for any
workloads and is defined by specifying a port and protocol, a port range, or in
some cases, only the protocol. For example: 80 TCP, 1000-2000 TCP, 500 UDP. For
GRE or IPIP, you only need to specify the protocol.
l Windows: Process/Service-Based: This type of service can be used for writing
rules for Windows Workloads only and is defined by specifying one of the fol-
lowing combinations or scenarios. The Windows Process Path and the Windows
Service Name must be surrounded by quotation marks:
o Port and/or Protocol, Windows Process, and Windows Service
443 TCP c:\windows\myprocess.exe myservice
514 UDP
o Windows Process
c:\windows\myprocess.exe
o Windows Service
myservice
1. From the PCE web console menu, choose Policy Objects > Services.
The Windows environmental variable can be used to specify the full path. This
can be done by creating a Service of type Windows: Process or Service based
with the environment variables in the Port Protocol text input field
NOTE:
Currently, only the Windows System variable is supported for use in
the process path. For example %systemroot%\myprocess.exe
Rules can be created to allow all system-initiated processes in Windows. This will
allow all traffic related to drivers and other operating system modules. This can be
done by placing the word system (case-insensitive) in the text input field.
To create a service that uses Windows environmental variables:
1. From the PCE web console menu, choose Policy Objects > Services.
2. Click Add.
3. In the Name field, enter system (case-insensitive).
4. From the Operating System drop-down list, select Windows: Process/Service-
based.
5. In Ports & Protocols, specify the port/protocol, separating the port and protocol
with a space. For example:
%systemroot%\myprocess.exe
IGMP Services
IGMP can be added as a service and used in rules to write granular inbound or out-
bound policy for IGMP, which is typically used for multicast. No range is required for
IGMP.
You can export IGMP traffic in JSON, CEF, or LEEF format.
You can also create and update services that use the IGMP protocol by using the Illu-
mio Core REST API. See Services in the REST API Developer Guide for information
about using the REST API to create services.
Caveats
l When IGMP service is used in a rule, all IGMP types are allowed; however, gran-
ular control and specific multicast addresses are not supported.
l IGMP is not supported in the Illumination map.
ICMP Services
ICMP can be added as a service and used in rules to write granular inbound or out-
bound policy for ICMP. ICMP is usually used for traceroute and path MTU discovery.
You can export ICMP traffic in JSON, CEF, or LEEF format.
NOTE:
When these services are blocked, they do not appear in the Blocked Traffic
list and the connection is dropped silently.
ICMP types/codes (such as 0 ICMP or 3/2 ICMP) are supported. The ICMP range is
from 0 to 255.
The following table describes the correct format for each type of supported ICMP rule:
ICMP traffic is displayed in Explorer, similar to TCP/UDP traffic. From the 19.1.0 release
on, you can see ICMP traffic flows in Illumination and the App Groups Map. You can
choose to conceal them by using the filter in Illumination.
You can also create and update services that use the ICMP protocol using the Illumio
Core REST API. See Services in the REST API Developer Guide for information about
using the REST API to create services.
Caveats
Services in a Rule
When you create a rule, you can select a service to indicate the allowed com-
munication between workloads and other entities.
Create a Service
When you create a service, that service becomes available to use in a rule.
For a list of the types of services you can create, see Service Types.
To create a service from the Services page:
1. From the PCE web console menu, choose Policy Objects > Services.
2. Click Add.
3. Enter the service a name and description (optional).
4. Under Attributes, choose whether you want to create a port-based or Windows
service-based service.
5. In the Port and/or Protocol section, click Add and enter the ports, using a space
to separate them from the protocol. If you want to enter a range, separate the
port numbers by a hyphen. You can also copy and paste lists of services here
from another source.
6. When the service uses any UDP ports, enter them as well.
7. Click Save.
NOTE:
The service is not associated with the segmentation ruleset.
Virtual Services
Virtual services (previously known as bound services) allow you to label processes or
services on workloads. Virtual services can either be used directly in rules or the labels
applied to virtual services can be used to write rules.
From the 18.3.1 release on, Illumination, Policy Generator, and Explorer support virtual
services. You have to assign labels to a virtual service in order to write label-based
rules. A virtual service does not have an enforcement, so you need to refer to the
enforcement of its bound workloads.
Virtual services are provisionable objects, which means they must be created and pro-
visioned before they can be applied to workloads. However, the bindings are not pro-
visionable objects, so the bindings can be changed without having to provision the
changes. Additionally, port overrides have been moved from the virtual service to the
workload binding. See Provisioning and Bind a Virtual Service to a Workloadfor more
information.
the web to communicate with the database for each application (HRM or ERP) in the
specified environment (Prod or QA) in the specified location (US or EU):
Virtual Service - HRM
l Name: HRM-DB
l Labels: DB | HRM | Prod | US
l Service: MySQL
l Bound to: Workload - Database 1, Port Override: 3308
l Scope: HRM | Prod | US
l Rule: DB ← From Providers ← Web
l Name: ERP-DB
l Labels: DB | ERP | QA | EU
l Service: MySQL
l Bound to: Workload - Database 1, Port Override: 3309
l Scope: ERP | QA | EU
l Rule: DB ← From Providers ← Web
NOTE:
Custom iptables rules and SecureConnect are not supported with virtual
services.
When you write a rule in a segmentation ruleset, you need to specify the following val-
ues:
l A service
l Providers of the service
l Consumers of the service
For example:
When you write rules using virtual services, you do not need to select a service in the
rule, because the virtual service is both the service and the provider of the service.
For example:
When you want to treat the providers as a virtual service, select “Uses Virtual Ser-
vices” or “Uses Virtual Services and Workloads” from the Providers drop-down list as
the service.
When you want to write a rule applicable for all virtual services labeled “Database,”
you would write it the same way and select “Uses Virtual Services” or “Uses Virtual Ser-
vices and Workloads” as the providing service.
NOTE:
Workloads labeled “Database" are not be impacted by the above rule. To
include them, you need an additional rule listing the specific service applic-
able.
When you want to use a virtual service as a provider, select “Uses Virtual Services” or
“Uses Virtual Services and Workloads” from the Provider drop-down list.
When you select a specific service, then the rule applies only to workloads that have
the selected label.
For example, for the following virtual service rule:
l DB | MySQL | Web
The inbound side of rule is applied to all workloads bound to the virtual service using
the DB label.
l Apply To: Host Network or Internal Bridge Network: This optional setting allows
you to determine if the rules associated with the virtual service are applied over
an internal bridged network or the host network. If you choose Internal Bridge
Network, the rules associated with the virtual service are programmed into the
FORWARD chain on Linux iptables (rules to internal bridge are ignored by Win-
dows in this current implementation). Or, you can specify that a virtual service's
rules are applied over the host network, programmed into the INPUT/OUTPUT
chains in Linux iptables. Stateless rules are not supported when associated with
FORWARD chain; instead, stateful rules are programmed.
l Optional Configuration: IP Overrides: Allows you to specify IP addresses or
ranges (CIDR blocks) to be used for programming the rules associated with the
virtual service instead of using the IP address of the bound workload. When IP
overrides are specified on a virtual service and the virtual service is used in a
rule, the IP addresses programmed on other hosts communicating with the vir-
tual service are the IP addresses and subnets specified in the IP overrides rather
than the IP addresses of the workloads bound to the virtual service.
A combination of stateless rules and forwarding rules on the same host, port, and con-
sumer is not supported. For example, when a workload has a service running on a port
with stateless rules, a forwarding rule to allow traffic to a container running on the
same host using the same port does not work when the consumer is the same.
Host-Only Network
Example of a virtual service rule using host network (default):
When you add an IP override, the subnet 172.16.0.0/16 on the BPS, this rule programs
the following security policy:
The IP override dictates that for device that is allowed to communicate with this vir-
tual service, use the addresses/subnets specified in the IP overrides.
l Service or port
l IP entry or DNS entry (for example, search for *.google.com)
Then, you need to bind it to the workload where the service is running. This binding
instructs the PCE where to enforce the rules for this virtual service.
When you configure two rules with the same service ports and one of the rules is state-
less and the other stateful, the stateless rule takes precedence.
NOTE:
A virtual service must be provisioned before binding it to a workload. See
Provisioning for more information.
1. From the PCE web console menu, choose Policy Objects > Virtual Services.
2. Click Add.
The Add Virtual Service page appears.
3. Enter a name for the service.
4. From the Service drop-down list, select the service or enter a service name.
5. Select a Role, Application, Environment, and Location label.
6. (Optional) Choose whether you want the rules associated with the virtual service
to be applied over an internal bridged network instead of a host network
(default behavior).
o Internal Bridge Network: The rules associated with the virtual service are
programmed into the FORWARD chain on Linux iptables.
o Host only network: The rules associated with the virtual service are applied
over the host network, programmed into the INPUT/OUTPUT chains in
Linux iptables.
7. (Optional) In the IP addresses field, you can override the IP address of the work-
load bound to the virtual service and specify different IP addresses or CIDR
block that will be used for programming the virtual service rules.
8. Click Save.
The virtual service is created and labeled; next, provision it and bind it to a work-
load. See Provisioning for more information.
NOTE:
SecureConnect is not supported for virtual services.
NOTE:
Before binding a virtual service to a workload, the virtual service must be
provisioned. See Provisioning for more information.
1. From the PCE web console menu, choose Policy Objects, > Virtual Services.
2. Select the virtual service you want to bind to a workload.
The Virtual Services details page appears.
3. Click the Workloads tab.
4. Click Bind.
5. In the Workloads drop-down list, select the workload to which you want to bind
this virtual service.
6. To allow this virtual service to use a different port than the one specified, select
the Override ports checkbox.
NOTE:
When you select All Services as the service for the virtual service, you
cannot enable port overrides on the workload bindings.
7. In the Ports/Protocols section, enter the TCP and UDP ports for this virtual ser-
vice to use.
8. Click Save.
IP Lists
IP lists allow you to define allowlists of trusted IP address, IP address ranges, or CIDR
blocks that you want to allow into your datacenter and to be able to access workloads
and applications in your network.
Overview of IP Lists
After you define an IP list, you can use it in segmentation rulesets to create rules for
workload traffic flows. When you provision the segmentation rulesets, the workload
NOTE:
To allow outbound access to IP lists, Illumio recommends using an intra-
scope rule to prevent application of the rule to a broader set of workloads
than intended.
Create an IP List
1. From the PCE web console menu, choose Policy Objects > IP Lists.
2. Click Add.
TIP:
You can copy and paste lists of IP addresses from other sources.
IP List Exclusions
In IP lists, you can exclude certain IP addresses or subnets from a broader IP subnet.
For example, you might want to exclude a list of IP addresses within an IP range that
should not access certain workloads. Or, you might want to open up a set of work-
loads to any IP address (0.0.0.0/0 and ::/0), but exclude a set of IP addresses that
keep attempting unauthorized access to your workloads.
NOTE:
Any (0.0.0.0/0) refers to IP addresses not associated with workloads while
“All workloads” refers to workloads within a scope.
When you use an IP list with exclusions in a rule, any IP addresses that are marked as
exclusions are not allowed, while all the others in the IP list are allowed.
To create IP list exclusions:
l To add a CIDR block but exclude a portion of the CIDR block, enter the following
values:
10.0.0.0/8
!10.1.0.0/24
In this example, the first block would be included and the second block would be
excluded.
Filter IP Lists
You can filter the IP list page using the property filter at the top of the list. You can fil-
ter list by entering an IP list name, description, IP address, FQDN, and provision status
(draft or active).
Load Balancers
Illumio Coresupports activation of enforcement on F5 BIG-IP Local Traffic Manager
(LTM), BIG-IP Advanced Firewall Manager (AFM), and AVI Vantage systems.
IMPORTANT:
From the Illumio Core 19.3.0 release onwards, the Network Function Con-
troller (NFC) is no longer supported. The F5 interface has been moved from
the PCE in to the Network Enforcement Node (NEN).
Since the NFC has been discontinued, you need the NEN to interface with Load Bal-
ancers. The NEN has both switch and load balancer capabilities.
By applying labels to your load balancer's virtual servers, you can write rules that
allow client workloads in front of the load balancer to communicate with the virtual IP
address of the load balancer's virtual servers. By adding labels to the pool members
behind a virtual sever, you can allow communication from the load balancer to the
members of the pool. The source for this communication is determined by the load bal-
ancer. The Illumio Core programs policies on the load balancer to enforce security
policy. The PCE uses the load balancer's REST APIs to read and write security policies
to configure security rules.
The PCE supports configuration of two load balancer units if they are configured in
Active/Standby or Active/Active modes. The PCE needs to be configured with the
user name and password of an administrative user who has read-write access to all
configurations on the load balancer.
The PCE configures new objects on the load balancer and does not alter any existing
configurations. When an Illumio-created object in the load balancer configuration is
modified, the PCE detects it as tampering and modifies the configuration back to the
intended state so that the correct security policy is enforced.
The Illumio Core dynamically adjusts policies on the load balancer based on applic-
ation and topology changes in the datacenter so that the Illumio Core can enforce con-
sistent security policy on load balancers across the datacenter and cloud
environments, as well as show the application traffic in Illumination. The Illumio Core
keeps track of the policy it programmed and reconfigures policy if it was altered on
the load balancer manually or by other means.
The Illumio Core makes use of the following constructs on load balancers:
NOTE:
Configuring two F5 units in Active/Standby mode is supported. However,
F5 vCMP or F5 clustering is not supported.
F5 BIG-IP Requirements
The Illumio Core uses its REST API to program F5 load balancers, which means that F5
needs to be running a software version that supports REST-API. The requirements
include:
NOTE:
A load balancer does not need to be provisioned to work. However, the vir-
tual servers you associate with this load balancer do need to be pro-
visioned.
1. From the PCE web console menu, choose Infrastructure > Load Balancers.
2. Click Add.
3. Specify a name for the load balancer and provide a description.
4. From NEN hostname, select the NEN that you want to manage policy pro-
gramming for this particular SLB.
5. From Device Type, select appropriate load balancer device type.
6. From number of devices, select (1) Standard or (2) HA Pair.
The load balancer details are displayed.
7. Specify the following settings to enable the PCE to connect to the load balancer:
o Management IP address or FQDN of the load balancer
o Port on which to connect
o Username
o Password
8. Select Verify TLS to verify the trust of the TLS certificate provided by the load
balancer before connecting to it.
9. Click Save.
l A virtual IP address (VIP) and port through which the service is exposed
l Local IP address(es) used to communicate with backend servers (pool mem-
bers).
A virtual server is similar to a workload. It can be assigned labels and has IP addresses,
but does not report traffic to the Illumio Core. Each virtual server has only one VIP.
The local IP addresses are used as a source IP address for connections to the pool
members (backend servers) when the virtual server is operating in SNAT mode or
Auto mode. These IP addresses are likely to be shared by multiple virtual servers on
the server load balancer.
A virtual server is identified by a set of labels. The consumers and providers for a vir-
tual server can be assigned different labels, which could place them in the same group
or a different group in Illumination. See Groups in Illumination in the Visualization
Guide for information.
Providers are allowed to have an incomplete label set (for example, only a Location
label), so the providers can be in all groups within the specified location. As a result, a
single virtual server can have providers in any group or in any number of groups in Illu-
mination.
l Enforced or Not Enforced: When you select Enforced, any rules you write using
the labels associated with the virtual servers and any of its members are
enacted. Selecting Not Enforced disables the labels and any policy written that
affects the virtual server or its members is disabled.
l Service: Select the service to use for the rules that allow access to the virtual
server. For example, HTTPD 80 TCP.
l Labels: You must apply one each of the four Illumio labels to the virtual server:
Role, Application, Environment, and Location. Assigning labels enables the vir-
tual server to be used in rules.
NOTE:
Virtual servers are considered a security policy item, so any changes to a vir-
tual server configuration must be provisioned before any of those changes
take effect and become active.
NOTE:
Before any virtual server configuration can go into effect, you need to pro-
vision your changes. See Provisioning in the Security Policy Guide for
information.
1. From the PCE web console menu, choose Infrastructure > Load Balancers.
2. Select the load balancer for which you want to configure virtual servers.
3. In the Add User Group page, enter a name, system identifier (SID), and descrip-
tion for the Active Directory Group.
4. Click Save.
The new Active Directory Group appears in the User Groups list. You can now
use the user group in a segmentation ruleset to control access to specific work-
loads.
NOTE:
A maximum of 100 User Groups can be displayed.
To enact these changes on the workloads this segmentation ruleset affects, provision
your changes. See Provision Changes for more information.
Export Reports
Using the Export Reports feature, you can download PCE objects in JSON and CSV
formats. These reports are very useful when you want to share the data with
application owners, managers, executives, or auditors who do not have access to the
PCE.
l Workloads
l Segmentation Rulesets
l IP lists
l Pairing profiles
l Services
l Labels
l Label groups
l Virtual services
l Virtual servers
This section describes workload attributes, it's enforcements, and how to create man-
aged and unmanaged workloads.
Workload Summary
The workload summary displays information about the workload, including the user-
specified attributes at the time of pairing and information that the Illumio Core has
automatically detected about the workload, specifically:
Workload Processes
In the Workload Processes tab of the Workload detail page, you can view the pro-
cesses currently running on the workload.
For each process running on the workload, the following information is listed:
l Process name
l Server path
l Ports used by the process
l Protocol (for example, TCP or UDP)
To organize the listed items, you can select the column headings to sort the processes
by that attribute. For example, when you click the Protocol column heading, the pro-
cesses are grouped by protocol so that all processes using UDP are listed together
and all processes using TCP are listed together.
NOTE:
On the Workload Processes tab, when you delete the binary for that pro-
cess while the process is running, the PCE appends the process name with
“(deleted).”
The UDP - PCE UI processes tab shows both server and client UDP processes and
ports.
On the Services tab for a workload, both UDP client and server processes show up
along with their port numbers. For TCP, only listening ports/processes are presented.
For UDP, only listening ports/processes should be presented. The information is com-
ing from service-reports sent by VEN once every 24 hours.
Customers depend on this information to understand the provider-processes in their
datacenter and write policies to allow traffic from needed workloads.
Workload Rules
In the Rules tab of the Workload detail page, you can view the rules that are currently
applied to the workload. The Illumio Core has two types of rules:
l Inbound Rules: Show all the services on the workload and the endpoints that are
allowed to communicate with these services.
l Outbound Rules: Show all the endpoints the services on that workload that are
allowed to communicate with.
To apply rules to a workload, create a segmentation ruleset and then make sure that
the ruleset and workloads share the same labels. See Create a Segmentation Ruleset
for information.
NOTE:
The workload rules are listed against individual IP addresses in an ipset. The
PCE places a limit on the size of the returned data. The PCE web console
displays an error message whenever the PCE exceeds a certain number of
rules and that count is the number of peer-to-peer rules calculated for that
workload.
l Use the filter at the top of the Workloads and VENs page to do a label-based
search. For example, you can filter the list to view all workloads that have the
Application label “Application12345.”
l You can filter workloads based on their properties, such as workload name, IP
address, description, hostname, OS family, VEN connectivity, and when a policy
was last applied to or received by the workload, and when was the last heartbeat
received.
Click the Refresh button to refresh the content of the page with the latest information
without clearing the filters or the results.
NOTE:
The auto-complete feature is disabled when the wildcard character is used.
1. In the PCE web console, display the Workloads List page.
2. Look for an alert banner indicating some workloads are in "clone detected"
state. This banner will appear only if, for example, you pair one or more VENs
and then clone the VEN(s).
3. Click the filter link on the banner. The list now shows only the "clone detected"
workloads.
4. Click on one of the "clone detected" workloads. An alert is displayed on the
detail page for that workload.
5. If you stop, unpair, or repair the cloned VEN, you can come back and see that
the messages and alerts are removed from the Workloads List page.
1. From the PCE web console menu, choose Workloads and VENs > Workloads.
2. Click a workload to open the details.
3. Click Edit.
4. In the Network Interfaces section, change interfaces from Managed to Ignored
using the PCE Action drop-down list.
In case you are editing an unmanaged workload, you will not have the option to
ignore the workload using the PCE Action drop-down. That drop-down menu
does not exist for unmanaged workloads. You can still provide information on
the Interface Name and the IP/CIDR address.
NOTE:
Users with the Workload Manager role can manage workloads and VENs.
You can select a VEN(s) to unpair, refresh, and generate support reports. Container
workloads (if any) are displayed under the Container Workloads tab.
Pairing
Policy Mode Unpair Action
Method
Pairing Key Build/Test/Enforced l Uninstalls the selected VEN(s).
l Removes policy for the associated work-
loads.
l Policies are configured in to the host fire-
wall based on options selected in "Select
final firewall status".
Pairing
Policy Mode Unpair Action
Method
Pairing Key Idle l Uninstalls the selected VEN(s).
l Removes policy for the associated work-
loads.
l No changes to the host firewall.
PKI Cer- Build/Test/Enforced l Uninstalls the selected VEN(s).
tificate or Ker- l Associated workloads become unmanaged
beros but retain labels and IP addresses.
l Policies are configured in to the host fire-
wall based on options selected in "Select
final firewall status".
PKI Cer- Idle l Uninstalls the selected VEN(s).
tificate or Ker- l Associated workloads become unmanaged
beros but retain labels and IP addresses.
l No changes to the host firewall.
Container Workloads
The Container Workloads page, lists the containers that exist on the PCE. The Status,
Name, Container ID, and the Labels are displayed. You can click on a container to view
it's details.
Unmanaged Workloads
Unmanaged workloads extend rule-writing capabilities to network entities that are
not paired with the PCE and do not have an installed VEN. Adding unmanaged work-
loads to the PCE allows you to write rules so that workloads that are paired with the
PCE can communicate with those other entities. The policy between workloads with a
VEN and unmanaged workloads is enforced using the outbound rules on the work-
loads where the VEN is running. For Unmanaged workloads, enforcement is displayed
blank.
For example, when you want to ensure that a network file server belonging to an HRM
application is only accessible from the database workloads of the HRM application,
you can add unmanaged workloads for the file servers and use label-based rules to
enforce the policy. The PCE uses the outbound rules on the database workloads run-
ning the VEN to ensure that only the databases labeled HRM are allowed to make out-
bound connections to the network file servers.
TIP:
You can also create an unmanaged Workload from a blocked traffic
IP address. See Create Unmanaged Workload from Blocked Traffic for
information.
1. From the PCE web console menu, choose Workloads and VENs > Workloads.
2. Click Add > Add Unmanaged Workload.
3. In the Add Unmanaged Workload details page, enter a name and description for
the unmanaged workload.
4. In the Label section, select the labels you want to be applied to the unmanaged
workload.
5. In the Attributes section, enter all the relevant information about the unmanaged
workload, such as its hostname, IP addresses, location, and OS.
6. In the Processes section, enter the name and the port and protocol for the pro-
cess.
7. (Optional) In the Machine Authentication ID field, enter all or part of the DN
string from the Issuer field of the end entity certificate (CA Subject Name). Com-
plete this field when you plan to use this unmanaged workload with the
VEN Suspension
You can mark a workload as suspended by using the PCE web console. To suspend a
VEN, choose Workloads and VENs > VENs from the PCE web console menu. Select
your VEN to open its details page and click Mark as Suspended.
For more information about suspending and unsuspending VENs, see VEN Suspension
Using PCE Web Console in the VEN Administration Guide.
Loopback Interfaces
(Works with Linux VENs) VENs can report loopback interfaces and enforce policy on
them.
The VEN reports all interfaces, including loopback interfaces. If the VEN detects an
interface that is a loopback interface, but is not in the standard defined IP block that is
meant for loopback interfaces (127.0.0.0/8), the VEN reports this as a loopback inter-
face to the PCE. If the workload is in the scope where loopback interfaces are to par-
ticipate in policy enforcement, the workload distributes the IP address to peers and
enforces policy on that interface.
The scope where loopback interfaces are to participate in policy enforcement is
defined through the PCE web console.
1. Log in to the web console as a Global Ruleset Provisioner or a Global Org Owner.
2. Choose Settings > Security.
Blocked Traffic
Blocked traffic identifies blocked and potentially blocked traffic among workloads
and other entities managed by the PCE.
IMPORTANT:
In the 19.1.0 release, blocked traffic was marked for deprecation and will be
turned off by default in a future release. When a large number of traffic sum-
maries are reported to the PCE, the blocked traffic functionality consumes
more memory, which can cause side-effects such as:
When upgrading to 19.3.0, Illumio recommends that you turn off blocked-
traffic by setting the appropriate value in the PCE runtime_env file.
The functionality provided by blocked traffic is available in Explorer. In
18.3.1 and later, when the Explorer feature is configured, the Blocked Traffic
page was updated using the Explorer data. The Blocked Traffic page will
continue to work using the data from Explorer.
l Traffic is blocked when a workload is in the enforced state and the PCE doesn't
have rules in the active policy to allow that traffic.
l Traffic is potentially blocked when a workload is in a Visibility Only state and the
PCE doesn't have rules in the active policy to allow that traffic.
Traffic that is blocked in the following ways is reported as blocked traffic in the Illu-
mination map, regardless of the workload enforcement:
Existing connections are reported as static connections during pairing. These con-
nections display as blocked or potentially blocked until new traffic for the connections
is detected.
When you select the blocked connection, the Detail view provides more information
on when the connection was last reported (when available).
The Blocked Traffic page allows you to verify that only unauthorized traffic is blocked
and permitted communication between workloads is not unintentionally blocked
before moving workloads to the enforced state.
You can use the page buttons in the upper left to navigate the listings. You can also
use the Refresh button to refresh the content of the page with the latest information
without clearing the filters or the results.
NOTE:
Only the latest 500 blocked traffic entries are displayed.
l Traffic Type: Specifies whether the traffic is blocked or potentially blocked and
whether it is blocked by the consumer or by the provider.
l Provider: Displays the workload name and IP address of the provider.
l Provider Labels: Displays labels assigned to the provider.
l Service: Displays the process name, port, and protocol information of the traffic
that was reported along with an indication of whether the record was reported
by the consumer or the provider.
NOTE:
For optimal scale and performance, when the PCE has two con-
nections with the same source workload, destination workload, des-
tination port, and protocol but the process or service names are
different, the two connections are combined in the Illumination map.
The process or service name that was part of the most recently repor-
ted connection is displayed.
NOTE:
When the provider reports the record, the information in the consumer
column is grayed out. When the consumer reports the record, the inform-
ation in the provider column is grayed out.
From the 18.3.1 release on, the traffic entries displayed on the blocked traffic page can-
not be removed via the PCE web console.
NOTE:
You can filter blocked traffic using multiple properties at the same time.
Only entries that match all the entered criteria are displayed.
To specify the type of results, click the arrow at the end of the text entry field and
select one or more of the available properties:
l Role
l Application
l Environment
l Location
l Traffic status
l Workload name
After entering your keywords, click Go to the right of the text entry field. The results
display below the text entry field. The following information is included:
Click the IP address in the blocked traffic event and fill out the Unmanaged Workload
page. Once you have converted the IP address into an unmanaged workload, you can
use it in rulesets to allow other managed workloads to communicate with it, or you
can later convert it into a managed workload by pairing it. For more information about
unmanaged workloads, see Unmanaged Workloads.
1. From the PCE web console menu, choose Troubleshooting > Blocked Traffic.
2. From the list of blocked traffic events, under the Consumer column, click any of
the linked IP addresses.
Reject Connections
You can configure Workloads to reject traffic that does not meet the required
policy, instead of blocking it in the Enforced state. You can edit Reject Con-
nections from the Settings > Security menu option.
o Reject blocked inbound traffic: When this setting is applied, the firewall is
configured to send:
o TCP RST for TCP connections
o ICMP port unreachable for UDP connections
o ICMP protocol unreachable for other connections
o Drop disallowed traffic (default).
o The setting acts at the VEN level and not at the interface level. It is selected
by a Label set.
o It is visible on the Workload detail page.
This section describes the ways that you can enforce security policy for your man-
aged workloads. This section assumes that you have already created the policy
objects necessary for your security policy approach, created segmentation rulesets
and rules, and installed VENs on your workloads.
See the following topics and sections for information about those tasks:
NOTE:
SecureConnect (IPv6 compatibility) is not supported on workloads in the
Idle state. When you activate SecureConnect for a rule that applies to work-
loads that are in both Idle and Non-idle enforcement states, it can impact
the traffic between these workloads.
Visibility Only
In the Visibility Only state, the VEN inspects all open ports on a workload and reports
the flow of traffic between it and other workloads to the PCE. In this state, the PCE dis-
plays the flow of traffic to and from the workload, providing insight into the data-
center and the applications running in it. No traffic is blocked in this state. This state is
useful when firewall policies are not yet known. This state can be used for discovering
the application traffic flows in the organization and then generating a security policy
that governs required communication.
Selective Enforcement
Segmentation rules are enforced directionally for selected services when a workload
is within the scope of an Enforcement Boundary.
Full Enforcement
Segmentation rules are enforced for all inbound and outbound services. Traffic that is
not allowed by a segmentation rule is blocked.
Visibility Level
You can choose from three levels of visibility for workloads. These modes allow you to
specify how much data the VEN collects from a workload when in the Full Enforce-
ment state:
l Off: The VEN does not collect any information about traffic connections. This
option provides no Illumination detail and demands the least amount of system
resources from a workload.
This property is only available for workloads that are in the Full Enforcement
state.
l Blocked: The VEN only collects the blocked connection details (source IP, des-
tination IP, protocol and source port and destination port), including all packets
that were dropped. This option provides less Illumination detail but also
demands fewer system resources from a workload than high detail.
l Blocked + Allowed: The VEN collects connection details (source IP, destination
IP, protocol and source port and destination port). This applies to both allowed
and blocked connections. This option provides rich Illumination detail but
requires some system resources from a workload.
Enforcement Boundaries
In the Illumio Core 21.2.0 release, Illumio introduces Enforcement Boundaries, a new
feature to speed your journey toward Zero Trust.
and only permits what you explicitly allow—a better choice in today’s data centers.
The list of what you do want to connect in your data center is much smaller than what
you do not want to connect.
From a security perspective, creating policy based on allowlists is the preferred
method and has the advantage of specifying what you trust explicitly; However, cre-
ating security policy exclusively on the allowlist model has some disadvantages. To
start enforcing policy using the allowlist model, you must have a clear and complete
understanding of all network communication within your data center. It is important
to account for all the connections that must be allowed between your hosts and
applications or you risk business-critical applications breaking. Without this perfect
knowledge, you either leave holes in your security, or you block necessary con-
nections that break application functionality.
l Unlike firewall policies, boundaries provide a simple policy model that does not
depend on rule order.
l Boundaries facilitate a secure path to block traffic to achieve a Zero Trust model.
Enforcement boundaries are separate from allowlist rules. You can use multiple labels
in a boundary or specify a label group. They are not limited by label types. Enforce-
ment boundaries can be applied across a set of workloads, ports, and IP addresses.
You can create an Enforcement Boundary between workloads running different oper-
ating systems. When you use the existing Illumio Core RAEL labels to designate work-
loads by OS, creating an Enforcement Boundary by OS is possible.
You can combine Enforcement Boundaries with allowlist rules in your overall security
policy. Allowlist rules always supersede Enforcement Boundaries. For example, you
might have a server running a legacy NetBIOS file. This server is deployed in your
development environment and must communicate with an application running in your
production environment. You have already created an Enforcement Boundary block-
ing traffic between workloads in the development and production environments. You
workaround this requirement by creating a specific rule allowing NetBOIS traffic to
connect through the ports on the production server.
Summing It All Up
Enforcement Boundaries are…
In this example, the IT organization can effectively block traffic between these two
environments without requiring a complete picture of all port and protocol require-
ments for all applications or hosts in the production environment. No applications are
at risk of breaking in production because required traffic was inadvertently blocked
between applications or hosts in production.
Limitations
l Illumination
In reported view, Illumination displays the traffic within the scope of an Enforce-
ment Boundary as blocked traffic versus potentially blocked traffic. Specifically,
the lines for that traffic are display in red versus yellow. In draft view, you won't
see any change to the traffic and you won't see what traffic is being potentially
blocked.
TIP:
In Illumination, you can detect when a workload is in the Selective
Enforcement state because its icon is a dashed line around the work-
load. Workloads impacted by an Enforcement Boundary must be in
the Selective Enforcement policy state.
l Explorer
In reported view, you can detect that traffic is blocked; however, Explorer does
not distinguish between traffic that is blocked because of full enforcement or
because an Enforcement Boundary is in place.
NOTE:
You can distinguish Enforcement Boundaries in the Draft view of
Explorer and use it for troubleshooting. See Enforcement Boundaries
Explorer Draft View for information.
l Virtual Services
Enforcement Boundaries do not apply to virtual services directly. Virtual services
are enforced at the workload level. As a result, Enforcement Boundaries do not
affect virtual services directly; instead, they affect the workloads that virtual ser-
vices are comprised of.
IP list 1: 10.2.1.0/24
Rule 1: *.dev.illumio.com
FQDN-based rules are not fully supported in Enforcement Boundaries. The PCE
doesn't prevent you from adding FQDNs to an IP list impacted by an Enforcement
Boundary. You can use the IP list in an Enforcement Boundary. However, the PCE
drops the FQDN component when an Enforcement Boundary results in an outbound
deny rule to an IP list with FQDNs and the PCE writes a policy error to its log file.
Based on the example above, the Enforcement Boundary only denies traffic not pre-
viously allowed by the segmentation rule to 10.2.1.0/24 and not to FQDNs matching
the *.dev.illumio.com pattern. Instead, the PCE generates the error message “partial
policy delivered.”
1. Install VENs on the workloads you want to protect with an Enforcement Bound-
ary.
An Enforcement Boundary will only block traffic for managed workloads in the
PCE. For information about installing a VEN on a host, see Workload Setup
Using PCE Web Console. See also the VEN Installation and Upgrade Guide for
Core 21.2.3 VEN for detailed information about installing VENs on hosts.
2. Assign the correct labels to each workload.
For example, to block traffic from your development environment to your pro-
duction environment, you must correctly assign the Environment label to all
necessary workloads. See Labels and Label Groups for information.
TIP:
Using an Enforcement Boundary to accomplish the security mandate
for traffic between dev and prod is more efficient than deploying a full
allowlist model because you need to roll out only the Environment
label rather than defining all four label types for your workloads and in
your segmentation ruleset scopes.
3. Create segmentation rulesets and rules for the workloads you want to protect
with an Enforcement Boundary.
See Segmentation Rulesets and Rules for information.
WARNING:
Before creating an enforcement boundary, you must create the neces-
sary segmentation rulesets and rules because traffic crosses the
boundary and when you create it before putting rules in place, the
PCE will drop the workload traffic until the rules are in place.
4. For the workloads you want to block traffic, move them into the Selective
Enforcement state.
See Place a Workload in Selective Enforcement State.
5. Create an Enforcement Boundary that specifies the labels or IP lists (any IP
range or subnet) to identify which workloads will be impacted by the boundary.
Additionally, the boundary specifies specific services (or all services) to block
traffic for.
See Add an Enforcement Boundaryfor information.
IMPORTANT:
If you have not created any segmentation rules when you add an
Enforcement Boundary, the PCE web console displays a message that
the boundary has 0 segmentation rules. You need to correct this issue
as soon as possible.
TIP:
When selecting a providing service, you can select a specific service
(or set of services) from the drop-down list. Alternatively, you can
select “All Services” from the drop-down list; effectively blocking all
traffic from the traffic provider. For example, you might want to block
all traffic from your development environments reaching production
and you'd select “All Services” for that Enforcement Boundary. See
the example below.
6. Click Save. A progress bar appears while the PCE saves the boundary.
The Enforcement Boundary page refreshes and displays the workloads that will
be impacted by the boundary once you provision it. The Workloads in Scope sec-
tion also provides information about which workloads you must move to the
selective enforcement state for the boundary to protect them.
7. Provision the change. See Provisioning for information.
Example: Enforcement Boundary that blocks traffic between development and pro-
duction
Example: Enforcement Boundary that blocks traffic originating from the WannaCry
service
The following boundary blocks communication for the four ports that are part of the
WannaCry service for all workloads from all the workloads.
TIP:
In the Draft Policy Decision column, click the text for traffic allowed
across a boundary (“Allowed”) or blocked by a boundary (“Blocked”)
to view the details about the boundary.
For more information about Explorer, see Explorer in the Visualization Guide.
Segmentation Templates 97
Policy Generator 106
Segmentation Rulesets 120
Rules 128
Rule Writing 137
FQDN-Based Rules 146
Provisioning 157
This section describes how to create security policy in the Illumio Core. Creating a
security policy is an iterative process. Illumio recommends creating a broad initial
policy, which you can incrementally improve until you establish a sufficiently robust
policy.
See also Rule Creation Approach in the “Overview of Security Policy” section.
Segmentation Templates
Applications can be a complex set of services and processes that have different com-
ponents which communicate with other applications. For example, you might find an
application in your Illumination map that has many processes communicating through
several ports to connect to and receive connections from Active Directory. Some of
these processes, such as Netlogon, can use 10,000 or more dynamic ports as it’s com-
municating with Active Directory. The ports that are used at any given time can be
1. From the PCE web console menu, choose Policy Objects > Segmentation Tem-
plates.
A dialog box appears prompting you to log into the Illumio Support portal.
(While you are logged into the PCE web console, you only have to log into the
Illumio Support portal once.)
2. Click Log In and, if prompted, enter your Illumio Support portal username and
password. (Illumio Secure Cloud customers are automatically logged into the Illu-
mio Support portal.)
NOTE:
Internet connectivity is not required to use the Segmentation Tem-
plates. When you are connecting to the PCE web console from a
device that does not have internet connectivity, you must access the
Illumio Support portal from another device that has internet con-
nectivity and download the templates locally to that device before
you can use them. See Upload a Segmentation Template.
The Illumio Support portal automatically redirects you back to the Segmentation
Templates page and the templates appear in the page. The templates are organ-
ized by operating system.
3. To view the contents of a Segmentation Template, click its name or icon.
The Segmentation Template details page describes the template and lists all the
policy objects that belong to the template. Policy objects appear as hyperlinks
when they have already been installed by another template. (Templates can
share policy objects.)
l Labels
l Label groups
l IP lists
l Segmentation Rulesets
Some templates contain all the segmentation rulesets, services, and labels needed to
secure a given application. Other templates contain port-based service definitions
only.
Dynamic Processes and Ports
Using Segmentation Templates is especially useful in Microsoft environments, which
must accommodate a range of dynamically used ports for RPC. Other Microsoft applic-
ations (such as Active Directory) require opening dynamic port ranges. Rather than
opening only the ports in use, network-based solutions leave open an entire range of
ports, effectively leaving the security environment wide open.
The Illumio PCE is service and process aware. Because of this, installing Segmentation
Templates can protect against dynamic processes (like Netlogon) and add the correct
policy to open only the ports that are active at a time.
Segmentation Templates are designed to use the specific processes and path used by
the server rather than dynamic ports and apply the exact set of fine-grained seg-
mentation rules required for protection.
Sharing Policy Objects
Services, labels, label groups, and IP lists can be used by more than one Segmentation
Template. A segmentation ruleset, however, is never used by multiple templates.
Identifying Policy Objects Added by Templates
You can identify all objects added to the PCE that are part of Segmentation Tem-
plates. In the External Data Set field of the object’s details page, the PCE identifies
these policy objects by labeling them using the following convention:
IST – type_of_object
(Where IST stands for Illumio Segmentation Template)
Additionally, the PCE provides full names to increase readability. For example, “IST -
[AD] - Client to Domain Controller” appears as “IST - Active Directory Client to
Domain Controller.”
NOTE:
In Segmentation Templates, policy objects are named using the following
convention: IST – type_of_object
The PCE tracks all objects associated with Segmentation Templates by their names. In
Segmentation Templates, these policy objects are named using the following con-
vention:
IST – type_of_object
Changing the policy object name does not affect the PCE validation that it is installed;
however, using the Illumio API to edit the External Data Reference field does affect
the PCE validation that it is installed.
NOTE:
Illumio strongly recommends you do not change the IDs in the External
Data Reference fields.
l When you remove a policy object associated with a template after the template
is installed, the PCE will re-add the object when the template is updated.
For example, you remove the common LDAP service, which is associated with a
Segmentation Template. When Illumio releases an update for the template,
installing that update will re-add the common LDAP ports to the PCE.
l When you edit the attributes of policy objects associated with a template (for
example, edit the ports or protocols of a service, or the scope or rules of a seg-
mentation ruleset), the PCE web console will prompt you to specify whether to
preserve or overwrite your changes when you update the template to the next
version.
organization. The time that the check takes depends on the number of policy
objects in your organization. When f the PCE finds any conflicts during the
check, it cancels the installation and doesn’t install any policy objects. You are
prompted to rename the conflicting objects.
When the check is successful, the PCE adds the included policy objects in Draft
mode so that you can review or edit them before provisioning them. See Pro-
visioning for more information.
As the policy objects are added, links to the objects appear in the template
details page.
NOTE:
Global policy objects—such as All Services and Any (0.0.0.0/0 and
::/0)—don’t include links in the Segmentation Template details page
to the objects.
1. Log into the Illumio Support portal with your Illumio Support username and pass-
word.
2. Click Tools > Illumio Segmentation Templates.
3. Navigate to the Segmentation Templates and download them locally.
4. Log into the PCE web console and choose Policy Objects > Segmentation Tem-
plates.
The Segmentation Templates dialog box appears.
5. Click Load File.
A dialog box appears prompting you to specify the Segmentation Template file
to upload.
6. Click Choose File.
NOTE:
Later versions of templates are fully backwards compatible with previous
versions.
NOTE:
If you have edited multiple policy objects associated with a template, you
must choose whether to overwrite or preserve all your changes. You can-
not overwrite some and preserve some.
The PCE updates the version numbers of all policy objects associated with the tem-
plate even when the new template changes only a subset of the objects associated
with the template.
NOTE:
Segmentation Templates can share policy objects; therefore, a policy
object can have a later version than a template it’s associated with because
the object was updated by another template. For example, you can have
version 1 of a template installed and it includes version 2 of some policy
objects.
Policy Generator
The Policy Generator simplifies the Illumio policy creation process by recommending
the optimal security policy for your App Groups. You can use it to accelerate security
workflows and reduce the risk of human error while creating security policy.
can generate rules for applications running on physical devices, virtualized platforms,
and behind network devices on-premises or deployed in the cloud.
Policy Generator supports the creation of DNS-based rules under all the wizards
(intra-scope, extra-scope, and IP lists). You can edit the proposed virtual services and
add wildcards.
Application owners use the Policy Generator to write the following types of rules for
the applications they manage:
l Intra-scope rules
l Extra-scope rules
l Rules using IP lists.
For more information about each rule type, see Segmentation Rulesets, Rules, and IP
Lists.
For a selected App Group, the Policy Generator provides:
NOTE:
The Policy Generator calculates rule coverage automatically every 24
hours or after creating a draft ruleset.
You can rewrite rules as your datacenter needs change and the Policy Generator
will show you the before and after effect of those rules.
l A way to assess your current rule coverage, which represents the number of
detected connections that are controlled by rules divided by the total number of
connections.
l Visualization of the traffic between roles associated with a specific application,
as represented by App Groups.
l Options to select the level of granularity for new rules; see About Granularity
Levels for Rules for information.
The first time you use the Policy Generator for an App Group, it creates a new draft
ruleset with the title of the selected App Group. When you use Policy Generator again
to create additional rules, it adds them to the existing ruleset that was created by the
Policy Generator. You review the proposed rules and can customize them before you
save them into a draft ruleset. For Windows, the Policy Generator detects and sug-
gests Windows process- and service-based rules accordingly. You can edit the service
before saving it.
NOTE:
You must provision the rules to apply them to workloads. See Provisioning
for more information.
When an App Group has several consumers communicating with a specific provider,
the Policy Generator merges all the consumers into one rule for easy readability and
better scalability.
On the Summary tab of the Ruleset page, any rulesets created with Policy Generator
have the default description “Automatically generated using the Illumio Policy Gen-
erator” and the value of illumio_policy_generator for the External Data Set field. The
value for the External Data Reference is the App Group name.
l You cannot add Role-level rules until Role labels have been added to all work-
loads in the App Group.
When some workloads in an App Group do not have Role labels, you can still
write an App Group level rule using Policy Generator to allow all the workloads
to communicate with each other.
l Rule coverage is updated one App Group at a time.
Intra-Scope Rules
Granularity
Description
Level
App Group (Also known as micro-segmentation or Ringfencing) All workloads in
Level the App Group can communicate with each other across all services.
This option is best for creating a broad initial policy that can be further
refined later if needed.
Role Level - All workloads with a specific Role label can communicate with all work-
All Services loads with Role labels matching the observed flows across all services.
This option is useful for restricting role-to-role traffic between work-
loads when you have many core services that need to communicate
with these workloads. When a workload is missing the Role label, the
Policy Generator excludes that connection from the wizard.
Role Level - (Also known as nano-segmentation) All workloads with a specific Role
Specified label can communicate with all workloads with Role labels matching
Services the observed flows across specified services, based on the collected
traffic flow summaries. When a matching port/protocol cannot be loc-
ated in an existing service, a new service with the necessary port/-
protocol is created when the proposed rules are saved. Use this option
to create the most restrictive policy.
4. In the Choose Intra-Scope Rule Configuration section, select a granularity level
for the rules.
See Create Intra-scope Rules with Policy Generator for a description of these
rule granularity levels.
The detected connections (including details such as provider, port/protocol, and
consumer) appear in the Review All Connections section.
NOTE:
The Policy Generator displays a truncated list of ports and protocols
when the App Group has more than four types of ports or protocols.
To display the remaining ports or protocols in a modal window, click
the + More link.
5. (Optional for Role level) To exclude a connection from the proposed rules, click
Exclude. The row is grayed out to indicate that no rules will be proposed for this
connection and the amount of rule coverage decreases. To include an excluded
connection, click Include.
NOTE:
At least one connection must be included to continue.
7. (Optional) To edit the service for a rule, click the pencil icon beside a ser-
vice. The Edit Service dialog box appears.
Select a service from the drop-down list or create a new one. You can select ser-
vices that have broader ranges of ports. The list includes every service that
matches that port and protocol. When you’ve added a service that has multiple
ports and protocols or ranges, they all appear in the list.
Select Apply Changes to all matching ports to allow the service to be used in
other rules that match that service. You are prompted to allow the Policy Gen-
erator to merge rules. To cancel the merge, reload the page and start over.
When you create a process-based service, the connection appears like it’s not
covered.
For information about creating a service, see Create a Service.
8. To accept the proposed rules, click Save and OK.
The Policy Generator Successful message appears which displays the number of
new rules and services. The rules are added to a draft ruleset. Click Continue
with App Group to add extra-scope rules or rules using IP lists for the same App
Group. On the last step of the Policy Generator, you can return to the App Group
to add or append to the rules.
NOTE:
You must provision the rules to apply them to workloads. See Pro-
visioning for more information.
1. From the PCE web console menu, choose Policy Generator.
The Select App Group page appears. The page displays when the Policy Gen-
erator last calculated the coverage for each type of rule. Click the refresh icon to
recalculate rule coverage.
2. Select an App Group.
See Segment Multiple App Groups with Policy Generator for information about
adding App Group level rules for multiple App Groups.
3. Click the Start with Extra-Scope button.
The Extra-Scope App Group Selection page appears.
4. Select one or more Consuming App Groups and click Next.
For each App Group, the Policy Generator displays the current number of con-
nections and connections covered by a rule.
NOTE:
Consuming App Groups with 100% rule coverage are not displayed in
the page.
The row is grayed out to indicate that no rules will be proposed for this con-
nection and the amount of rule coverage decreases. To include an excluded con-
nection, click Include.
9. To preview the rules proposed by Policy Generator, click Next.
The Extra-Scope Rule Preview page appears.
10. (Optional) To edit the service for a rule, click the pencil icon beside a service.
The Edit Service dialog box appears.
Select a service from the drop-down list or create a new one. You can select ser-
vices that have broader ranges of ports. The list includes every service that
matches that port and protocol. When you’ve added a service that has multiple
ports and protocols or ranges, they all appear in the list.
Select Apply Changes to all matching ports to allow the service to be used in
other rules that match that service. You are prompted to allow the Policy Gen-
erator to merge rules. To cancel the merge, reload the page and start over.
When you create a process-based service, the connection appears like it’s not
covered.
For information about creating a service, see Create a Service.
11. To accept the proposed rules, click Save and OK.
The Policy Generator Successful message appears, which displays the number of
new rules and services. The rules are added to a draft ruleset. Click Continue
with App Group to add intra-scope rules or rules using IP lists for the same App
Group.
NOTE:
You must provision the rules to apply them to workloads. See Pro-
visioning for more information.
1. From the PCE web console menu, choose Policy Generator.
The Select App Group page appears. The page displays when the Policy Gen-
erator last calculated the coverage for each type of rule. Click the refresh icon to
recalculate rule coverage.
2. Select an App Group.
See Segment Multiple App Groups with Policy Generator for information about
adding App Group level rules for multiple App Groups.
3. Click the Start with IP Lists button.
The IP List Selection page appears.
4. Select the IP lists for which you want to write rules and click Next.
The Configure IP List page appears.
TIP:
o To view the IP addresses configured in a list (not the IP
addresses in the traffic), expand an IP list by clicking the arrow
icon in the Name column.
o To write rules covering all connections, select the Any IP list.
This list covers all connections because it includes all the IP
addresses.
o Each IP address can be part of more than one IP list and you can
choose which list to write your rules to.
o When you choose overlapping IP lists, you can write over-
lapping rules.
When an IP address is in more than one IP lists, the rule is going
to be in all those IP lists.
o You can write rules for inbound and outbound connections, or
both. For example, you can write permissive rules for outbound
traffic, and specific rules for inbound traffic.
TIP:
o To display the IP addresses of the traffic for each port and pro-
tocol, hover over the info (i) icon in the Consumer column.
o To filter connections by the IP address of the traffic, port num-
ber, protocol, role, and label, use the search field above the list
of connections. You can use the search field to find and exclude
specific traffic.
o To quickly include or exclude all traffic, use the Include and
Exclude buttons by the search field. You can exclude all traffic,
then selectively include specific connections.
8. (Optional) To edit the service for a rule, click the pencil icon beside a service.
The Edit Service dialog box appears.
Select a service from the drop-down list or create a new one. You can select ser-
vices that have broader ranges of ports. The list includes every service that
matches that port and protocol. When you’ve added a service that has multiple
ports and protocols or ranges, they all appear in the list.
Select Apply Changes to all matching ports to allow the service to be used in
other rules that match that service. You are prompted to allow the Policy Gen-
erator to merge rules. To cancel the merge, reload the page and start over.
When you create a process-based service, the connection will appear like it’s not
covered.
For information about creating a service, see Create a Service.
9. To accept the proposed rules, click Save and OK.
The Policy Generator Successful message appears, which displays the number of
new rules and services. The rules are added to a draft ruleset.
When segmenting App Groups, the Policy Generator creates one ruleset per App
Group. The ruleset includes a rule that covers traffic for all workloads to all workloads
on all services.
1. From the PCE web console menu, choose Policy Generator.
The Select App Group page appears. The page displays when the Policy Gen-
erator last calculated the coverage for each type of Rule. Click the refresh icon
to recalculate rule coverage.
2. In the Select App Group down-down menu, select Segment Multiple App Groups
from the bottom of the list.
The Choose App Groups page appears.
3. Select the App Groups to segment and click Next.
TIP:
o To recalculate rule coverage for an App Group, hover over the
Last Calculated column and click the refresh icon. The column
displays the time that the rule coverage was calculated.
The column indicates whether the ruleset for the group has been
edited since the last calculation and triggers you to recalculate
it.
o To quickly select App Groups using different criteria, click the
arrow icon to the right of the Name column:
o The Choose App Groups page displays all your App Groups
regardless of their percentage of rule coverage or whether they
have connections. For example, the page displays App Groups
that have 100% rule coverage and groups with zero connections.
Segmentation Rulesets
You can use segmentation rulesets to write policy so the workloads in your applic-
ation can communicate with each other. A segmentation ruleset consists of rules and
scopes:
NOTE:
The Role label should not be used in the scope.
For example, a scope (or collection of workloads that the rules are applied to) is
defined as ERP | Prod | US, which means that the rules apply to any workload that
meets the following three requirements:
That example is relatively simple, but combining rules and scopes can be used to cre-
ate complex security policies.
For example, the following ruleset (scope + rules):
Scope
App Env Loc
HRM Prod US
Rules
Providers Services Consumers
DB MySQL App
App Tomcat Web
Web Apache Corp-HQ
Allows the following communication:
Scope
App Env Loc
HRM All US
Rule
Providers Services Consumers
DB MySQL App
Means “The HRM application in the US can initiate communications between the
DB and the App in any environment” and allows the following communication:
Scopes
App Env Loc
HRM Prod US
HRM Dev US
Rule
Providers Services Consumers
DB MySQL App
This rule and scope states: “Workloads using the HRM application in the Prod envir-
onment in the US can initiate communications between the DB and the App and work-
loads using the HRM application in the Dev environment in the US can initiate
communications between the DB and the App,”
The rule and scope do not state: “Workloads using the HRM application in the Prod
and Dev environment in the US can initiate communications between the DB and the
App”
This example allows the following communication:
Scope
App Env Loc
HRM All US
Rules
Providers Services Consumers
Prod MySQL Dev
DB MySQL DB
Means “Allow the database used by the HRM application in the Dev environment to
communicate with the database used by the HRM application in the Prod envir-
onment” and allows the following communication:
Scope
App Env Loc
All All US
Rules
Providers Services Consumers
HRM MySQL ERP
Prod MySQL Dev
DB MySQL DB
Means “Allow the database used by the ERP application in the Dev environment loc-
ated in the US to communicate with the database used by the HRM application in the
Dev environment located in the US” and allows the following communication:
Scopes
App Env Loc
All Dev US
All Prod EU
Rules
Providers Services Consumers
HRM MySQL ERP
Scopes
App Env Loc
All Dev US
All Prod EU
Rules
Providers Services Consumers
DB MySQL DB
Allows the following communication:
NOTE:
When the service in a rule is DNS, the consumer must be an IP List.
NOTE:
Illumio recommends creating no more than 500 rules per ruleset, or the
PCE web console will not be able to display all of the rules. If you want to
create a ruleset with more than 500 rules, Illumio recommends splitting the
rules across multiple rulesets, or use the Illumio Core;REST API, where there
is no limit on the number of rules you can create per ruleset.
The following task creates a single scope, which means the rules in the ruleset apply
to a single group. To apply the rules to another group, add a second scope, which is
indicated by the group's Application, Environment, and Location labels.
1. From the PCE web console menu, choose Rulesets and Rules > Segmentation
Rulesets.
The Segmentation Rulesets page appears.
2. Click Add.
3. Enter a name for the segmentation ruleset.
4. Select Application, Environment, and Location labels for the ruleset.
These three labels define the scope for your ruleset, which is the range or bound-
ary of your ruleset. The scope defines the workloads affected by this ruleset,
which is all workloads that share the same labels in the scope.
5. Click Save.
Now that the ruleset is created, you can add rules to define your security policy. See
Rules for information about the types of rules you can add.
1. From the PCE web console menu, choose Rulesets and Rules > Segmentation
Rulesets.
The Segmentation Rulesets list page appears.
2. Click Add.
3. Enter a name for the ruleset.
4. In the Scope section, set the Application, Environment, and Location label by
selecting the them from the drop-down lists.
5. After you select the three labels, click Save.
The page refreshes and the Scopes and Rules tab appears.
NOTE:
The green Addition Pending icon that this addition is pending, so you need to pro-
vision the new segmentation ruleset in order for the rule to take effect. See Pro-
visioning for more information.
NOTE:
This task contains the steps to define multiple-scopes in the segmentation
ruleset. For information about rules to the ruleset, see Rules.
1. From the PCE web console menu, choose Rulesets and Rules > Segmentation
Rulesets.
The Segmentation Ruleset list page appears.
2. Click the Scopes and Rules tab, and then click Duplicate Ruleset.
The Duplicate Ruleset page appears.
3. Rename the copy of the ruleset.
NOTE:
The default name is “Copy of [Ruleset Name]” (where [Ruleset Name]
is the name of the original Ruleset).
After saving the new duplicate ruleset, make any needed scope or rule changes and
then provision to apply them. See Provisioning for more information.
Rules
Rules can allow communication between multiple applications or entities in different
scopes or the same scope. To write a rule, you need to define three things: A service, a
provider of the service, and a consumer of the service. You also need to select the
type of rule:
About Rules
Illumio supports the delegation of rule writing using role-based access control
(RBAC). Application administrators can only edit rules where the scope of
the segmentation ruleset matches the scopes where they have administrator priv-
ileges. They cannot create or manage segmentation rulesets if the scope includes
“All.”
Rule types allow the application administrator to write rules that allow other applic-
ations to communicate with the applications that they manage without requiring
global administrator privileges. This feature allows users to group rules required for
inter-application and intra-application communication for a specific application into
one segmentation ruleset.
You can combine multiple types of rules (intra-scope, extra-scope, and custom ipt-
ables) in a single segmentation ruleset. They can be used to either Create a Seg-
mentation Ruleset or Create a Ruleset with Multiple Scopes.
From 18.2.0 version on, you can use multiple services or ports and protocols in a rule.
This approach helps reduce the number of rules in your PCEs, which helps improve the
PCE performance.
Intra-scope Rules
Intra-scope rules allow authorized users to write rules that allow communication
between providers and consumers within a specific scope. This rule type is typically
used to allow communication between workloads that belong to the same application.
For intra-scope rules, the labels used in the scope must match the labels used for both
the provider and the consumer. If you don't specify a Label, “All” is used by default.
Example:
In this example, all Database workloads with the labels HRM | US | Dev can accept
MySQL connections from all Web workloads with the labels HRM | US | Dev.
Extra-scope Rules
Extra-scope rules allow authorized users to write rules that allow communication
between applications. Specifically, you can write rules that allow providers within a
scope to be accessed by consumers that can be in or outside the specified scope. For
extra-scope rules, the labels used in the scope must match the labels used by the pro-
vider. If you don't specify a label, “All” is used by default.
Example:
In this example, all Database workloads with the labels HRM | US | Dev can accept con-
nections on MySQL from all workloads with the label Web, irrespective of other labels.
The MySQL might not belong to the application HRM (for example, the consumers are
“Global” and are not restricted by the labels in the scope).
NOTE:
If the RBAC user's scope coverage type is “Providers and Consumers,” the
user cannot select an IP list as the consumer. To select an IP list as a con-
sumer in a rule, the scope coverage type must be “Providers Only.” For
more information, see IP Lists and Role-based Access Control in the
PCE Administration Guide.
Custom iptables rules consist of a list of iptables statements and the entities that
receive the rules. Each rule can consist of a list of iptables rules, which allows users to
group a sequence of rules for a specific function. The custom iptables rules are pro-
grammed after the Illumio PCE generates the iptables rules, but prior to the last
default rule.
Before they is sent to the VEN, the custom iptables rules are checked for any unsup-
ported tokens (such as names of firewall chains already in use by Illumio, matches
against IP sets, and semicolons). If an unsupported token is included, the rule cannot
be saved or provisioned.
If the VEN fails to apply a custom iptables rule because of a missing package or an
incorrectly formatted rule:
l The error is reported to the PCE and is logged in the organization events
l The error is displayed in the VEN policy sync status
l The new policy is not used and the last known successful policy is used instead
For policy distribution and enforcement, the VEN creates a custom chain that con-
tains the rules for each table or chain in the iptables. Each custom chain is appended
to the end of its corresponding chain in the correct table. When the VEN requests the
policy, the iptables command is sent, including the chain where it should be placed.
For security reasons, custom iptables rules only support rules in the mangle, nat, and
filter tables.
The following table describes the permitted actions for each iptables type:
NOTE:
If the RBAC user's scope coverage type is “Providers and Consumers,” the
user cannot manage custom iptables rules. To allow access to custom ipt-
ables rules, the scope coverage type must be “Providers Only.” For more
information, see Role-based Access Control in the PCE Administration
Guide
Stateless Rules
By default, all rules you write in the PCE are stateful, which means that the host's fire-
wall keeps track of a connection for the entire duration of the session.
For Linux workloads, you can specify stateless packet filtering for a rule
(“stateless”: true). This means that the VEN instructs the host's firewall to not maintain
persistent connections for all sessions. You can create this type of a stateless rule for
datacenter core services, such as DNS and NTP.
If you add a stateless rule to a policy that has both Windows and Linux workloads in
its scope, then that rule is configured as a stateful rule on the Windows workload.
Caveats
In a stateless rule, you can add the following policy objects as consumers:
l An individual workload
l A label (one each of a specific type, up to four total)
l Any IP list plus All workloads
WARNING:
Existing active connections on workloads allowed by a stateless rule (for
example, an SSH session) are terminated when workloads receive new rules
from the PCE. Those connections need to be reestablished by the clients.
For this reason, Illumio recommends that you use stateless rules for ser-
vices that use high-frequency short-lived connections, such as DNS and
SNMP.
l Segmentation Rule Search allows you to quickly find rules that apply to a set of
providers and consumers.
l Providers and consumers can be represented by a workload, an IP address, or a
set of labels.
l Using this feature helps you identify rules that are getting applied to your work-
loads due to unnecessarily broadly applicable rulesets or human errors.
1. From the PCE web console menu, choose Rulesets and Rules > Segmentation
Rule Search.
The Segmentation Rule Search page appears.
2. Search for Active or Draft rules.
3. Perform a Basic or Advanced search of your rules:
o Basic: Searches all attributes
o Advanced: Searches by provider, consumer, or both.
NOTE:
When you perform an advanced search by workload name, the
search results do not display the IP list rules when the iplist con-
tains workload IP addresses because the Illumio Core does not
resolve CIDRs and ranges within an IP list.
4. From the Results drop-down list, choose to either have the exact match of the
selected search filters to be displayed or a match to any of the selected filters
(All Results).
5. Click the Column drop-down list to select the attributes you want to be dis-
played in the search results.
6. Filter options to further narrow your search.
7. Under the Ruleset column, select a ruleset and make changes to the rules.
8. Click Download to download the results of your search.
You can download up to 500 rules in the CSV format.
Policy Check
The Policy Check feature allows you to determine if a rule allowing communication
between workloads or a workload and another IP address already exists. On the Policy
Check page, you select two workloads or IP addresses to determine if a rule exists to
allow communication between them.
NOTE:
You can do a policy check between two workloads, or a single workload
and single IP address.
For example, you have created several segmentation rulesets for your workloads and
applications and you want to know whether your organization has an existing rule for
that traffic before you start writing new rules that duplicate those existing rules.
To perform a policy check:
1. From the PCE web console menu, choose Troubleshooting > Policy Check.
2. In the Consumer field, type or select a workload or IP address.
3. In the Provider field, type or select a workload or IP address.
4. In the Provider Port and Protocol field, enter a port and protocol when the con-
nection is running over TCP or UDP, or just a protocol when the connection is
running over GRE or IPIP.
6.
NOTE:
The status column does not display any values. For more information,
you can do a detailed search using the Segmentation Rule Search fea-
ture.
When a rule does not exists, the page displays “No Rules exist to allow that con-
nection.”
Rule Writing
This topic explains how to create the different types of rules in the Illumio Core. For
descriptions of the types of rules, see Rules.
TIP:
You can also use the Illumination map to write rules. For information, see
Write a Group-Level Segmentation Rule in the Visualization Guide.
1. If necessary, create a Segmentation Ruleset or open an existing one. See Seg-
mentation Rulesets for information.
2. In the Intra-Scope Rules section, click the Add icon (+).
3. From the Consumers drop-down list, select or type the name of the consumer of
the service.
NOTE:
The consumer must match the Segmentation Ruleset scope.
4. In the Providers drop-down list, select or type the name of the provider of the
service (for example, Database) . You can select from a range of entity types
that match the scope, such as an individual workload, a virtual service, or an
unmanaged workload.
5. From the Providing Service drop-down list, select a service (for example, Post-
greSQL).
NOTE:
Only one service or all services can be selected.
7. After completing your selections, click the Save icon ( ) at the end of the row
for that rule.
NOTE:
To edit this rule, click the Edit icon at the end of the row.
After adding a rule, the Status column displays a green Addition Pending icon.
To enforce this rule, you must provision the change. For more information about
provisioning, see Provisioning.
1. If necessary, create a Segmentation Ruleset or open an existing one. See Seg-
mentation Rulesets for information.
2. In the Extra-Scope Rules section, click the Add icon (+).
3. From the Consumers drop-down list, select the consumer of the service.
NOTE:
The consumer does not need to match the Segmentation Ruleset
scope.
4. In the Providers drop-down list, select or type the name of the provider of the
service (for example, Database). You can select from a range of entity types that
match the scope, such as an individual workload, a virtual service, or an unman-
aged workload. For a full list of permitted provider and consumer combinations
in a rule, see Permitted Rule Writing Combinations.
5. From the Providing Service drop-down list, select a service (for example, Post-
greSQL).
NOTE:
Only one service or all services can be selected.
7. After completing your selections, click the Save icon ( ) at the end of the row
for that rule.
NOTE:
To edit this rule, click the Edit icon at the end of the row.
After adding a rule, the Status column displays a green Addition Pending icon.
To enforce this rule, you must provision the change. For more information about
provisioning, see Provisioning.
NOTE:
Creating custom chains is not supported.
l Receivers column: Shows the labels representing the resource that receives the
custom iptables rule.
l IP Version column: Specifies the IP version used for this traffic.
l iptables Rules applied to Scope column: Contains the entire iptables.
1. If necessary, create a Segmentation Ruleset or open an existing one. See Seg-
mentation Rulesets for information.
2. From the Rules drop-down menu, select the Custom iptables Rule.
3. In the Type or select a label by name drop-down list, select the entity or entities
that will receive the iptables rules by selecting or typing a label name.
NOTE:
More than one label can be selected. When you select labels as receiv-
ers, the custom iptables rules are sent only to workloads matching
those labels and not virtual services or virtual servers.
4. From the drop-down IP Version drop-down list, select the IP version (IPv4 or
IPv6).
5. Type or paste the iptables commands into the Type or paste a custom iptables
rule field. Supported iptables display in green. Unsupported iptables or iptables
with errors display in red.
NOTE:
The iptables commands must begin with -t. To delete a row, use
Shift+Delete.
6. After completing your selections, click the Save icon ( ) at the end of the row
for that rule.
NOTE:
To edit this rule, click the Edit icon at the end of the row.
After adding a rule, the Status column displays a green Addition Pending icon.
To enforce this rule, you must provision the change. For more information about
provisioning, see Provisioning.
When you provision a new custom iptables rule, the VEN performs basic validation
before applying on the Linux workload host firewall. If this validation test fails, the
VEN will log an event and switch to an Error State. If the validation is successful, the
VEN installs the custom iptables rules before the last default rule.
NOTE:
Ordering is not guaranteed across custom iptables rules. Any iptables rule
that is closely tied to or depends on other iptables rules must to be written
as part of the same rule. For example, when you have three iptables rules to
allow ICMP Types 3, 8, 13 and another rule to drop other types of ICMP
traffic, all four of these iptables rules must be a part of the same ruleset.
2. Create a service with the correct port (for example, Stock-Feed-Service: UDP
5800).
3. In the ruleset, you create these two rules:
3. In the Create Service pop-up that appears, enter a name for the service in the
Name field and optionally a description in the Description field.
4. In the Attributes section, choose whether you want to create a Port-Based or
Windows Service-Based service.
5. In the Ports section, enter the ports (including any UDP ports) used by the ser-
vice. To enter a range, separate the port numbers by a hyphen (-). You can also
copy and paste lists of services. To delete a row, use Shift+Delete.
6. Click OK.
l To modify an existing rule, click the edit icon ( ) at the end of the rule row.
l To modify or remove an existing rule, open the Edit menu for that rule at the end
of the row.
l To remove multiple rules, select their checkboxes and click the remove (–) icon (
l To filter your existing rules, click the Filter icon ( ) in the Rules header row at
the top of the page. The filter drop-down menu appears. Click the drop-down
list and select an option to filter rules by label, IP lists, label groups, virtual ser-
vices, virtual servers, workloads, user groups, services, All workloads, or Any
(0.0.0.0/0 and ::/0). If there are no rules that match the selected criteria, a mes-
sage appears indicating that no rules match your filter criteria.
l After creating or modifying a rule, an icon appears in the Provision Status
column indicating the current provisioning status of the rule (for example, Addi-
tion Pending or Removal Pending).
NOTE:
You must provision the changes after adding a note to a rule.
Details:
l To indicate the rule contains a note, the following icon is displayed in the Note
column:
l To edit an existing note, select the note icon. The entry field displays the existing
text. Make any needed changes, then click the Save icon in the lower-right to
save the changes to the note.
Duplicate a Rule
1. Select the ruleset on the Segmentation Rulesets page.
2. Select the drop-down list next to the Edit button of the rule to be duplicated.
3. Select Duplicate. The rule is duplicated in Edit mode, allowing you to make any
needed changes.
4. Click Save.
After saving the duplicate rule, you must provision the ruleset changes to apply them.
Reverse a Rule
To expedite the rule writing process, you can duplicate and reverse existing rules. The
entity selected as the provider in the original rule will be the consumer in the reversed
rule and the entity selected as the consumer in the original rule will be the provider.
Caveats:
l Only intra-scope rules are supported. Extra-scope and custom iptables rules can-
not be reversed.
l Only rules that use the following resources are supported: Labels, label groups,
workloads, IP lists, All workloads, and Any.
l When you do not have sufficient privileges due to RBAC, an error message dis-
plays.
l Only one rule can be reversed at a time.
l When the original rule is disabled, the reversed rule is disabled as well.
needed changes.
4. Click Save.
After saving the reversed rule, you must provision the ruleset changes to apply them.
Reorder Rules
Ruleset owners have the ability to rearrange rules in a specific order to improve read-
ability on the Segmentation Rulesets details page. Different rule types can be
reordered independently.
After reordering the rules, you must provision the changes for them to take effect.
Rearranging rules does not affect the order in which they are enforced in the policy.
NOTE:
You can only reorder rules in rulesets that you own. For more information,
see Role-Based Access Control in the PCE Administration Guide
To customize the arrangement of the rules, click Reorder Rules on the Scopes and
Rules tab of the Segmentation Ruleset details page.
When you hover over a rule, it is highlighted in the list. To move it, drag and drop the
rule to its new location in the list. The other rules are rearranged to accommodate the
move. When you place the rule in its new location, the numbers of the rules are reas-
signed to reflect the new order. If you delete a rule, it remains in place but is appended
with “Deletion Pending.” When you have finished rearranging the rules, click Save
Order to confirm the new order for the rules.
NOTE:
If more than one user is reordering the rules at the same time, the most
recent changes are saved.
FQDN-Based Rules
Applications across datacenters and cloud environments are responsible for a vast
amount of east-west traffic. This traffic is the result of communication between work-
loads, including bare-metal, virtual machines, and containers. However, many applic-
ations might need to communicate with services, such as SaaS, PaaS or external
registries. These services are coupled with an IP address but that address might be
unknown or the services might only be reachable by a URL because their IP addresses
are frequently changing. This situation introduces a challenge to security teams
because security policies are based on IP addresses or subnets. Administrators can
DNS Enforcement
The Illumio Core allows security teams to write allowlist policies that allow com-
munications across workloads or between workloads and IP addresses. FQDN-based
enforcement allows users to control which DNS hostnames or FQDNs that each man-
aged workload can communicate to without the user needing to understand the IP
addresses tied to that FQDN. Once an FQDN gets allow-listed by the policy, the PCE
sends firewall instructions to the VEN and the VEN creates an FQDN policy table. This
policy table tracks the allow-listed FQDN as well as which ports and protocols the
workload is allowed to use for outbound communication to the FQDN. The VEN also
checks the local DNS cache table for IP listings.
Wildcards
The FQDN-based rules support wildcards such as *.google.com, s3*.aws.amazon.com,
and proc1.azure*.com. Wildcards are expanded to zero or more of the characters in [a-
z|A-Z|0-9|-]. Wildcards are allowed at the end of the FQDN, for example www.-
google.*.
Illumio recommends the use of wildcards for the same patterns. This will help reduce
rather than increase the number of FQDN-based rules with the same patterns. For bet-
ter performance, when you write FQDN-based rules, limit the number of rules to
around a 100 entries.
FQDN Visibility
Illumio does not require any new configuration to gain visibility into outbound traffic
towards FQDNs. However, you can create Illumio policy objects to represent an FQDN
or a list of FQDNs. In the following example, Illumination presents outbound FQDN
flows when there are no policy objects created. A web server is fetching updates from
us-west-1.ec2.archive.ubuntu.com.
You can create an Illumio policy object, such as an IP list or a virtual service to rep-
resent the FQDN shown in this example.
IP List
By default, you can leverage IP lists to describe IP ranges, groups, and subnets. From
the 19.1.0 release on, you can use IP lists to describe FQDNs.
You can use the previous example (us-west-1.ec2.archive.ubuntu.com) to create an IP
list for FQDNs:
1. From the PCE web console menu, choose Policy Objects > IP Lists.
2. Click Add.
3. Enter a name (can be a custom name).
4. In the IP Addresses and FQDNs field, enter one or multiple FQDNs (wildcards are
supported).
5. Click Save.
6. Provision the changes.
Based on the example above, these methods of describing the specific FQDN are sup-
ported or unsupported.
Supported
l us-west-1.ec2.archive.ubuntu.com
l us-west-1.ec2.*.ubuntu.com
l *.ec2.*.ubuntu.com
l us-*.ec2.archive.ubuntu.com
The syntax below is supported; however, it does not describe the FQDN in the
example.
l ubuntu.com
l *.ubuntu.com
You can use a wildcard in the IP list, such as *.ec2.archive.ubuntu.com as shown below.
Virtual Service
When you have created an IP list to describe the FQDN, you do not need to create a
virtual service to describe the same FQDN.
You should only create a virtual service for an FQDN when you do not want to create
an IP list:
1. From the PCE web console menu, choose Policy Objects > Virtual Services.
2. Click Add.
o Enter a name.
o Enter a service or port.
o Enter your R-A-E-L labels for the FQDN.
o Click Add FQDN and enter an FQDN.
3. Click Save.
4. Provision the changes.
Based on the example above, these methods of describing the specific FQDN are sup-
ported or unsupported.
Supported
l us-west-1.ec2.archive.ubuntu.com
l us-west-1.ec2.*.ubuntu.com
l *.ec2.*.ubuntu.com
l us-*.ec2.archive.ubuntu.com
The syntax below is supported; however, it does not describe the FQDN in the
example.
l ubuntu.com
l *.ubuntu.com
IP List
The syntax and ruleset structure for IP list policies does not change for FQDNs.
See the following example:
Virtual Service
Writing a policy against a virtual service for an FQDN is the same as writing a policy
for an IP-based virtual service.
See the following example that uses the Ubuntu Repo (*.ec2.archive.ubuntu.com):
Provisioning
When you provision updates, the PCE recalculates any changes made to rulesets, IP
lists, services, label groups, and security settings, and then transmits those changes to
all VENs installed on your workloads.
When your PCE has changes that need to be provisioned, the orange badge on the
Provision button indicates the number of changes that need to be provisioned.
l Rulesets
l Rule notes
l IP lists
l Services
l Label groups
l Security settings
l Virtual services
l Virtual servers
NOTE:
You cannot partially provision resources with more than 500 depend-
encies. All changes must be provisioned at the same time.
the latest provisioned policy changes and the progress for applying the policy
changes to those workloads.
l View the previous policy change by clicking View the last commit
l View a list of provisioned changes by clicking View Provision History
NOTE:
If multiple subsequent policy changes have been provisioned, the number
is the total number of workloads that have not yet received all provisioned
policy changes, not just the most recently provisioned changes.
During this process, if you navigate to another page, the policy synchronization will
continue and a window in the lower-right displays the number of workloads pending
synchronization with the latest policy.
To return to the Provisioning page, click the window in the lower right corner or select
Provisioning from the drop-down Provisioning list.
When the provisioning completes successfully, a confirmation message displays.
NOTE:
If multiple users simultaneously provision changes, the Provisioning pro-
gress indicator is updated to show the new changes, so all users will see the
same Provisioning progress indicator.
Policy Versions
Each time you provision changes to policy items (such as rulesets, services, IP lists,
label groups, and security settings), the entire set of changes you provisioned
receives a version number. You can view the history of your policies and view their dif-
ferences.
You can select a previous version to see information about that specific version. By
default, the PCE retains only the last 1000 versions of the policy and automatically
removes the older versions for improved performance. When a new change is pro-
visioned, the oldest version of the policy is removed.
1. From the PCE web console toolbar, click the Provision button and choose Policy
Versions.
The Provision History page appears, which displays the history of the last pro-
visions in your organization.
2. To view details about the changes, click one of the items. For the selected item,
you can see the changes that were provisioned in this version.
Provision Changes
If you have made any changes to provisionable objects, such as rulesets, IP lists, ser-
vices, label groups, and security settings, you need to provision those changes before
they can take effect.
1. From the PCE web console toolbar, click the Provision button > Draft Changes.
The Draft Changes page appears, which displays a list of all policy items that
have been added, modified, or removed. The top of the page shows a summary
of changes based on item type.
2. Select one, several, or all the items you want to provision.
3. Click Provision to see a preview of the changes that will occur when you pro-
vision them.
NOTE:
When you selectively choose items to provision, some of those items
might have dependencies that are also published. Any object depend-
encies are also be provisioned.
4. You can add a note to the provision. If a note is mandatory, the Confirm & Pro-
vision button is grayed out until you enter text in the field. After you enter appro-
priate text in the field the button is enabled.
For information about making provisioning notes mandatory, see Provisioning
Note Setting.
5. Click Confirm & Provision to push all the policy changes to workloads.
1. From the PCE web console toolbar, click the Provision button > Draft Changes.
The Draft Changes page appears, which lists all security policy items have been
added, modified, or removed. You also see a summary of changes based on item
type.
2. Select individual items to revert or you can revert all changes.
3. Click Revert.
Restore Policy
With the policy restore feature, you can revert to an older version of the policy when
the newly provisioned policy did not work as expected.
NOTE:
You need to be a Global Administrator or Global Organization Owner to
use this feature.
The older version of the policy is copied to the current working draft version. You can
immediately provision it to replace the version that is not working.
When there are pending changes, you cannot restore to a previous version. If you try
to restore to this version, it will result in references to deleted non-versioned objects
such as labels and workloads, the restore will fail, and an error message will be dis-
played.
To revert to an older policy version:
1. Choose Provision > Policy Versions from the PCE web console menu or from the
top-right provision menu.
The policy versions are displayed under the Version column.
2. Click Restore for the policy version that you want to revert to.
3. Click Save as Draft to restore the policy to the selected version.
4. Review the draft changes and click Provision to restore the policy to the selec-
NOTE:
You must have the correct role and permissions to access this feature. If
necessary, contact your Illumio administrator for assistance.
1. From the PCE web console menu, choose Settings > Policy Settings.
The Policy Settings page appears. By default, this option is set to No.
2. Click Edit.
3. Change the Require Provision Note option to Yes.
4. Click Confirm.
5. Click Save.
SecureConnect 167
AdminConnect 174
This section describes SecureConnect and AdminConnect, which are Illumio provided
encryption options.
SecureConnect was developed for host-to-host traffic encryption between paired
workloads. AdminConnect was developed to get control access to network resources
based on Public Key Infrastructure (PKI) certificates.
SecureConnect
Enterprises have requirements to encrypt in transit data in many environments, par-
ticularly in PCI and other regulated environments. Encrypting in transit data is straight-
forward for an enterprise when the data is moving between datacenters. An
enterprise can deploy dedicated security appliances (such as VPN concentrators) to
implement IPsec-based communication across open untrusted networks.
However, what if an enterprise needs to encrypt in transit data within a VLAN, data-
center, or PCI environment, or from a cloud location to an enterprise datacenter?
Deploying a dedicated security appliance to protect every workload is no longer feas-
ible, especially in public cloud environments. Additionally, configuring and managing
IPsec connections becomes more difficult as the number of hosts increases.
Our Solution
SecureConnect leverages the built-in encryption libraries of host operating systems.
On Windows hosts, SecureConnect utilizes Windows IPsec. On Linux hosts,
SecureConnect utilizes StrongSwan and Linux kernel IPsec for traffic encryption.
With SecureConnect, Illumio delivers a feature that configures the Security Asso-
ciations (SAs) necessary to enable traffic encryption between workloads. Once
authenticated, encryption and cryptographic suites provide confidentiality and data
integrity to network traffic flowing between workloads.
The PCE centrally manages all traffic encryption for workloads so that it can be policy
driven. For example, a customer can require that all traffic between their web servers
and database servers is encrypted. Selecting the SecureConnect option for these
workloads allows the PCE to apply the requisite security policy to your organization
to make that happen. SecureConnect reduces the complexity of configuring IPsec
encryption and auto-scales per your policy definitions.
Use Cases
Employing SecureConnect is especially beneficial in these common scenarios:
Features of SecureConnect
SecureConnect has the following key features.
Platforms Supported by SecureConnect
SecureConnect works for connections between Linux workloads, between Windows
workloads, and between Linux and Windows workloads.
IPsec Implementation
SecureConnect implements a subset of the IPsec protocol called Encapsulating Secur-
ity Payload (ESP), which provides confidentiality, data-origin authentication, con-
nectionless integrity, an anti-replay service, and limited traffic-flow confidentiality.
In its implementation of ESP, SecureConnect uses IPsec transport mode. Using trans-
port mode, only the original payload is encrypted between the workloads. The original
IP header information is unchanged so all network routing remains the same.
However, the protocol being used will be changed to reflect the transport mode
(ESP).
Making this change causes no underlying interfaces to change or be created or any
other underlying networking infrastructure changes. Using this approach simply obfus-
cates the data between endpoint workloads by encrypting the data between them.
If SecureConnect is unable to secure traffic between two workloads with IPsec, it will
block unencrypted traffic when the policy was configured to encrypt that traffic.
IKE Versions Used for SecureConnect
SecureConnect connections between workloads use the following versions of Internet
Key Exchange (IKE) based on workload operating system:
For a list of supported operating systems for managed workloads, see the VEN OS
Support and Package Dependencies on the Illumio Support portal (login required).
Using Pre-Shared Keys with SecureConnect
SecureConnect includes the option of using pre-shared keys (generated by the PCE)
or client-side PKI certificates for IKE authentication.
You can configure SecureConnect to use pre-shared keys (PSKs) to build IPsec tun-
nels that are automatically generated by the PCE. SecureConnect uses one key per
organization. All the workloads in that organization share the one PSK. SecureCon-
nect uses a randomly generated 64-character alpha-numeric string, for example:
c4aeb6230c508063db3e3e1fac185bea9c4d17b4642a87e091d11c9564fbd075
When SecureConnect is enabled for a workload, you can extract the PSK from a file in
the /opt/illumio directory, where the VEN stores it. You cannot force the PCE to regen-
erate and apply a new PSK. If you feel the PSK has been compromised, contact Illumio
Customer Support (login required).
NOTE:
Illumio customers accessing the PCE from the Illumio cloud can have mul-
tiple Organizations. However, the Illumio PCE does not support multiple
Organizations when you have installed the PCE in your datacenter.
l You must have a PKI infrastructure to distribute, manage, and revoke certificates
for your workloads. The PCE does not manage certificates or deliver them to
your workloads.
l The PCE supports configuring only one global CA ID for your organization.
l The VEN on a workload uses a Certificate Authority ID (CA ID) to authenticate
and establish a secure connection with a peer workload.
Connected workloads must have CA identity certificates signed by the same root cer-
tificate authority. When workloads on either end of a connection use different CA IDs,
the IKE negotiation between the workloads will fail and the workloads will not be able
to communicate with each other.
VEN Versions
To use PKI certificates with SecureConnect, your workloads must be running VEN ver-
sion 17.2 or later.
Ports
Enabling SecureConnect for a workload routes all traffic for that workload through
the SecureConnect connection using ports 500/UDP and 4500/UDP for NAT tra-
versal and for environments where ESP traffic is not allowed on the network (for
example, when using Amazon Web Services). You must allow 500/UDP and
4500/UDP to traverse your network for SecureConnect.
In this example, it appears that enabling SecureConnect will only affect MySQL traffic.
However, when you enable SecureConnect for a rule to encrypt traffic between a data-
base workload and a web workload over port 3306, the traffic on all ports between
the database and web workloads is protected by IPsec encryption.
File Requirements
File Requirements
Issuer's cer- The global CA certificate, either root or intermediate, in PEM or DER
tificate format
File Requirements
NOTE:
On Linux, the issuer's certificate must be readable by the Illu-
mio user.
pkcs12 con- Archive containing the public key, private key, and identity certificate
tainer generated for the workload host.
Sign the identity certificate using the global root certificate.
You can password protect the container and private key but do not
password protect the public key.
Installation Locations
Windows Store
Use the Windows OS, for example Microsoft Management Console (MMC), to import
the files into these locations of the local machine store (not into your user store).
Linux Directories
Copy the files into the following Linux directories. (You cannot change these dir-
ectories.)
NOTE:
When SecureConnect is enabled on a VEN, it is not disabled when the VEN
is suspended.
1. From the PCE web console menu, choose Rulesets and Rules > Segmentation
Ruleset.
The Segmentation Rulesets page appears.
2. Create a new ruleset or open an existing one. See Segmentation Rulesets for
information.
3. In the ruleset, select the Scopes and Rules tab.
4. If necessary create an intra-scope or an extra-scope rule. See Rule Writing for
information. To edit an existing rule, click the edit icon at the end of the row.
5. To enable SecureConnect for the rule, select SecureConnect from the Providing
Service drop-down list.
When you enable SecureConnect for a rule, the PCE duplicates symmetrical encryp-
tion for both sides of the connection.
AdminConnect
Relationship-based access control rules often use IP addresses to convey identity.
This authentication method can be effective. However, in certain environments, using
IP addresses to establish identity is not advisable.
Overview of AdminConnect
When you enforce policy on servers for clients that change their IP addresses fre-
quently, the policy enforcement points (PEPs) continuously need to update security
rules for IP address changes. These frequent changes can cause performance and
scale challenges, and the ipsets of protected workloads to churn.
Additionally, using IP addresses for authentication is vulnerable to IP address spoof-
ing. For example, server A can connect to server B because the PEP uses IP addresses
in packets to determine when connections originate from server A. However, in some
environments, bad actors can spoof IP addresses and impact the PEP at server B so
that it mistakes a connection as coming from server A.
Illumio designed its AdminConnect (Machine Authentication) feature with these types
of environments in mind. Using AdminConnect, you can control access to network
resources based on Public Key Infrastructure (PKI) certificates. Because the feature
bases identity on cryptographic identity associated with the certificates and not IP
addresses, mapping users to IP addresses (common for firewall configuration) is not
required.
With AdminConnect, a workload can use the certificates-based identity of a client to
verify its authenticity before allowing it to connect.
Features of AdminConnect
Cross Platform
Microsoft Windows provides strong support for access control based on PKI cer-
tificates assigned to Windows machines. Modern datacenters, however, must support
heterogeneous environments. Consequently, Illumio designed AdminConnect to sup-
port Windows and Linux servers and Windows laptop clients.
AdminConnect and Data Encryption
When only AdminConnect is enabled, data traffic does not use ESP encryption. This
ensures that data is in cleartext even though it is encapsulated in an ESP packet.
When AdminConnect and SecureConnect are enabled for a rule, the ESP packets are
encrypted.
Ease of Deployment
Enabling AdminConnect for identity-based authentication is easy because it is a soft-
ware solution and it does not require deploying any network choke points such as fire-
walls. It also does not require you to deploy expensive solutions such as Virtual
Desktop Infrastructure (VDI) or bastion hosts to control access to critical systems in
your datacenters.
Limitations
You cannot enable AdminConnect for the following types of rules:
l AdminConnect does not support “TCP -1” (TCP all ports) and “UDP -1” (UDP all
ports) services.
l You cannot use Windows Server 2008 R2 or earlier versions as an AdminCon-
nect server.
l Windows Server does not support more than four IKE/IPsec security asso-
ciations (SAs) concurrently from the same Linux peer (IP addresses).
1. From the PCE web console menu, choose Rulesets and Rules > Segmentation
Rulesets.
The Segmentation Rulesets page appears.
2. Create a new ruleset or open an existing one. See Segmentation Rulesets for
information.
3. In the ruleset, select the Scopes and Rules tab.
4. If necessary create an intra-scope or an extra-scope rule. See Rule Writing for
information. To edit an existing rule, click the edit icon at the end of the row.
5. To enable AdminConnect for the rule, select Machine Authentication from the
Providing Service drop-down list.
NOTE:
AdminConnect is displayed as Machine Authentication in the services
drop-down lists.
The page refreshes and the Providing Service column indicates that AdminCon-
nect is enabled for that Rule.
7. To apply the changes to the applicable workloads, provision the changes. See
Provision Changes for information.
1. Deploy a PKI certificate on the laptop. See “Certificates for AdminConnect” in
the PCE Administration Guide
2. Add the laptop to the PCE by creating an unmanaged workload and assign the
appropriate labels to it to be used for rule writing
3. Create rules using those labels to grant access to the managed workloads. See
Enable AdminConnect for a Rule for information.
4. Configure IPsec on a laptop.
1. From the PCE web console menu, choose Workloads > Add > Add Unmanaged
Workload.
The Workloads – Add Unmanaged Workload page appears.
2. Complete the fields in the General, Labels, Attributes, and Processes sections.
See Add an Unmanaged Workload for information.
3. In the Machine Authentication ID field, enter all or part of the DN string from the
Issuer field of the end entity certificate (CA Subject Name). For example:
CN=win2k12, O=Illumio, OU=Portal, ST=CA, C=US, L=Sunnyvale
TIP:
Enter the exact string that you get from the openssl command output.
Global Settings:
----------------------------------------------------------------------
IPsec:
StrongCRLCheck 0:Disabled
SAIdleTimeMin 5min
DefaultExemptions NeighborDiscovery,DHCP
IPsecThroughNAT Server and client behind NAT
AuthzUserGrp None
AuthzComputerGrp None
AuthzUserGrpTransport None
AuthzComputerGrpTransport None
StatefulFTP Enable
StatefulPPTP Enable
Main Mode:
KeyLifetime 60min,0sess
SecMethods ECDHP384-AES256-SHA384
ForceDH Yes
Categories:
BootTimeRuleCategory Windows Firewall
FirewallRuleCategory Windows Firewall
StealthRuleCategory Windows Firewall
ConSecRuleCategory Windows Firewall
Ok.