Azure Security
Azure Security
Azure Security
Infrastructure
Yuri Diogenes
Dr. Thomas W. Shinder
Debra Littlejohn Shinder
PUBLISHED BY
Microsoft Press
A division of Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
First Printing
Foreword
Introduction
Index
— MARK RUSSINOVICH
CTO, Microsoft Azure
July 2016
Introduction
STAY IN TOUCH
Let’s keep the conversation going! We’re on Twitter
at:
http://twitter.com/MicrosoftPress
Chapter 1. Cloud security
Compliance
When organizations migrate to the cloud, they need to
retain their own compliance obligations. These
obligations can be dictated by internal or external
regulations, such as industry standards that they need
to comply with to support their business model. Cloud
providers must be able to assist customers to meet
their compliance requirements via cloud adoption. In
many cases, cloud service providers will become part
of the customer’s chain of compliance.
To enable customers to meet their compliance needs,
Microsoft uses three major practices, which are:
Compliance foundation
Trustworthy technology
Compliance process investment
Third-party certification
Assistance for customers to meet their compliance
needs
Transparency
Choice
Flexibility
Partnership with industry leaders
Development of standard frameworks
Engagement with lawmakers and regulators
Consider working closely with your cloud provider to
identify your organization’s compliance needs and verify
how the cloud provider can fulfill your requirements. It is
also important to verify whether the cloud service
provider has a proven record of delivering the most
secure, reliable cloud services while keeping customers’
data as private and secure as possible.
More
More Info
Info
For more information about the Microsoft approach to compliance, go to
blogs.microsoft.com/on-the-issues/2016/04/07/new-resources-microsoft-
support-customer-privacy-cloud-compliance.
Risk management
When customers adopt cloud computing, it is
imperative that they are able to trust the location used
by the cloud service provider. Cloud service providers
should have policies and programs that are used to
manage online security risks. In a cloud environment,
risk management must be adapted to how dynamic
the environment is.
Microsoft uses mature processes based on long-term
experience delivering services on the web for managing
these new risks. As part of the risk management process,
cloud service providers should perform the following
tasks:
Identify threats and vulnerabilities to the
environment.
Calculate risk.
Report risks across the cloud environment.
Address risks based on impact assessment and
the associated business case.
Test potential remediation effectiveness and
calculate residual risk.
Manage risks on an ongoing basis.
Customers should work closely with cloud service
providers and demand full process transparency to be
able to understand risk decisions, how this will vary
according to the data sensitivity, and the level of
protection required by the organization.
Identity and access management
Nowadays, when users are working on different
devices from any location and accessing apps across
different cloud services, it is critical to keep the user’s
identity secure. With cloud adoption, identity
becomes the new perimeter. Identity is the control
pane for your entire infrastructure, regardless of the
location: on-premises or in the cloud. You use identity
to control access to any services from any device, and
you use it to get visibility and insights into how your
data is being used.
Organizations planning to adopt cloud computing
must be aware of the identity and access management
methods available and how these methods integrate with
their current on-premises infrastructure. Some key
considerations for identity and access management are:
Identity provisioning
Identity provisioning requirements can vary
according to the cloud computing model:
software as a service (SaaS), platform as a
service (PaaS), or infrastructure as a service
(IaaS).
Evaluate how to more securely automate the
identity provisioning by using the current on-
premises infrastructure.
Federation
Evaluate the methods available and how to
integrate these methods with the current on-
premises infrastructure.
Single sign-on (SSO)
Evaluate the organization’s requirement for
SSO and how to integrate it with current apps.
Profile management
Evaluate cloud service provider options and
how these options map with the organization’s
requirement.
Access control
Evaluate cloud service provider options to
control data access.
Enforce Role-Based Access Control (RBAC).
Operational security
Organizations that are migrating to the cloud should
also modify their internal processes adequately to
map to the cloud. These processes include security
monitoring, auditing, incident response, and
forensics. The cloud platform must enable IT
administrators to monitor services in real time to
observe health conditions of these services and
provide capabilities to quickly restore services that
were interrupted.
You should ensure that deployed services are
operated, maintained, and supported in accordance with
a service level agreement (SLA) established with the
cloud service provider and agreed to by the organization.
The following list provides additional considerations for
operational security in the cloud:
Incorporate organizational learning throughout
the process.
Adopt industry standards and practices for
operations, such as National Institute of
1
Standards and Technology (NIST) SP 800-53.
1
For more information about this standard, go to
nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-
53r4.pdf.
Endpoint protection
Cloud security is not only about how secure the cloud
service provider infrastructure is. Later in this
chapter, you will learn more about shared
responsibility, and one of the items that organizations
are responsible for when adopting cloud computing is
to keep their endpoint secure. Organizations should
consider increasing their endpoint security when
adopting cloud computing, because these endpoints
will be exposed to more external connections and will
be accessing more apps that could be living in
different cloud providers.
Users are the main target of the attacks, and
endpoints are the primary objects that are used by users
to consume data. The endpoint can be the user’s
workstation, smartphone, or any device that can be used
to access cloud resources. Attackers know that the end
user is the weakest link in the security chain, and they
will continue to invest in social engineering techniques,
such as phishing email, to entice users to perform an
action that can compromise the endpoint. Consider the
following security best practices when planning for
endpoint protection in your cloud security strategy:
Keep endpoint software up to date.
Use automatic deployment to deliver definition
updates to endpoints.
Control access to the download location for
software updates.
Ensure that end users do not have local
administrative privileges.
Use the principle of least privileges and role-
based administration to grant permissions to
users.
Monitor endpoint alerts promptly.
Important
Important
Securing privileged access is a critical step to establishing security
assurances for business. You can read about Privileged Access
Workstations (PAWs) at aka.ms/cyberpaw and learn more about the
Microsoft methodology to protect high-value assets.
Data protection
When the subject is cloud security, the ultimate goal
when migrating to the cloud is to ensure that the data
is secure no matter where this data is located. The
data goes through different stages; the stage depends
on where the data will be located at a certain point in
time. Figure 1-1 illustrates these stages.
FIGURE 1-1 Different data stages by location
Cloud
Cloud security
security considerations
considerations
I tell friends that in the 1990s, if I needed a dozen servers for a new
project, it would take four to six months to forecast, order, deliver, rack,
network, configure, and deploy those servers before the team could begin
testing the production service. Today, in Azure, I can do the same thing in
30 minutes, from my phone.
Jim Molini
Senior Program Manager, C+E Security
SHARED RESPONSIBILITY
In a traditional datacenter, the IT organization is
responsible for the entire infrastructure. This is how
on-premises computing has worked from the
beginning of modern client/server computing (and
even before that, in the mainframe era). If something
was wrong with the network, storage, or compute
infrastructure, the IT organization was responsible for
finding out what the problem was, and fixing it.
The same went for the security organization. The
security organization worked with the IT organization as
a whole to ensure that all components of the IT
infrastructure were secure. The corporate security
organization set requirements, rationalized those
requirements with the corporate IT organization, and
then defined controls that could be implemented by the
IT infrastructure and operations staff. The security
organization also defined compliance requirements and
was responsible for auditing the infrastructure to make
sure that those requirements were met on an ongoing
basis.
All of this is still true for the on-premises datacenter.
However, with the introduction of public cloud
computing, the IT and security organizations have a new
partner—the cloud service provider. The cloud service
provider has its own IT infrastructure and is responsible
for the security requirements and controls implemented
on that infrastructure.
This means you need to not only be aware of and
define your own security requirements, you need to also
be able to have enough visibility into the security
infrastructure and operations of your cloud service
provider. The extent to which you need to do this
depends on the cloud security model your company is
using on the cloud service provider’s infrastructure.
Cloud computing
This section provides a quick review of cloud
computing so you have a common understanding of
what cloud computing is and what it is not. This will
help you understand how cloud security works in the
cloud and how it is the same in most respects, and
different in some key areas, from traditional
datacenter computing.
“Assume
“Assume breach”
breach” does
does not
not mean
mean “assume
“assume failure”
failure”
We adopt the “assume breach” concept as a mental guideline to use when
designing security services and not as resignation to failure. In a “prevent
breach” environment, we’d often build strong perimeter controls, but pay
less attention to compartmentalization inside the organization. Remember
the old concept of hard outside and soft, chewy center? Nevertheless, the
ongoing threat from bad actors requires better thinking.
Jim Molini
Senior Program Manager, C+E Security
Important
Important
Azure administrators should use Role-Based Access Control (RBAC)
provided by Azure to delegate appropriate permission to users. Read
more about RBAC at azure.microsoft.com/documentation/articles/role-
based-access-control-configure.
More
More Info
Info
For more information about Azure Active Directory, see Chapter 2,
“Identity protection in Azure.” For more information about Network Security
Groups, see Chapter 3, “Azure network security.”
Going deeper into the Azure layers, you have the
Azure fabric. Microsoft is responsible for managing this
fabric and securing its resources. This fabric manages
compute and storage, allocating resources and ensuring
that it can recover in case of a hardware failure. In this
level, redundancy and fault tolerance are primordial to
deliver the service according to the service level
agreement (SLA).
1
According to the Verizon 2015 data breach investigation
report, 95 percent of the incidents involved some sort of
credential theft from customers’ devices. This number
shows that it is imperative that any organization that
wants to increase its level of security must have a good
identity protection strategy in place. The same report
shows that in August 2015, 1.2 billion credentials were
compromised, which was linked to one of the biggest
data breaches in 2015.
1
Go to www.verizonenterprise.com/DBIR/2015 to download this
report.
AUTHENTICATION AND
AUTHORIZATION
The authentication and authorization process in
Azure AD is similar to the process used in your Active
Directory Domain Services (AD DS) on-premises.
Whereas the authentication goal is to establish and
validate a user’s digital identity, the authorization
goal is to control when and how access is granted to
authenticated users.
Because you can use different scenarios to take
advantage of AD DS for authentication and
authorization, the same applies for Azure AD. Some of
the key scenarios are:
Web browser to web application
Single-page application (SPA)
Native application to web API
Web app to web API
Daemon or server app to web API
To illustrate the most basic authentication method in
Azure AD, you can use a web app (the first scenario in
the preceding list) as an example and describe the four
major steps that are involved in this authentication:
1. A user is using his device to access an app that
uses Azure AD as an authentication and
authorization repository.
2. The user enters his credentials to sign in to the
page. This page uses the Azure AD Authentication
Library (ADAL).
3. Assuming that the authentication was successful,
Azure AD creates an authentication token and
returns a sign-in response to the application. This
response is based on the Reply URL that was
previously configured in the Azure portal.
4. At this point, that app validates the token. To do
that, the app uses a public signing key and issuer
information available at the federation metadata
document for Azure AD. After the application
validates the token, Azure AD starts a new session
with the user. Although the app developer can
control the user’s session expiration, by default,
the user’s session expires when the lifetime of the
token issued by Azure AD expires.
More
More Info
Info
More
More Info
Info
Azure hierarchy
To better understand how to manage resources and
how to use Role-Based Access Control (RBAC) in
Azure, it is important to understand the hierarchy and
inheritance in Azure. The basic principle is: access
that you grant at parent scope is inherited at child
scope. Figure 2-1 provides an illustration of how this
hierarchy works in Azure.
FIGURE 2-1 Azure hierarchy
In Figure 2-1, you can see that one Azure subscription
can be linked with only one Azure AD directory. This
hierarchy also shows that each resource group belongs to
only one Azure subscription, and although one resource
group can have multiple resources, one resource can be
bound to only one resource group. These concepts are
very important to understand, because, by default, Azure
has three basic roles that you can apply to all resource
types, and to properly authorize access to resources, you
must understand this model.
More
More Info
Info
More
More Info
Info
For more information about how to use PowerShell to assign roles to
users, go to https://azure.microsoft.com/en-us/documentation/articles/role-
based-access-control-manage-access-powershell.
ON-PREMISES INTEGRATION
One critical step to enhance the overall identity
protection is to ensure that users don’t need to be
exposed to multiple directories and multiple
passwords when they need to access the same
resource. Consolidating the authentication experience
to allow users to use their credentials to access
different cloud apps at the same time as they access
on-premises resources is the ideal scenario for
identity management.
Azure AD can be integrated with your AD DS located
on-premises. Basically, you have two major options for
integration. How you perform this integration depends
directly on your business needs. The available options
are:
Directory synchronization with Azure AD
Connect This enables single identity with the
same sign-on experience and password hash
synchronization.
Azure AD and on-premises Active
Directory using federation with Active
Directory Federation Services (AD FS) This
enables single federated identity with single sign-
on (SSO).
More
More Info
Info
For more information about design choices that are directly related to your
business requirements, go to aka.ms/azhidcg to read the Azure Hybrid
Identity Design Considerations Guide.
Azure AD Connect
Azure AD Connect is the preferred option for most
scenarios. When you use Azure AD Connect, the users
are either created or joined with existing Azure AD
accounts. The user’s password hash is synchronized
from the on-premises AD DS to Azure AD in the
cloud. This process is called password hash sync.
Azure AD Connect has two scheduler processes that
are responsible for synchronizing passwords and general
objects and attributes. By default, the scheduler runs
every 30 minutes. You can obtain more information
about your own schedule by using the PowerShell
command Get-ADSyncScheduler.
Important
Important
At the time this chapter was written in May 2016, the AD Connect version
was 1.1.180.0. Be sure to look for new capabilities and the latest version
at https://azure.microsoft.com/documentation/articles/active-directory-
aadconnect-version-history.
Important
Important
If you want to perform additional configuration, such as filtering, be sure to
clear the Start The Synchronization Process As Soon As Configuration
Completes check box. If you clear this check box, the wizard configures
sync but leaves the scheduler disabled. In this case, it will not run unless
you run the installation wizard again.
Federation
Although Azure AD Connect is the preferred option to
synchronize your on-premises directory with Azure
AD, when you have an environment that has multiple
domains, federation becomes the most appropriate
choice. Other design decisions that might lead you to
choose Active Directory Federation Services (AD FS)
are as follows:
Your organization already has an AD FS
infrastructure in place and wants to keep control
on-premises.
The organization’s security policy prohibits
password hash synchronization.
Your organization requires SSO from domain-
joined machines.
Your organization requires conditional access for
on-premises and cloud resources.
You need to preserve the use of soft account
lockout and work hours policies that were
configured in your on-premises AD DS.
To implement federation, you need an on-premises
3
federation such as AD FS or another supported solution .
Assuming you have the required infrastructure in place,
you will also use Azure AD Connect to perform the
configuration.
3
To find a list of supported solutions, go to
https://azure.microsoft.com/documentation/articles/active-
directory-aadconnect-federation-compatibility.
Important
Important
If your AD FS and Web Application Proxy servers are behind a firewall,
read the article at
https://azure.microsoft.com/documentation/articles/active-directory-
aadconnect-ports to understand which ports should be open.
AD FS implementation
Complete the following steps to configure AD FS
synchronization via the Azure AD Connect tool to
synchronize with your on-premises AD DS:
1. Using an account that has administrative
privileges, log on to the computer on which you
want to install Azure AD Connect.
2. Download the latest version of Azure AD Connect
from go.microsoft.com/fwlink/?LinkId=615771.
3. After the download finishes, double-click the file
AzureADConnect.msi. The installation process
completes quickly.
4. If User Account Control asks for authorization to
run the .msi file, select Yes. After the installation
finishes, the Welcome To Azure AD Connect page
appears. Read the license terms, select I Agree To
The License Terms And Privacy Notice, and then
select Continue.
5. On the Express Settings page, select Customize.
6. On the Install Required Components page, leave
the default selection, and select Install.
7. On the User Sign-in page, select Federation With
AD FS (see Figure 2-11), and then select Next.
FIGURE 2-11 Selecting federation with AD FS
Important
Important
Notice that in the lower part of this page, the Azure AD Connect
Installation Wizard tells you exactly what is required in order to deploy this
configuration. Make sure you comply with these requirements before you
move on.
Important
Important
Important
Important
Important
Important
At the time this chapter was written, this feature was in public preview and
it was available only for users in the United States region.
This signal is combined with signals from services like Microsoft Exchange
Server, SharePoint, Skype, and OneDrive to further strengthen our
analysis. We also benefit from research from teams like the Digital Crimes
Unit and Microsoft Security Response Center, law enforcement,
academia, security researchers, and industry partners.
Finally, our attackers help us, because we detect more than 10,000
attacker-controlled IP addresses, and detect and block more than 10
million bogus logon attempts per day, resulting in 1.5 million newly
protected credential pairs every day. This results in world-class signal and
battle-tested algorithms that you can use to protect your identity
infrastructure.
Azure Active Directory Identity Protection uses all this data, analysis, and
experience to generate user and logon risk scores, then use these to
notify you of compromised users, risky logons, and configuration
vulnerabilities in your environment before they can be exploited by cyber
criminals. By providing a consolidated view into risks, remediation
recommendations, and in-line response options, we empower you to
better protect your organization. The service uses advanced machine
learning to detect suspicious activities based on signals including brute
force attacks, leaked credentials, sign-ins from unfamiliar locations, and
infected devices. This investment in real-time threat detection is what
helps us meet our goal of preventing attacks from being effective in the
first place.
Nasos Kladakis
Sr. Product Marketing Manager. Identity and Access Management
Notification enabling
Now that both policies are configured, the next step is
to ensure that you receive notifications in case an
account is compromised. User-compromised alert
email is one type of email that is generated by Azure
AD Identity Protection; the other type is the weekly
digest email, which contains the following:
Users at risk
Suspicious activities
Detected vulnerabilities
Links to the related reports in Azure AD Identity
Protection
To enable email notification, select Settings in the
Azure AD Identity Protection dashboard. On the Settings
blade, select Notifications. Under Weekly Email Digest,
select On, as shown in Figure 2-23, and then select Save.
Vulnerabilities
The vulnerabilities section of Azure AD Identity
Protection helps you to quickly identify potential
identity risks. Figure 2-24 shows an example of how
the Vulnerabilities tile looks after a vulnerability is
found.
FIGURE 2-24 Vulnerabilities tile showing the
number of occurrences and the risk level
More
More Info
Info
For design considerations regarding Azure Multi-Factor Authentication, go
to https://azure.microsoft.com/documentation/articles/active-directory-
hybrid-identity-design-considerations-multifactor-auth-requirements.
More
More Info
Info
For more information about the differences between the ASM and Azure
Resource Management models, read the article “Azure Resource
Manager vs. classic deployment: Understand deployment models and the
state of your resources” at
https://azure.microsoft.com/documentation/articles/resource-manager-
deployment-model.
IP address scheme
Azure Virtual Networks require you to use private IP
addresses (RFC 1918) for VMs. The address ranges
are:
Class A: 10.0.0.0/24
Class B: 172.16.0.0/12
Class C: 192.168.1.0/24
You should create an Azure Virtual Network before
you create a VM, because all VMs need to be placed on
an Azure Virtual Network. Just like with on-premises
networking, you should carefully consider which IP
address scheme you want to use, especially if you think
you will connect your Azure Virtual Network to your on-
premises network. In that scenario, you should make
sure there is no overlap between the IP addresses you
use on-premises and those you want to use on an Azure
Virtual Network.
When you create an Azure Virtual Network, you’ll
typically choose a large block (or the entire Class A, B, or
C range in the preceding list). Then you’ll subnet that
range, just as you do on-premises.
From a security perspective, you should think about
how many subnets you need and how large to make
them, because you’ll want to create access controls
between them. Some organizations use subnets to define
security zones, and then create network access controls
between the subnets by using Network Security Groups
(which is explained later) or a virtual appliance.
Another type of addressing you should consider is
public addresses. When you create a VM, a public
address is assigned to that VM. Note that the public
address isn’t bound to the actual network interface
(although it might appear that way when you see the
description in the portal or read the documentation). The
public IP address is the address that external users or
devices can use to connect to the VM from over the
Internet.
Similar to the IP addresses that are actually bound to
the network interfaces on the VM itself (explained in the
next section), you can assign either a dynamic or static
public IP address to a VM.
Dynamic IP addresses on a public interface aren’t as
much of a problem as they might be on the internal
network—that is to say, on the Azure Virtual Network
itself. The reason for this is that DNS is used for Internet
name resolution, and few (if any) users or devices are
dependent on a static IP address to reach an Internet-
reachable resource.
However, there might be situations where you need to
use a static IP address on the Internet. For example, you
might have network security devices that have access
controls so that specific protocols or source IP addresses
are allowed access only to specific IP addresses in Azure.
When that is the case, you should take advantage of
static public IP addresses.
Other scenarios where static public IP addresses
might be used include the following:
You’ve deployed applications that require
communications to an IP address instead of a
DNS name.
You want to avoid having to remap DNS entries
for publicly accessible resources on an Azure
Virtual Network.
Applications deployed on Azure or other public or
private cloud networks need to use static
addresses to communicate with your services on
an Azure Virtual Network.
You use SSL certificates that are dependent on a
static IP address.
More
More Info
Info
To learn more about Azure Virtual Networks, read the article “Virtual
Network Overview” at
https://azure.microsoft.com/documentation/articles/virtual-networks-
overview.
DHCP servers
After you create an Azure Virtual Network and then
place a VM on the network, the VM needs to have an
IP address assigned to it to communicate with other
VMs on the Azure Virtual Network (in addition to
communicating to on-premises resources and even
the Internet).
You can assign two types of IP addresses to VMs:
Dynamic addresses
Static addresses
Both types of addresses are managed by an Azure
DHCP server.
Dynamic addresses are typically DHCP addresses that
are assigned and managed by the Azure DHCP server.
Like any other DHCP-assigned address, the VM’s
address is assigned from the pool of addresses defined by
the address space you chose for your Azure Virtual
Network.
In most cases, the address won’t change over time and
you can restart the VM and it will keep the same IP
address. However, there might be times when the VM
needs to be moved to another host in the Azure fabric,
and this might lead to the IP address changing. If you
have a server that requires a permanent IP address, then
do not use dynamic addressing for that VM.
For VMs that perform roles requiring a static IP
address, you can assign a static IP address to the VM.
Keep in mind that you do not configure the NIC within
the VM to use a static IP address. In fact, you should
never touch the NIC configuration settings within a VM.
All IP addressing information should be configured
within the Azure portal or by using PowerShell Remoting
in Azure.
Examples of VMs that might need dedicated
addresses include:
Domain controllers.
Anything that needs a static address to support
firewall rules you might configure on an Azure
Virtual Network appliance.
VMs that are referenced by hard-coded settings
requiring IP addresses.
DNS servers you deploy on an Azure Virtual
Network (discussed in the next section).
Keep in mind that you cannot bring your own DHCP
server. The VMs are automatically configured to use only
the DHCP server provided by Azure.
More
More Info
Info
For more information on IP addressing in Azure, read the article “IP
addresses in Azure” at
https://azure.microsoft.com/documentation/articles/virtual-network-ip-
addresses-overview-arm.
DNS servers
You can use two primary methods for name
resolution on an Azure Virtual Network:
Azure DNS server
Your own DNS server
When you create an Azure Virtual Network, you get a
simple DNS server in the bargain, at no extra charge.
This simple DNS server service provides you with basic
name resolution for all VMs on the same Azure Virtual
Network. Name resolution does not extend outside of the
Azure Virtual Network.
The simple Azure Virtual Network DNS is not
configurable. You can’t create your own A records, SRV
records, or any other kind of record. If you need more
flexibility than simple name resolution, you should bring
your own DNS server.
You can install your own DNS server on an Azure
Virtual Network. The DNS server can be a Microsoft
standalone DNS server, an Active Directory–integrated
DNS server, or a non–Windows-based DNS server.
Unlike the situation with DHCP servers on an Azure
Virtual Network, you are encouraged to deploy your own
DNS servers if you need them.
The bring-your-own-device (BYOD) DNS server is
commonly used when you want to create a hybrid
network, where you connect your on-premises network
with your Azure Virtual Network. In this way, VMs are
able to resolve names of devices on your on-premises
network, and devices on your on-premises network are
able to resolve names of resources you’ve placed on an
Azure Virtual Network.
More
More Info
Info
To learn more about Network Security Groups, read the article “What is a
Network Security Group (NSG)?” at
https://azure.microsoft.com/documentation/articles/virtual-networks-nsg.
Routing tables
In the early days of Azure, some might have been a bit
confused by the rationale of allowing customers to
subnet their Azure Virtual Networks. The question
was “What’s the point of subnetting, if there’s no way
to exercise access controls or control routing between
the subnets?” At that time, it seemed that the Azure
Virtual Network, no matter how large the address
block you chose and how many subnets you defined,
was just a large flat network that defied the rules of
TCP/IP networking.
Of course, the reason for that was because no
documentation existed regarding what is known as
“default system routes.” When you create an Azure
Virtual Network and then define subnets within it, Azure
automatically creates a collection of system routes that
allows machines on the various subnets you’ve created to
communicate with each other. You don’t have to define
the routes, and the appropriate gateway addresses are
automatically assigned by the DHCP server–provided
addresses.
Default system routes allow Azure VMs to
communicate across a variety of scenarios, such as:
Communicating between subnets.
Communicating with devices on the Internet.
Communicating with VMs that are located on a
different Azure Virtual Network (when those
Azure Virtual Networks are connected to each
other over a site-to-site VPN running over the
Azure fabric).
Communicating with resources on your on-
premises network, either over a site-to-site VPN
or over a dedicated WAN link (these options are
explained later in the chapter).
That said, sometimes you might not want to use all of
the default routes. This might be the case in two
scenarios:
You have a virtual network security device on an
Azure Virtual Network and you want to pump all
traffic through that device. (Virtual network
security devices are explained later in the
chapter.)
You want to make sure that VMs on your Azure
Virtual Network cannot initiate outbound
connections to the Internet.
In the first scenario, you might have a virtual network
security device in place that all traffic must go through so
that it can be inspected. This might be a virtual IDS/IPS,
a virtual firewall, a web proxy, or a data leakage
protection device. Regardless of the specific function,
you need to make sure that all traffic goes through it.
In the second scenario, you should ensure that VMs
cannot initiate connections to the Internet. This is
different from allowing VMs to respond to inbound
requests from the Internet. (Of course, you have to
configure a Network Security Group to allow those
connections.) Also ensure that all outbound connections
to the Internet that are initiated by the VMs go back
through your on-premises network and out your on-
premises network security devices, such as firewalls or
web proxies.
The solution for both of these problems is to take
advantage of User Defined Routes. In Azure, you can use
User Defined Routes to control the entries in the routing
table and override the default settings.
For a virtual network security device, you configure
the Azure routing table to forward all outbound and
inbound connections through that device. When you
want to prevent VMs from initiating outbound
connections to the Internet, you configure forced
tunneling.
More
More Info
Info
For more information about User Defined Routes, read the article “What
are User Defined Routes and IP Forwarding?” at
https://azure.microsoft.com/documentation/articles/virtual-networks-udr-
overview. For more information about forced tunneling, read “Configure
forced tunneling using the Azure Resource Manager deployment model”
at https://azure.microsoft.com/documentation/articles/vpn-gateway-forced-
tunneling-rm.
More
More Info
Info
For more information about more secure remote access that uses RDP
and other protocols, read the article “Securing Remote Access to Azure
Virtual Machines over the Internet” at
https://blogs.msdn.microsoft.com/azuresecurity/2015/09/08/securing-
remote-access-to-azure-virtual-machines-over-the-internet.
More
More Info
Info
For more information about how to use SSH for remote management of
VMs located on an Azure Virtual Network, read the article “How to Use
SSH with Linux and Mac on Azure” at
https://azure.microsoft.com/documentation/articles/virtual-machines-linux-
ssh-from-linux.
SSTP-based point-to-site VPN
Although “point-to-site” VPN in relation to Azure
might sound like a new VPN-type technology (sort of
like how so-called “SSL-VPN” is not really a VPN in
many cases), it’s not new. Rather, it’s a new name
applied to traditional remote access VPN client/server
connections, which has been around a long time.
What makes point-to-site VPN special is the VPN
protocol that’s used, which is the Secure Socket
Tunneling Protocol (SSTP).
The SSTP VPN protocol is interesting because, unlike
other methods of remote access VPN client/server
connections (such as IPsec, LTP/IPsec, or PPTP), the
SSTP protocol tunnels communications over the Internet
by using a TLS-encrypted HTTP header. What this
means in practice is that SSTP can be used across
firewalls and web proxies. Some people might find it
funny to hear someone say that SSTP can be used to get
across “restrictive firewalls” because it uses TCP 443 to
connect to the VPN gateway server from your Azure
Virtual Network. It sounds funny because, among
network security and firewall experts, TCP port 443 is
known as the “universal firewall port.” That is to say, if
you allow outbound TCP 443, you allow just about
everything.
For those of you who are not networking experts, you
should understand what a remote access VPN
client/server connection is and how it works (from a high
level).
When you establish a VPN connection, what you’re
doing is creating a virtual “link layer” connection. (Think
of an Ethernet cable connection as a link-layer
connection.) The amazing thing about VPN is that this
link-layer connection actually happens over the Internet
and you can use it to establish that connection with a
VPN server. In the case of Azure, you’re establishing that
connection between your laptop and the Azure gateway.
The link-layer connection is like a virtual cable
(referred to in this book as a “tunnel”) and you can pass
just about any kind of network traffic through that
tunnel. This is useful because the tunnel is encrypted, so
no one can see inside the tunnel because the traffic
inside the tunnel moves over the Internet.
After the VPN connection is established between your
laptop and the Azure VPN gateway, your laptop isn’t
connected to a specific Azure VM. Instead, your laptop is
connected to an entire Azure Virtual Network, and with
this connection, you can reach all the VMs on that Azure
Virtual Network. This helps you make RDP and SSH
connections more secure. But how does it do that?
The key here is that in order to establish the point-to-
site VPN connection, you have to authenticate with the
VPN gateway. The Azure VPN gateway and VPN client
both use certificates to authenticate with each other.
Certificate authentication isn’t susceptible to brute-force
attacks like direct RDP or SSH connections over the
Internet can be. This is a nice security advantage.
The big advantage comes from the fact that you can
run RDP or SSH traffic inside the SSTP VPN tunnel.
After you establish the point-to-site VPN connection, you
can start your RDP or SSH client application on your
laptop and connect to the IP address of the VM on the
Azure Virtual Network that you’re connected to. Of
course, you have to authenticate again to access the VM.
This means that you can block direct inbound access
for the RDP and SSH protocols to VMs on your Azure
Virtual Network over the Internet and still reach them by
using those protocols after you establish the VPN
connection. This entire process is secure because you
have to authenticate the VPN connection first, and then
authenticate again with the RDP or SSH protocols.
More
More Info
Info
To learn more about point-to-site connectivity between individual
computers such as laptops and tablets, read the article “Configure a Point-
to-Site VPN connection to a VNet using the classic portal” at
https://azure.microsoft.com/documentation/articles/vpn-gateway-point-to-
site-create.
Cross-premises connectivity
The previous section explained how you can connect a
single device like a laptop or tablet to an Azure Virtual
Network to gain network access to all the VMs
connected to that Azure Virtual Network. This section
explains how you can connect an entire network to an
Azure Virtual Network.
This introduces the topic of what is known as “cross-
premises connectivity.” Probably a better term would be
“across sites” connectivity, but that doesn’t sound as
fancy. Regardless, what this term means is connectivity
between two sites. The first site is usually your on-
premises network (which is a network that your
organization owns and controls) and an Azure Virtual
Network. When cross-premises connectivity is enabled,
you can pass traffic between the on-premises network
and your Azure Virtual Network.
You can do this in two ways with Azure:
Site-to-site VPN
Dedicated WAN link
Site-to-site VPN
Site-to-site VPN is similar to the point-to-site VPN
described earlier. Recall that with a point-to-site VPN,
you can connect a single device (at a time) to an Azure
Virtual Network. To be clear, that doesn’t mean that
when you use a point-to-site VPN you can only
connect a single device at a time, which would block
all other connections to the Azure Virtual Network.
What it means is that when you use a point-to-site
VPN, only that device is connected to the Azure
Virtual Network. Other devices can connect to the
same Azure Virtual Network by using a point-to-site
VPN at the same time.
In contrast to a point-to-site VPN, with a site-to-site
VPN, you can connect an entire network to an Azure
Virtual Network. Site-to-site VPNs are sometimes called
“gateway-to-gateway” VPNs because each end of the
connection is a VPN gateway device.
VPN gateways are like routers. On a non-VPN
network, a router is used to route packets to different
subnets on your on-premises network. The routed
connections go over Ethernet or wireless connections. A
VPN gateway acts as a router too, but in the case of the
VPN gateway, connections routed over the VPN gateway
are not routed from one subnet to another subnet on
your on-premises network. Instead, they are routed from
your on-premises network to another network over the
Internet by using a VPN tunnel. Of course, the remote
network can also route packets back to your on-premises
network.
When you use a site-to-site VPN with an Azure Virtual
Network, you route packets to and from the Azure
Virtual Network and your on-premises networks. You
must have a VPN gateway on your on-premises network
that works with the VPN gateway used by Azure. Most
industry standard on-premises VPN gateways work with
the Azure VPN gateway. Note that in contrast to the
point-to-site VPN connections that use SSTP, the site-to-
site VPN uses IPsec tunnel mode for the site-to-site VPN
connection.
Using site-to-site VPN connections has a couple of
downsides:
Connections to Azure top out at around 200
megabits per second (Mbps).
They, by definition, traverse the Internet, which
could be a security issue.
The first issue really isn’t a security problem, although
it’s related to performance and performance limitations,
which can bleed into availability, which could lead to
problems with the “A” in the confidentiality, integrity,
and availability (CIA) triad of security. If you exceed your
site-to-site VPN bandwidth and your users and devices
can’t get to what they need on your Azure Virtual
Network, then you have a compromise in availability,
and, hence, security issues. That is to say, you’ve
essentially created a denial-of-service (DOS) attack on
yourself because you chose a connectivity option that
doesn’t support your application and infrastructure
requirements.
The second issue is more of a classic security problem.
Any traffic that moves over the Internet will potentially
be exposed to “hacking,” “cracking,” redirection, and
other attempts to compromise the data. Although it is
true that the site-to-site VPN uses a more secure IPsec
tunnel that supports the latest cipher suites and modern
encryption technologies, there is always the chance that
if you have a dedicated attacker that wants your
information, he will find weaknesses and compromise
the data within the tunnel.
That said, if the attacker wants your data that much,
he can find easier ways to get to it than to try and
compromise your site-to-site VPN connection. But the
possibility should be mentioned because the topic of this
chapter and book is network security.
For environments that need the highest level of
security and performance, you should review the option
discussed in the next section, a dedicated WAN link.
More
More Info
Info
For more information about site-to-site VPN connectivity to Azure, read
the article “Create a virtual network with a Site-to-Site VPN connection
using the Azure classic portal” at https://azure.microsoft.com/en-
us/documentation/articles/vpn-gateway-site-to-site-create.
More
More Info
Info
To learn more about dedicated WAN links to Azure Virtual Networks, read
the article “ExpressRoute Technical Overview” at
https://azure.microsoft.com/documentation/articles/expressroute-
introduction.
Network availability
As explained earlier, the “A” in the CIA security triad
is availability. From a network perspective, you
should ensure that your services are always available
and that you take advantage of network availability
technologies. Azure has a few availability services that
you can take advantage of:
External load balancing
Internal load balancing
Global load balancing
More
More Info
Info
To learn more about external load balancing, read the article “Load
balancing for Azure infrastructure services” at
https://azure.microsoft.com/documentation/articles/virtual-machines-linux-
load-balance.
More
More Info
Info
To learn more about internal load balancing, read the article “Internal Load
Balancer Overview” at
https://azure.microsoft.com/documentation/articles/load-balancer-internal-
overview.
More
More Info
Info
To learn more about Traffic Manager and how you can take advantage of
all its global load balancing features, read the article “What is Traffic
Manager?” at https://azure.microsoft.com/documentation/articles/traffic-
manager-overview.
Network logging
It’s standard practice to access network information
from the network itself. You can do this in many ways,
but typically enterprise organizations include some
kind of network intrusion detection system (NIDS)
inline so that all network traffic can be monitored. It’s
a matter of opinion regarding how valuable such
devices are, given the large number of never-seen
alerts that are generated, and if seen, that are never
addressed.
Regardless, there is some value in having visibility at
the network level. For that reason, many customers are
interested in how they can get the same or similar level
of visibility into network traffic on their Azure Virtual
Network.
At the time this chapter was written, you can’t get the
same level of visibility into network traffic that you can
get on-premises. Many of the on-premises devices work
at the Link layer (OSI layer 2), which is not available on
Azure Virtual Networks. The reason for this is that Azure
Virtual Networks make use of software-defined
networking and network virtualization, so the lowest
level of traffic analysis you can get is at the Network layer
(OSI layer 3).
It is possible to get network layer network
information if you want to push all traffic through a
virtual network security device. That is pretty easy to do
for traffic destined to and from a particular network
subnet, and the way you do it on an Azure Virtual
Network is the same as you would do it on-premises: you
ensure that the virtual network security device is in the
path to the destination subnet by configuring the routing
tables on your Azure Virtual Network. You do this by
configuring User Defined Routes, which were described
earlier in this chapter.
Although this is easy for inter-subnet
communications, it’s not easy if you want to see what’s
happening between two VMs on the same subnet on your
Azure Virtual Network. The reason for this is that you
can’t easily take advantage of an intermediary virtual
network security device between subnets, because the
two VMs that are communicating with each other are on
the same subnet. That doesn’t mean it can’t be done. You
can install a VM on each subnet that acts as a proxy (web
proxy and perhaps a SOCKS proxy). Then all
communications are sent to the proxy, and the proxy
forwards the connections to the destination host on the
same subnet. As you can imagine, this can end up being
complex and unwieldy if you have even a few subnets.
At this time, you have the ability to get some network
information for traffic that moves through Network
Security Groups. In particular, you can:
Use Azure audit logs to get information about
connections made through a Network Security
Group.
View which Network Security Group rules are
applied to VMs and instance roles based on the
MAC address.
View how many times each Network Security
Group rule was applied to deny or allow traffic.
Although this is much less than you can do on-
premises, the situation will most likely change soon. In
fact, by the time you read this chapter, you might be able
to obtain network information and bring your level of
access much closer to what you have on-premises. Be
sure to check the Azure Security Blog on a regular basis,
where that information will be shared with you when it
becomes available.
More
More Info
Info
To learn more about how you can obtain logging information from Network
Security Groups, read the article “Log Analytics for Network Security
Groups (NSGs)” at
https://azure.microsoft.com/documentation/articles/virtual-network-nsg-
manage-log.
More
More Info
Info
To learn more about the Azure DNS service, read the article “Azure DNS
Overview” at https://azure.microsoft.com/documentation/articles/dns-
overview.
Reverse proxy
The final Azure Network component to cover before
moving on to the Azure network security best
practices section is that of a reverse proxy. If you are
relatively new to networking, or haven’t delved into
networking beyond what you needed to know, you
might not be familiar with the concept of proxy or
reverse proxy.
A proxy is a network device that accepts connections
for other devices and then recreates that connection to
forward the connection request and subsequent packets
to the destination. The proxy device, as the name
implies, acts on behalf of the computer that is sending
the request or the response. The proxy sits in the middle
of the communications channel and, because of that, can
do many security-related “things” that can help secure
your network and the devices within it.
The most popular type of proxy is the “web proxy.” A
web proxy accepts connections from a web proxy client
(typically a browser configured to use the IP address of
the web proxy as its web proxy). When the web proxy
receives the request, it can inspect the nature of the
request and then recreate the request on behalf of the
web proxy client. When the destination website
responds, the web proxy receives the response on behalf
of the web proxy client, and it can inspect the response.
After receiving the response, the web proxy client
forwards the response traffic back to the client that made
the original request.
Why are proxy devices useful in a security context?
Some of the things they can do include the following:
Require the requestor to authenticate before the
proxy accepts and forwards the connection
request.
Inspect the destination URL to determine
whether the destination is safe or dangerous; if
it’s dangerous, the proxy can block the
connection.
Look at request and response traffic to determine
whether there is dangerous payload, such as
viruses or other malware, and block the malware
from being delivered.
“Crack open” encrypted communications between
client and destination server (such as SSL
connections) so that malware, leaked data, and
other information that shouldn’t be crossing the
proxy boundary is stopped at the proxy. This type
of “SSL bridging” can significantly improve
security, because attackers often hide what they’re
trying to accomplish by encrypting
communications, which normally works because
most communications are not subject to SSL
bridging.
Proxy devices can do these things and a lot more. One
could write a book about just proxies. But this book and
chapter aren’t about proxies, so don’t dig deeper into
them than necessary.
The reason to bring up proxies in this chapter is that
Azure has a reverse proxy service that you can use to
proxy connections to your on-premises resources. The
reverse proxy service is called Azure Active Directory
Application Proxy. You won’t find this service in the list
of Azure Active Directory products on Azure.com, and
you won’t find it in the table of contents. However, you’ll
learn about it in this book.
Before going any further, it’s important that you
understand the difference between a “forward proxy”
and a “reverse proxy.” A forward proxy accepts
connections from clients on your on-premises network
and forwards those connections to servers on the
Internet (or on networks other than the one on which the
clients are making the requests). In contrast, a reverse
proxy is one that accepts connections from external
clients and forwards them to servers on your on-
premises network. For those of you with a lot of
experience in this area, you recognize that this is a bit of
an oversimplification, but it does describe in general the
differences between a forward and reverse proxy.
Traditional reverse proxy devices are typically placed
near the edge of your on-premises network. Servers such
as mail servers and collaboration servers (like Microsoft
Exchange and SharePoint) can be reached by Internet-
based clients through the reverse proxy server. Microsoft
used to have its own reverse proxy servers named
Internet Security and Acceleration Server (ISA Server)
and Threat Management Gateway (TMG). Both those
products were excellent but unfortunately were
discontinued.
With that said, maintaining on-premises proxy
servers can be a lot of work. If you don’t manage them
well, they can take down your services, which makes no
one happy. What if you could hand the management,
troubleshooting, and updating of your reverse proxy
server to someone else and avoid all that hassle?
That’s the core value of the public cloud, and the core
value of using the Azure Application Proxy server instead
of using an on-premises reverse proxy.
The Azure Application Proxy is already built into
Azure, and you configure it so that when client systems
want to request resources on your on-premises servers,
they actually make the request to the reverse proxy on
Azure. The Azure Application Proxy forwards those
requests back to your on-premises servers.
Like most reverse proxy solutions, they add a measure
of security. Here are some things you can do with the
Azure Application reverse proxy service:
Enable single sign-on for on-premises
applications.
Enforce conditional access, which helps you to
define whether or not a user can access the
application based on the user’s current location
(on or off the corporate network).
Authenticate users before their connections are
forwarded to the Azure Application Proxy.
More
More Info
Info
To learn more about the Azure Application Proxy, read the article “Publish
applications using Azure AD Application Proxy” at
https://azure.microsoft.com/documentation/articles/active-directory-
application-proxy-publish.
Tom Shinder
Program Manager, Azure Security Engineering
Note
Note
Communications over the Azure fabric are faster than looping back
through your on-premises network or looping through the Internet.
More
More Info
Info
For more information about how to create a site-to-site VPN connection
between two Azure Virtual Networks, read the article “Configure a VNet-
to-VNet Connection by using Azure Resource Manager and PowerShell”
at https://azure.microsoft.com/documentation/articles/vpn-gateway-vnet-
vnet-rm-ps.
More
More Info
Info
To learn more about how to use IPsec for server and domain isolation,
read the article “Server and Domain Isolation Using IPsec and Group
Policy” at https://technet.microsoft.com/library/cc163159.aspx.
More
More Info
Info
To learn more about User Defined Routes, read the article “What are User
Defined Routes and IP Forwarding” at
https://azure.microsoft.com/documentation/articles/virtual-networks-udr-
overview.
More
More Info
Info
To learn more about forced tunneling and how to enable it, read the article
“Configure forced tunneling using the Azure Resource Manager
deployment model” at https://azure.microsoft.com/en-
us/documentation/articles/vpn-gateway-forced-tunneling-rm.
More
More Info
Info
To learn more about perimeter networks and how to deploy them in Azure,
read the article “Microsoft Cloud Services and Network Security” at
https://azure.microsoft.com/documentation/articles/best-practices-network-
security.
Use ExpressRoute
Many organizations have chosen the hybrid IT route.
In hybrid IT, some of the company’s information
assets are in Azure, while others remain on-premises.
In many cases, some components of a service are
running in Azure while other components remain on-
premises.
In the hybrid IT scenario, there is usually some type
of cross-premises connectivity. This cross-premises
connectivity allows the company to connect their on-
premises networks to Azure Virtual Networks. Two
cross-premises connectivity solutions are available:
Site-to-site VPN
ExpressRoute
Site-to-site VPN represents a virtual private
connection between your on-premises network and an
Azure Virtual Network. This connection takes place over
the Internet and allows you to “tunnel” information
inside an encrypted link between your network and
Azure. Site-to-site VPN is a secure, mature technology
that is deployed by enterprises of all sizes. Tunnel
encryption is performed by using IPsec tunnel mode.
Although site-to-site VPN is a trusted, reliable, and
established technology, traffic within the tunnel does
traverse the Internet. In addition, bandwidth is relatively
constrained to a maximum of about 200 Mbps.
If you require an exceptional level of security or
performance for your cross-premises connections, you
should consider using Azure ExpressRoute for your
cross-premises connectivity. ExpressRoute is a dedicated
WAN link between your on-premises location or an
Exchange hosting provider. Because this is a telco
connection, your data doesn’t travel over the Internet
and therefore is not exposed to the potential risks
inherent in Internet communications.
More
More Info
Info
To learn more about how Azure ExpressRoute works and how to deploy it,
read the article “ExpressRoute Technical Overview” at
https://azure.microsoft.com/documentation/articles/best-practices-network-
security.
More
More Info
Info
To learn more about how Azure Application Gateway works and how you
can use it in your deployments, read the article “Application Gateway
Overview” at
https://azure.microsoft.com/documentation/articles/application-gateway-
introduction.
External load balancing
External load balancing takes place when incoming
connections from the Internet are load balanced
among your servers located in an Azure Virtual
Network. The Azure External Load Balancer can
provide you with this capability, and you should
consider using it when you don’t require the sticky
sessions or SSL offload.
In contrast to HTTP-based load balancing, the
External Load Balancer uses information at the network
and transport layers of the OSI networking model to
make decisions on what server to load balance
connections to.
You should consider using External Load Balancing
whenever you have stateless applications accepting
incoming requests from the Internet.
More
More Info
Info
To learn more about how the Azure External Load Balancer works and
how you can deploy it, read the article “Get Started Creating an Internet
Facing Load Balancer in Resource Manager using PowerShell” at
https://azure.microsoft.com/documentation/articles/load-balancer-get-
started-internet-arm-ps.
More
More Info
Info
More
More Info
Info
To learn more about Azure Key Vault, read Chapter 6, “Key management
in Azure with Key Vault.”
More
More Info
Info
Note that we’re not providing specific details on these key points, because
they might change by the time you read this. To get detailed information,
read “Azure Disk Encryption for Windows and Linux Azure Virtual
Machines” at https://gallery.technet.microsoft.com/Azure-Disk-Encryption-
for-a0018eb0 or “Encrypt an Azure Virtual Machine” at
https://azure.microsoft.com/documentation/articles/security-center-disk-
encryption.
When you get such an alert, you can use Azure CLI,
Azure PowerShell, or Azure Resource Manager templates
to encrypt the VM. At the time of this writing, you can’t
remediate this alert from within the Azure Security
Center console.
More
More Info
Info
STORAGE ENCRYPTION
The previous section explained how you can encrypt
Azure VMs. The encryption process for Azure VMs is
essential for encrypting specific files. For Azure VMs,
those files are the .vhd files that include the operating
system and the data disks.
Azure Storage Service Encryption is another option
for file encryption. It includes the automatic encryption
of all files contained in a particular location, which is
similar to whole-volume encryption available with
technologies such as BitLocker.
Azure Storage Service Encryption automatically
encrypts blob files (binary large objects) when you save
them to your Azure storage account. When you save the
object to Azure storage, the object is automatically
encrypted for you. When you read the file from storage,
the file is automatically decrypted for you. You don’t
need to maintain any keys or secrets—Azure does all that
for you in the background. This significantly reduces
your security overhead.
Although this might sound similar to volume
encryption like you have on a physical hard disk, it’s not
the same, because encryption is applied on an account
rather than on a volume basis. The reason for this is that
your storage account isn’t confined to a particular hard
disk or hard disk array. Your “bits” are distributed
throughout the Azure storage fabric and are identified as
yours by a customer-specific tag assigned to your storage
objects. This allows for greater reliability, in addition to
security and isolation of your storage from all other
storage objects and accounts within Azure.
The level of encryption used by Azure Storage Service
Encryption is similar to what is used in the rest of Azure,
which is Advanced Encryption Standard (AES)–256.
Encryption is available for all levels of storage
redundancy:
Locally Redundant Storage (LRS)
Zone Redundant Storage (ZRS)
Geo-Redundant Storage (GRS)
Read-Access Geo-Redundant Storage (RA-GRS)
At the time of this writing, the service is limited to a
small number of regions, but is expected to be in wide
distribution (and perhaps generally available) by the
time you read this. Features might change in the interim.
Encryption scenarios supported at this time include
encryption of:
Blob files (block, append, and page blobs).
VM .vhd files that you bring from your on-
premises environment.
VMs that you create in Azure, such as from the
Azure Marketplace or from a customized template
you store in Azure.
Customers have asked whether VMs that have been
encrypted by using Azure Disk Encryption have
significant overhead, because these machines would have
double encryption if you also use Azure Storage Service
Encryption. This double encryption causes nominal
overhead. Although multiple encryption/decryption
operations still take place, the overhead isn’t comparable
to what you see with double encryption of network traffic
because with storage encryption, you don’t have the
protocol overhead also.
The following list provides key facts you should know
about Azure Storage Service Encryption:
Only Azure Resource Manager storage accounts
are supported.
You cannot encrypt classic storage accounts that
have been migrated to Azure Resource Manager
accounts.
Azure Storage Service Encryption will not encrypt
data that exists in a storage account prior to
enabling encryption on the account. If you enable
storage encryption on a storage account that
already has data in it, you will need to remove the
data from the account and then put it back in,
because the encryption takes place when the data
is actually placed into the storage account.
VMs created by using images available from the
Azure Marketplace are a special situation: the
base image will remain unencrypted, but any
subsequent writes will be encrypted. Because your
private data appears only on the subsequent
writes, your information is more secured.
Other types of Azure storage are not encrypted by
using Azure Storage Service Encryption; this
excludes table, queue, and file storage options.
In the Azure portal, you can access the Encryption
option when you view the details of your storage account,
as shown in Figure 4-4.
More
More Info
Info
To learn more about Azure Storage Service Encryption, read the article
“Azure Storage Service Encryption for Data at Rest” at
https://azure.microsoft.com/documentation/articles/storage-service-
encryption.
FILE SHARE WIRE ENCRYPTION
File shares have been around since the first file
servers were set up in datacenters. A file share is a
folder on a file server that might contain files or
subfolders, and those files and subfolders can be
accessed from over the network. The network protocol
used to connect to file shares is the server message
block (SMB) protocol (sometimes referred to as a
Common Internet File System [CIFS] protocol).
File servers are already a challenge to maintain. Often
complex clustering and replication is required to support
high availability and redundancy. This can end up taking
a lot of time, especially when something goes wrong.
That’s where a cloud-based solution can be handy.
Azure helps you in this area by providing Azure Files.
Azure Files use the same SMB protocol currently used
on-premises. Server and client applications that use the
SMB protocol to access file shares on-premises now can
also access information in Azure Files. In fact, you can
configure Azure file shares so that they are accessible
over the Internet through TCP port 445.
You don’t need to set up complex clustering and file
replication either, because availability and redundancy
are inherited from the Azure storage fabric itself. You can
have the same level of replication you have for any other
objects in your Azure storage accounts. That’s because
you create the file shares inside existing or new Azure
storage accounts.
One significant difference between on-premises file
shares and Azure Files is the level of access control. On-
premises, you can apply robust and granular access
controls to file shares and you can assign even deeper
NTFS permissions to the files inside of those file shares.
With Azure Files, access to objects within the share is
controlled by a single storage account key that gives the
same level of access to all files. There is also no Azure
Active Directory support for permissions assignment to
data contained within the file shares.
The exception to this is when you want to access
Azure Files programmatically. In this case, you can take
advantage of the REST API and generate a Share Access
Signature for a file share or even individual files. You can
do this by creating a shared access policy for the share.
More
More Info
Info
You can learn more about creating a shared access policy by reading the
“Generate a shared access signature for a file or file share” section of the
article “Develop with File storage,” at
https://azure.microsoft.com/documentation/articles/storage-dotnet-how-to-
use-files/#generate-a-shared-access-signature-for-a-file-or-file-share.
More
More Info
Info
To learn more about Azure Files, read the article “Get Started with Azure
File Storage on Windows” at
https://azure.microsoft.com/documentation/articles/storage-dotnet-how-to-
use-files/#develop-with-file-storage.
More
More Info
Info
You can learn more about StorSimple at https://www.microsoft.com/en-
us/server-cloud/products/storsimple/features.aspx.
Wire security
Over-the-network encryption protects you from
situations in which an attacker is able to tap the
transmission of data at any point in the network that
links the StorSimple system and Azure.
Data transmission between the StorSimple system
and cloud storage is encrypted by using Secure Sockets
Layer (SSL), supporting up to AES-256 session
encryption during data transfers between the StorSimple
system and Azure Storage. This encryption is separate
from the storage access keys and data-at-rest encryption,
although both of these measures are also in force when
data is on the wire.
Data at rest
Data-at-rest encryption helps protect you from
intruders who gain access to the storage access keys of
a storage account and then download your
information. It also helps protect you from common
situations such as when physical drives or tape media
are lost or stolen. With StorSimple, cloud provider
employees, contractors, or other entities cannot read
data because only you have access to the encryption
keys.
StorSimple encrypts data stored in the cloud with an
encryption key that you provide, and also uses AES-256
encryption that is derived from a passphrase you define
or one that is generated by a key management system for
you. Because StorSimple can support up to 64 storage
accounts, up to 64 different encryption keys can be used
in a single StorSimple system.
StorSimple also performs data deduplication. This
can help security by obfuscating data in both the
StorSimple system and in Azure Storage. When data is
deduplicated in the StorSimple system, it is translated
from host-directed storage blocks into content-
addressable data objects that are accessed by metadata
mapping information. The security advantage conferred
here is that the deduplicated data objects are stored
independently of the metadata. This means that no
storage-level context stored would allow access based on
volume, file system, or file names.
When it comes to Azure storage, the data objects in
Azure Storage are distributed across many cloud
datacenter physical disks. It’s not just “pieces of files”
that are distributed and easily reassembled. These bits
are managed by the fabric management system, and it
would require access to the Azure fabric management
system to reassemble this data. In general, 16 million
objects are distributed across an indeterminate number
of cloud storage disks for every 1 terabyte (TB) of data
stored in the cloud.
RIGHTS MANAGEMENT
Rights management is a mechanism that you can use
to help secure the data itself, without any
dependencies on the encryption or security
mechanism that might be available in the
infrastructure that supports that data. For example,
you can use rights management to help secure data
while that data is in flight, even if it is traveling over a
network by using an unencrypted protocol. Similarly,
rights managed data that sits on the disk is better
protected, even if the disk or the volume itself is
unencrypted.
This is the goal of security and where security experts
would like to be in the future. This allows data to be
easily shared among people who need to see the data,
while keeping those who don’t need to see the data away
from that data. The security is on the data itself, and not
inherited by another system.
You can get this kind of protection by taking
advantage of Azure Rights Management (RMS). Azure
RMS uses encryption to help secure the data that you
want to secure. Only users who are authorized to
unencrypt the file are allowed to do so. This means that
data is protected in two ways:
Authentication and authorization Users
must be able to authenticate. If they cannot
authenticate, then they are denied access to the
data. If they can authenticate but are not
authorized, then they cannot access the data. If
they can authenticate and they are authorized,
then they can receive the keys to decrypt the data.
Encryption The data is encrypted by using AES-
128 or AES-256. This prevents so-called “offline
attacks” against the data, which can be used in
some cases to circumvent certain authentication-
only–based access controls.
Specific files are protected. Files could be text,
presentations, graphics, videos, or virtually any other
type of file.
User identities are stored in Azure RMS as certificate
files. When a user encrypts a document, a small RMS
client application creates a content key and encrypts the
document with that key. The RMS client application
creates a certificate that includes a policy for the
document. This policy has the rights for the users or
groups and the restrictions on how the document can be
used. These policies are template based, so you don’t
have to create them from nothing.
After that, the RMS client uses the company’s key to
encrypt the policy and the content key. The RMS client
then signs the policy by using the certificate of the user
who set rights management on the file.
What happens when a user wants to read a rights-
managed protected file? The RMS client starts by
requesting access to the Azure RMS service. It sends the
document policy and the user’s certificate to Azure RMS.
The Azure RMS service decrypts and evaluates the policy
and creates a list of rights that the user has for the
document (assuming that the user has any rights to it; if
not, the process stops here).
The Azure RMS service decrypts the AES content key
from the decrypted policy and then encrypts it with the
user’s public RSA key that was obtained when the RMS
client made the request to the Azure RMS service to
access the document.
This re-encrypted content is embedded into an
encrypted use license and the list of user rights and is
sent back to the Azure RMS service.
At this point, the RMS client decrypts the use license
with its own user private key. This enables the RMS
client to decrypt the document so that you can see it on
your display.
Figure 4-8 provides a high-level depiction of the
process.
DATABASE SECURITY
Azure SQL Database includes a number of security
features and technologies that you can use to enhance
data security. These include:
Azure SQL Firewall
SQL Always Encrypted
Row-level security
Transparent data encryption
Cell-level encryption
Dynamic data masking
This section provides a short overview of what each of
these features does, and pointers to where you can learn
more about each of them.
More
More Info
Info
To learn more about the Azure SQL Firewall and how to configure it, read
the article “Configure Azure SQL Database firewall rules - overview” at
https://azure.microsoft.com/documentation/articles/sql-database-firewall-
configure.
More
More Info
Info
To learn more about SQL Always Encrypted, read the article “Always
Encrypted (Database Engine)” at
https://msdn.microsoft.com/library/mt163865.aspx.
Row-level security
SQL row-level security (RLS) makes it possible for
you to control access to rows in a database. Access
control to rows is based on the user context, such as a
user or group. RLS makes it easier to design and code
security in your applications.
For example, the feature helps ensure that users
access only the rows that are relevant to them, or
restricts customer access to only the data relevant to
their company. This capability helps you to enforce least
privilege throughout your organization and beyond.
Access restriction logic is located in the database tier,
in contrast to SQL Always Encrypted, which takes place
away from the data at the client tier. The database
service applies the access control each time there is an
attempt to access the data.
More
More Info
Info
To learn more about row-level security, read the article “Row-Level
Security” at https://msdn.microsoft.com/library/dn765131.aspx.
Transparent data encryption
Transparent data encryption encrypts data at rest.
As described earlier in this chapter, data-at-rest
protection is critical to protect against situations
where the physical media might be stolen, which
could lead to an attacker restoring the data or
attaching a database and browsing the data.
One solution to the problem is to encrypt high-value
data in a database and protect the keys that are used to
encrypt the data by using a certificate. This prevents
anyone without the keys from using the data.
Transparent data encryption performs real-time
encryption and decryption of both data and log files. The
encryption process uses a database encryption key. The
database encryption key is:
A symmetric key secured by a certificate stored in
either the master database or the server.
An asymmetric key protected by an Extensible
Key Management module.
With this feature, you have the ability to comply with
your organization’s security requirements, in addition to
government and industry compliance directives.
Transparent data encryption enables software IT pros to
encrypt data by using AES-encryption and 3DES-
encryption algorithms without requiring the need for
developers to change existing applications.
More
More Info
Info
To learn more about SQL transparent data encryption, read the article
“Transparent Data Encryption (TDE)” at
https://msdn.microsoft.com/library/bb934049.aspx.
Cell-level encryption
Cell-level encryption does just what it sounds like: it
provides encryption at the cell level. It works similarly
to transparent data encryption; however, transparent
data encryption and cell-level encryption accomplish
two different objectives.
If the amount of data that must be encrypted is small
or if the application can be designed to use cell-level
encryption and if performance is not a concern, cell-level
encryption is recommended over transparent data
encryption. Otherwise, you should use transparent data
encryption for encrypting existing applications.
More
More Info
Info
To learn more about cell-level encryption, read the article
“Recommendations for using Cell Level Encryption in Azure SQL
Database” at
http://i1.blogs.msdn.com/b/sqlsecurity/archive/2015/05/12/recommendatio
ns-for-using-cell-level-encryption-in-azure-sql-database.aspxv.
More
More Info
Info
To learn more about dynamic data masking, read the article “Dynamic
Data Masking” at https://msdn.microsoft.com/library/mt130841.aspx.
Chapter 5. Virtual machine protection
with Antimalware
Important
Important
More
More Info
Info
For more information about the capabilities of AMSI, go to
https://msdn.microsoft.com/library/windows/desktop/dn889588(v=vs.85).a
spx.
Antimalware
Antimalware under
under the
the hood
hood
Microsoft Antimalware is designed to run in the background without
human intervention. You can deploy protection and monitoring based on
the needs of your application workloads to enable real-time protection,
scheduled scanning, malware remediation, protection updates, and active
protection, and you can enable antimalware event collection to your
storage account for insight into the antimalware service health.
Rakesh Narayan
Program Manager, Microsoft Azure Antimalware Team
ANTIMALWARE DEPLOYMENT
The first step to deploy Antimalware is to add the
extension to your subscription. Complete the
following steps to perform this task:
1. Access the Azure portal and sign in to an Azure
account that has administrative privileges.
2. In the Azure portal, select New.
3. In the Search box, enter Antimalware, and then
select Microsoft Antimalware.
4. Select the Microsoft Antimalware that has VM
Extensions in the category column, as shown in
the last line in Figure 5-2.
FIGURE 5-2 Selecting the correct version of
Antimalware
Scan finished.
Cleaning started...
Cleaning finished.
More
More Info
Info
You can find more information about EICAR at www.eicar.org. To learn
how to create custom policies to turn on the UI, read the blog at
https://blogs.msdn.microsoft.com/azuresecurity/2016/03/09/enabling-
microsoft-antimalware-user-interface-post-deployment.
PS C:\> Add-AzureAccount
PS C:\> Select-AzureSubscription -SubscriptionName "<
PS C:\> $StorageContext = New-AzureStorageContext -St
account name>" -StorageAccountKey (Get-AzureStorage
storage account name>").Primary
PS C:\> Set-AzureServiceAntimalwareExtension -Service
name>" -Monitoring ON -StorageContext $StorageConte
More
More Info
Info
You can use PowerShell to deploy non-Microsoft antimalware solutions
also. Read more about deployment of other antimalware solutions at
https://azure.microsoft.com/blog/deploying-antimalware-solutions-on-
azure-virtual-machines.
{
"publisher": "Microsoft.Azure.Security",
"type": "IaaSAntimalware",
"typeHandlerVersion": "1.2",
"settings": {
"AntimalwareEnabled": "true",
"ExclusionsPaths": "Optional : ExclusionsPath
"ExclusionsExtensions": "Optional : Exclusion
"ExclusionsProcesses": "Optional : Exclusions
"RealtimeProtectionEnabled": "Optional : True
"ScheduledScanSettingsIsEnabled": "Optional :
"ScheduledScanSettingsScanType": "Optional :
"ScheduledScanSettingsDay": "Optional : Sunda
"ScheduledScanSettingsTime": "Optional : When
measured in minutes from midnight,0-1440"
}
}
More
More Info
Info
You can view the Audit Logs again to confirm that the
Remove Extension operation performed correctly, as
shown in Figure 5-17. You can also use the Remove-
5
AzureVMMicrosoftAntimalwareExtension PowerShell
cmdlet to remove the antimalware extension from your
VM.
5
For more information about the Remove-
AzureVMMicrosoftAntimalwareExtension cmdlet, go to
https://msdn.microsoft.com/library/dn771720.aspx.
Important
Important
Important
Important
Always use the latest version of PowerShell from
https://github.com/Azure/azure-powershell/releases.
Important
Important
Take note of the Key Vault URI; you will need it later.
Set-AzureRmKeyVaultAccessPolicy -VaultName De
DemoApp1
-ServicePrincipalName 75842e34-35bf-4e17-80
-PermissionsToKeys all -PermissionsToSecret
More
More Info
Info
If you do not have an application, you can download a sample app for Key
Vault from https://www.microsoft.com/download/details.aspx?id=45343.
More
More Info
Info
5. When you select the event (in this case, use the
Error event), another blade that has more details
about the event opens (see Figure 6-13).
FIGURE 6-13 More details about the operations that
generated this event
Important
Important
You can use Role-Based Access Control (RBAC) to delegate
administrative tasks to other IT personnel based on the need to access
information. For more information about this, read “Azure Security Center
Planning and Operations Guide” at
https://azure.microsoft.com/documentation/articles/security-center-
planning-and-operations-guide.
Detection capabilities
Security Center uses a combination of advanced
detection capabilities that are necessary to identify
3
threats throughout the entire attack. The following
table shows the four methods that are used by
Security Center to detect threats.
3
3
For more information, refer to the paper “A Discussion of Threat
Behavior: Attackers & Patterns” by Jonathan A. Espenschied at
http://aka.ms/bupuqk.
Management
Management of
of emerging
emerging threats
threats in
in Security
Security Center
Center
The threat landscape is rapidly evolving, and so is your IT environment.
Keeping up with both can be a challenge. The volume and sophistication
of attacks continues to increase, and new vectors are being exploited to
target cloud resources. Meanwhile, management of cloud workloads is
increasingly distributed across the organization, creating complexity for IT
security teams tasked with mitigating risk and defending against cyber
threats.
Sarah Fender
Principal Program Manager, Azure Security Center Team
Security
Security Center
Center detection
detection under
under the
the hood
hood
Azure Security Center uses a multi-layer approach to detect attacks on
your Azure environment. The first layer is Network Analytics, which is
used to detect incoming brute-force attacks and compromised machines
(bots) that are used for malicious activity (for example, sending spam).
This layer heavily uses machine learning to build usage profiles in order to
accurately perform the detections. The second layer is Virtual Machines
Behavior Analysis, which detects suspicious behavior on the VM by
analyzing security events and processes crash dumps. The third layer
includes alerts sent from deployed partner solutions and alerts generated
by the Azure resources themselves. Lastly, Azure Security Center fuses
the alerts from the different layers into incidents, which detail the attack
timeline and what the attacker actually performed.
Daniel Alon
Principal Program Manager, Azure Security Center Team
APPLY RECOMMENDATIONS
After you enable prevention policy, you need to wait
until Security Center initializes the data collection
process on all VMs that belong to the subscription (or
resource group) that you selected. The amount of time
it takes for this process to finish varies according to
the number of VMs and settings available on each
machine.
When this process completes, the recommendations
are displayed in the Prevention section of the Security
Center dashboard. In this section, you can view the
recommendations under Resource Security Health or on
the Recommendations tile, as shown in Figure 7-5.
FIGURE 7-5 The Prevention section in Azure
Security Center.
More
More Info
Info
For more information about Network Security Group (NSG), see Chapter
3, “Azure network security.”
More
More Info
Info
Chapter 10, “Operations and management in the cloud,” explores in more
detail how to use Security Center as part of your Incident Response
strategy.
More
More Info
Info
You can also use Power BI to visualize Security Center data related to
your security status, threats, and detections. For more information, read
the article “Get insights from Azure Security Center data with Power BI” at
https://azure.microsoft.com/documentation/articles/security-center-
powerbi.
Chapter 8. Internet of Things security
Whatever you call it, with predictions that the IoT will
grow to more than 38 billion devices by 2020 (up from
3
fewer than 14 billion in 2015) , and with many of those
devices containing multiple sensors, it becomes obvious
that the amount of data that will be generated is beyond
the scope of anything that the IT world has handled
before. Some of that data will be unimportant, some will
be mission-critical, and some will be confidential
business and personal information. All of it will travel
over the Internet: an inherently non-secure network.
3
For more information about these predictions, read the article
“‘Internet of Things’ Connected Devices to Almost Triple to Over 38
Billion Units by 2020” at www.juniperresearch.com/press/press-
releases/iot-connected-devices-to-triple-to-38-bn-by-2020.
Note
Note
Non-IP-enabled devices connect over Bluetooth or other short-range
protocols.
Important
Important
If this computer is behind a proxy, be sure to select Advanced and enter
Specify The Proxy Configuration.
More
More Info
Info
You can also deploy the agent by using a command-line interface (CLI) or
PowerShell. For more information about automating this process, read the
article “Connect Windows computers to Log Analytics” at
https://azure.microsoft.com/documentation/articles/log-analytics-windows-
agents.
RESOURCE MONITORING USING OMS
SECURITY AND AUDIT SOLUTION
After you configure your environment so that all
computers report to OMS, you can use the Security
and Audit solution to closely monitor your resources.
Open the OMS Portal (step 1 in the previous section).
On the main dashboard are tiles that represent
solutions; for example, the Malware Assessment tile
includes items managed by the Malware Assessment
solution. The number of dashboard tiles varies
according to the number of solutions you have.
In a hybrid environment where you want to more
securely manage resources that are on-premises and in
the cloud, you use the Security and Audit solution. The
information available in the tile varies according to the
environment. Figure 9-9 shows an example of 16
computers active in the last 24 hours and an increase of
198 in the number of accounts authenticated in the last
24 hours. To access this solution, click the Security And
Audit tile.
SCENARIO
Many people struggle to understand the difference
between on-premises computing and cloud
computing. Most of you have many years of
experience with on-premises computing, and with
that, on-premises security. You have your
technologies, processes, and procedures in place, and
those have all withstood the test of time.
But now you’re confronted with moving to the cloud.
How do you learn about cloud computing? How can you
use what you understand about on-premises computing
and apply that knowledge to cloud computing?
The following scenario might help you understand
cloud computing security. The scenario begins with a
fictitious company named Contoso. Contoso is a
multinational company and has a complex network that
includes approximately 25,000 users. The company’s
computing and network infrastructure has been in place
for more than 15 years. It has well-established security
controls in place for compute, networking, and storage.
The chief technical officer has given the Contoso IT
organization a directive to begin moving corporate assets
to the cloud. This directive is driven by the fact that the
company no longer wants to invest in expanding your
on-premises datacenters. The Contoso datacenters are
nearing maximum capacity. Any more compute, storage,
or networking expansion must be done with a public
cloud service provider.
The Contoso IT administrators have always been
careful in evaluating new solutions. Due to the nature of
the business, the company cannot risk extended periods
of downtime due to untested solutions. For this reason,
they have decided to begin with a small pilot project that
will result in extending the company’s on-premises
datacenter into the Azure public cloud.
The IT administrators first decide which cloud service
model to use. They know about infrastructure as a
service (IaaS), platform as a service (PaaS), and software
as a service (SaaS). Given that the motive for moving to
the cloud is to stop the rising costs of on-premises
datacenters, they decide that the best place for them to
start is with IaaS. They understand the benefits of PaaS
and SaaS, and will consider those cloud service models in
the future.
If possible, Contoso would like to mirror components
of its infrastructure in Azure IaaS. Its current
infrastructure provides, at a high level, the following:
A Class A private address network that has
multiple subnets
Network access control devices located between
subnets
Firewalls and proxies used for all Internet
connectivity, inbound and outbound
Multiple perimeter networks in place at the
Internet edges
Dedicated storage arrays used to support file
services and database servers
Widespread use of virtualization, mostly Hyper-V,
but with islands of VMware and Citrix
Active Directory–integrated DHCP service
Active Directory–integrated authentication for
the company’s applications
Microsoft Antimalware on all client systems, and
non–Microsoft antimalware on servers
Multitier applications
Given that this is the company’s current design, what
can the Contoso IT administrators do to instantiate a
similar design in Azure?
DESIGN CONSIDERATIONS
The IT administrators need to consider the following
design issues when extending their on-premises
infrastructure into Azure IaaS.
How will they connect their on-premises
infrastructure to Azure Virtual Networks?
How will they handle IP addressing?
How is subnetting done in Azure?
How is network access control done between
subnets?
How is inbound and outbound Internet access
controlled on Azure Virtual Networks?
How is storage deployed and managed in Azure?
How do they map their current VM sizes to the
sizes available in Azure?
How do they deploy multitier applications in
Azure?
How do they improve security and perform
incident response in Azure?
How do they integrate their on-premises identity
infrastructure with Azure?
How do they protect their VMs from viruses and
other types of malware?
The IT administrators asked all these questions and
performed their due-diligence research. After reviewing
their options, they decided on the following for the initial
design for their pilot project:
The goal of the pilot project is to show that they
can effectively extend their on-premises
infrastructure into Azure.
They will use a site-to-site VPN for the initial
phases of the project. Subsequent project phases
will use Azure ExpressRoute so that the IT
administrators have the bandwidth needed to
deploy multiple applications in Azure IaaS.
On-premises subnets are defined by the roles of
the servers on those subnets. The IT
administrators will do the same in Azure, by using
a Class C private address space, and creating a
subnet so that they can add more Azure Virtual
Networks in the future. They are also careful not
to overlap their address spaces between on-
premises and Azure.
Network access control between subnets will
initially be performed by Network Security
Groups (NSGs). In the future, the IT
administrators will investigate using virtual
network appliances, which will give them an
additional level of security.
Inbound and outbound access from and to the
Internet will be controlled by NSGs. In addition,
the administrators will configure forced tunneling
so that VMs on Azure Virtual Networks are not
able to initiate outbound connections to the
Internet but can respond to inbound requests.
Azure Storage will be used to support databases
and file services.
The IT administrators will map on-premises VM
sizes to those available in Azure. They will also
standardize VM sizes to simplify the deployment.
Multitier applications will be deployed by placing
each tier on different subnets and by creating
NSG rules to apply to all VMs in each subnet. This
will simplify network access control management.
Incident response will use Azure Security Center.
Microsoft Antimalware will be installed on all
VMs.
They will extend their on-premises Active
Directory deployment into Azure so that they do
not need to change their authentication scheme.
They will integrate Azure Active Directory (Azure
AD) with their on-premises Active Directory so
that they can use their on-premises credentials to
manage their infrastructure through the Azure
portal.
Figure 10-1 provides a general view of the structure of
the pilot project.
FIGURE 10-1 The Contoso pilot project
Operations
Operations security
security
The last thing any blue team member, incident handler, monitoring analyst,
or forensic investigator wants to hear is, “Logs? What logs? We don’t have
any logs.” As you consider adopting or expanding your use of Azure cloud
services, be sure to consider the need for more secure management of
those resources. There are very clear methods for avoiding the “What
logs?” scenario, as provided by Azure Security Center. From your Azure
portal, you have immediate access to these tools.
Azure Security Center helps you set security policies for your
deployments, implement security recommendations to ensure best
practices are adhered to, and monitor the security health of your assets, in
addition to the partner solutions you might be using.
If you need detection and response, you can enable the robust options in
Azure Security Center to manage security alerts. You can enable alerts for
brute-force attempts via network and endpoint. You might want to know
when your VMs are communicating with malicious IP addresses, or worse,
when those same VMs show signs of being compromised.
Above all else, remember to enable, and leave enabled, Azure Security
Center data collection. With data collection ensuring that you have an
audit trail, and activity history, the Azure Monitoring Agent and the Azure
Security Monitoring extension will scan for security-relevant data to send
to Event Tracing for Windows (ETW). The Azure Monitoring Agent also
reads your operating system event logs; ETW traces and writes the logs to
the storage account you enable, along with security policies. The
Monitoring Agent even includes crash dumps for in-depth analysis.
Azure Security Center gives you a convenient and centralized feature set
that you can use to help protect, detect, and respond to your Azure
deployments. No more “We don’t have those logs.” Feel empowered to
conduct insightful root cause analysis and be able to instead say, “We
prevented that attack and understand our adversary’s behavior.” The only
thing you’ll hear thereafter will be “Job well done.”
Russ McRee
Principal Security PM Manager, Windows & Devices Group
After the IT administrators complete the onboarding
process, they should focus on following the
recommendations explained in Chapter 7, “Azure
resource management security.” After they apply all
recommendations and the environment is stable, then
the ongoing secure management takes place. Most of the
operations management will be done by reviewing the
information in the Prevention section of the Security
Center dashboard, shown in Figure 10-2.
A
access keys, StorSimple 97
access rules for firewalls 102–103
Active Directory Domain Controllers 73
Add Access blade 23–24
Add A Next Generation Firewall blade 148
Add Extension blade 110
AD FS synchronization with on-premises AD DS 29–32
AI (artificial intelligence) 165
alerts
Fusion method 139
responding to 152–155
timeline graphs 152
AMSI (Antimalware Scan Interface) 108
Antimalware
cloud service (PaaS) deployment options 108
deploying via PowerShell 114–115
uninstalling 120–121
virtual machines (IaaS) deployment options 108
Antimalware deployment 109–110
to existing virtual machines 110–115
to new virtual machines 115–119
options 108
Antimalware Scan Interface (AMSI) 108
antimalware state, accessing 184–185
application logic servers 73
Applications blade 151
Applications security health resource 151–152
apps
configuring to use Key Vault 126–132
passwords 49
artificial intelligence (AI) 165
assuming breach and isolation 12–14
authentication
multi-factor 44–47
StorSimple 97
authentication and authorization 19–20
availability 81
Azure Active Directory Application Proxy 70
Azure AD
authentication and authorization 19–20
identity protection 38–40
on-premises integration 25–31
Azure AD Connect 25–27
Azure AD Identity Protection 36–42
Azure AD Identity Protection blade 37
Azure Application Gateway 82
Azure design principles 17
Azure Disk Encryption 89–91
Azure Files 94–96
Azure hierarchy 20–21
Azure IoT Hub 175
Azure IoT Hub Registry 174
Azure IoT Security 174
Azure IoT Suite 173–175
Azure Key Vault 89
Azure Multi-Factor Authentication
configuring options 48
implementing 45–47
licensing options 45
Azure portal 51
Azure Rights Management (RMS) 99–101
Azure security architecture 15–17
Azure Security Center See Security Center
Azure security mechanisms 173
Azure SQL Firewall 102–103
Azure Storage Service Encryption 92–94
Azure Traffic Manager 67
Azure Virtual Networks 53
connecting using site-to-site VPN 75–76
IP address schemes 54
name resolution 56
B
baseline rules threat prevention policy 140
big data analytics 164
big data, IoT 164
binary large objects 92
biosensors 161
blades
Add Access 23–24
Add A Next Generation Firewall 148
Add Extension 110
Azure AD Identity Protection 37
Detail 134–135
Events 133
Extensions 112, 116
Failed RDP Brute Force Attack 153–154
Included 40
Log Analytics (OMS) 178–179
Networking 148–149
OMS Workspace 179
Prevention Policy 143
Recommendations 145
Resource Groups 22
Security Alert 153
SQL 150–151
User Risk 40
Users 23
Virtual Machines 147–148
blob files 92
breach, assuming 12–14
bring-your-own-device (BYOD) DNS server 56
broad network access cloud computing 8
Brute Force Attack blade 153–154
C
cell-level encryption 104
classic portal 51
cloud
analyzing resource data 178
Azure IoT Security 174
cloud adoption, security considerations 1–6
cloud computing
broad network access 8
characteristics of 8–9
measured service 9
NIST definition 7–8
on-demand self-service 8
rapid elasticity 8
resource pooling 9
cloud deployment models 10
cloud security
Azure IoT Suite 174
compliance 1–2
considerations 1
vs. datacenter security 12
data protection 5–6
endpoint protection 4
example scenario 193–194
identity and access management 3
operational security 3
public cloud, distributed responsibility for 11–13
risk management 2–3
shared responsibility for 6–7
cloud service models 9
cloud services (PaaS), antimalware deployment 108
commands
Enable-ADSyncExportDeletionThreshold 25
Get-ADSyncScheduler 25
storing 175
community cloud 10
compliance 1–2
confidentiality 81
connection security, Azure IoT Security 174
cross-premises connectivity 62–64
D
data-at-rest encryption 98
data collection, threat prevention policies 141–143
data deduplication 98
data encryption
authentication 97
cell level 104
data-at-rest 104
hybrid 96–98
SQL Always Encrypted 103
StorSimple 96–98
transparent 104
wire security 98
data protection 5–6
data security
rights management 99–102
SQL Always Encrypted 103
database security
Azure SQL Firewall 101–102
cell-level encryption 104
dynamic data masking 105
row-level security 103
SQL Always Encrypted 103
transparent data encryption 104
database servers 73
databases 103
datacenter security vs. cloud security 12
datacenters, extending into Azure 85
dedicated WAN links 64
default system routes 57–58
demilitarized zone 80
denial-of-service (DOS) 63
Detail blade 134–135
device IDs 174
devices 174
DHCP servers 55
disk encryption 89–91
DMZ 80
DNS servers 56, 73
Domain Name System (DNS) global load balancing 67
DOS (denial-of-service) 63
drivers, SQL Always Encrypted 103
dual-connection 78
dynamic data masking 105
dynamic IP addresses 54
E
Enable-ADSyncExportDeletionThreshold command 25
encryption
Azure Disk Encryption 89–91
Azure Rights Management 99–101
Azure Storage Service Encryption 92–94
cell-level 104
data-at-rest 98
file share wire 94–96
hybrid data 96–98
rights management 99–100
SQL Always Encrypted 103
storage 92–94
storage redundancy levels 92
transparent data 104
virtual machines 88–89
encryption keys 95
Azure Key Vault 89
Key Vault 124–125
location 89
StorSimple 98
endpoint protection 4
Endpoint Protection threat prevention policy 140
Events blade 133
Exchange Provider connectivity 64
ExpressRoute
dedicated WAN links 64
in hybrid ITs 80
Extensions blade 112, 116
external load balancing 65, 82
F
federation 28–29
file encryption, rights management 99–101
file shares
encryption 94–96
on-premises access control 95
file share wire encryption 94–96
firewalls
access rules 102
Azure SQL Firewall 102–103
host-based, configuring on IaaS virtual machines 76
forced tunneling 78–79
forensics investigation 201–202
forward proxy 70
G
gateway-to-gateway VPNs 62
Get-ADSyncScheduler command 25
global load balancing 66–67, 83
H
HNV (Hyper-V Network Virtualization) 53
host-based firewalls, configuring on IaaS VMs 76–77
HTTP-based load balancing 81–82
hybrid cloud 10
hybrid data encryption 96–98
hybrid IT 80
hybrid network connections 59
Hyper-V Network Virtualization (HNV) 53
I
IaaS (infrastructure as a service) 9
IaaS virtual machines, configuring host-based firewalls
76–77
identity and access management 3
identity protection
authentication and authorization 19–23
with Azure AD 38–40
Azure Multi-Factor Authentication 44–47
enabling notifications 42–43
on-premises integration 25–31
suspicious activity 34–35
vulnerabilities 42–43
identity provisioning 3
identity registry, Azure IoT Hub 175
identity verification options 45
image sensors 161
incident remediation 198–199
Included blade 40
infrastructure as a service (IaaS) 9
integrity 81
internal load balancing 66, 82
internet 157
IoT (Internet of Things)
attacks 170
big data 164
devices 165–167
devices, compromising 171
infrastructure 170
overview 157–160
security challenges 165–169
threat modeling 170–171
Windows 10 editions 172
IP addresses
access control 102
dynamic 54
public 54
static 54
virtual machines 55
IP address scheme, Azure Virtual Network 54
IPsec 76
K
keys 123, 175
Key Vault
configuring apps to use 126–132
creating 129–131
monitoring events 132–135
L
licensing options, Azure Multi-Factor Authentication 45
link-layer connection 61
load balancing 65–67, 81–83
Log Analytics 178–179
logon attempts, tracking 188
M
Malware Assessment dashboard 185
measured service cloud computing 9
MEMS (micro electro-mechanical systems) 161
Microsoft Antimalware
See Antimalware; Antimalware deployment
monitoring resources 183–187
MPLS (multiprotocol line switching) 64
Multi-Factor Authentication See Azure Multi-Factor
Authentication
multiprotocol line switching (MPLS) 64
N
name resolution 56
network access control 56–57, 80
network availability 65–67
network intrusion detection system (NIDS) 67
network security
See also security
Azure Security Center 84–85
best practices 71–85
dedicated WAN links 64
forced tunneling 78–79
IP address schemes 54
network access control 56–57
network intrusion detection system (NIDS) 67
network logging 67–68
Network Security Groups 56–57
perimeter networks 80
proxies 70–71
public name resolution 69
reverse proxy 69–71
routing tables 58
site-to-site VPN 62–63
SSTP VPN protocol 61
subnets 54
subnetting networks based on security zones 73–74
network security appliances 69
Network Security Groups (NSGs) 56–57, 74–75
Network Security Group threat prevention policy 140
Networking blade 148–149
networking security health resource 148
Next Generation Firewall threat prevention policy 140
NIDS (network intrusion detection system) 67
notable issues 189
NSGs (Network Security Groups) 56–57, 74–75
O
OMS Security and Audit
dashboard 184
Log Analytics, configuring 178–179
resources, monitoring 183–187
OMS solutions 180–182
OMS Workspace blade 179
onboarding new resources 140
on-demand self-service cloud computing 8
on-premises
analyzing resource data 178
storage solutions 96–98
on-premises AD DS, synchronizing with Azure AD
Connect 26–27
on-premises infrastructure, extending into Azure IaaS
194–196
on-premises integration 25–31
on-premises networks
cross-premises connectivity 62–63
dedicated WAN links 64
operational security 3–4
operations management 196
Operations Management Suite Security and Audit See
OMS Security and Audit
P
PaaS (platform as a service) 9
password hash sync 25
PAWs (Privileged Access Workstations) 4
perimeter networks, Internet-facing devices 80
platform as a service (PaaS) 9
point-to-site VPN 61
policies
sign-in risk 41–42
user risk 39–40
portals 51
PowerShell, deploying antimalware 114–115
prevention policies
enabling 141–143
recommended, applying 144–147
types 140
Prevention Policy blade 143
private cloud 10
Privileged Access Workstations (PAWs) 4
proxy 69–71
public addresses 54
public cloud 10–12
public name resolution 69
R
rapid elasticity cloud computing 8
RBAC (Role-Based Access Control) 15
delegating administrative tasks 138
key roles 21
RDP (Remote Desktop Protocol) 59–60
Recommendations blade 145
remote access connection options 59
Remote Desktop Protocol (RDP) 59–60
reports, access and usage 34–35
Resource Groups blade 22
resource monitoring 183–187
resource pooling cloud computing 9
resource security health 147–152
resources
access control roles 21
monitoring 184–185
security health 147–152
reverse proxy 69–71
rights management 99–102
risk management 2–3
RLS (row-level security) 103
RMS (Azure Rights Management) 99–101
Role-Based Access Control (RBAC) 15, 21
roles
access control 21
assigning 22–23
routing tables 57–58
row-level security (RLS) 103
S
SaaS (software as a service) 9
screened subnet 80
secret 123
secure infrastructure 173–175
Secure Shell Protocol (SSH) 59–61
Secure Socket Tunneling Protocol (SSTP) 59, 61
security
See also network security; Security Center
alerts, responding to 152–155
assume breach and isolation 12–14
Azure architecture 15–17
Azure Disk Encryption 89–91
Azure IoT Hub 175
Azure IoT Security 174
Azure IoT Suite 173–175
Azure Multi-Factor Authentication 44–47
Azure SQL Firewall 102–103
breach and isolation 12–14
cell-level encryption 104
cloud 1–6, 174
cloud vs. datacenter 12
connections 174
data-at-rest encryption 98
databases 101–104
detecting threats 138–140, 152–153
device IDs 174
devices 174
dynamic data masking 105
enabling data collection 141–143
encryption keys 89
firewalls 102–103
identifying suspicious activity 34–35
incidents, responding to 152–155
IoT challenges 165–169
onboarding new resources 140
public cloud, distributed responsibility for 11–13
recommended prevention policies, applying 144–147
resource health 147–152
rights management 99–102
row-level security 103
StorSimple 96–98
threat prevention policies 140
virtual machine encryption 88–89
security alerts
ranking by criticality 189–190
responding to 152–153
Security Alerts blade 153
Security Alerts tile 152–153
Security Center
See also security
data collection, enabling 141–143
fusing alerts into incidents 141
operations management 196
prevention policies 140
recommended prevention policies, applying 144–147
threats, detecting 138–141
security events, identifying triggered 186
security health resource categories 147–152
Security Incident Response Process 138
security mechanisms in Azure 173
security state monitoring 184–185
sensors 160–162
ServicePrincipalName parameter 130
Set-AzureRmVMExtension cmdlet 114
Share Access Signature 95
sign-in risk policy 41–42
site-to-site VPN 62–63, 75–76
software as a service (SaaS) 9
split-tunneling 78
SQL Always Encrypted 103
SQL Auditing threat prevention policy 140
SQL blade 150–151
SQL row-level security (RLS) 103
SQL security health resource 150
SQL Transparent Data Encryption threat prevention
policy 140
SSH (Secure Shell Protocol) 59–61
SSTP-based point-to-site VPN 61–62
SSTP (Secure Socket Tunneling Protocol) 59, 61
static IP addresses 54–55
storage encryption 92–94
storage solutions 96–98
StorSimple 96–98
subnets 54
defining 73
networks based on security zones 73–74
rules 74
suspicious activity
explanations 200
identifying 34–35
system updates threat prevention policy 140
T
threat intelligence 139
threat modeling 170–171
threats
active, identifying 185
applying recommended prevention policies 144–147
detecting 138–139
prevention policies 140
remediated, identifying 185
responding to 152–153
traffic, controlling with User Defined Routes 77
transparent data encryption 104
U
update servers 73
User Defined Routes 58, 77
User Risk blade 40
user risk policy 39–40
users, assigning roles 22–23
Users blade 23
utility computing 7
utility model 7
V
virtual machine bus (VMbus) 59
virtual machines (VMs)
accessing remotely 59–60
Azure Disk Encryption 89
and Azure Virtual Network 53
controlling access to 57
controlling traffic 77
dedicated addresses 55
default system routes 58
deploying antimalware to existing 110–115
deploying antimalware to new 115–119
direct connections to 60
disabling management protocols 83–84
encryption 88–89
IP addresses 55
User Defined Routes 77
Virtual Machines blade 147
virtual machines (IaaS), antimalware deployment 108
Virtual Machines security health category 147
virtual network infrastructure 53–54
virtual network security appliances 79
virtual private connections See VPNs
VMbus (virtual machine bus) 59
VMs (virtual machines)
accessing remotely 59–60
Azure Disk Encryption 89
and Azure Virtual Network 53
controlling access to 57
controlling traffic 77
dedicated addresses 55
default system routes 58
direct connections to 60
disabling management protocols 83–84
encryption 88–89
IP addresses 55
User Defined Routes 77
VPNs
gateways 63
gateway-to-gateway connections 62
link-layer connections 61
site-to-site 75–76
site-to-site connections 62–63
SSTP-based point-to-site 61
W
Web Application Firewall threat prevention policy 140
web front-end servers 73
web proxy 70
Windows 10, IoT editions 172
Windows Agent installation 180–181
Windows Defender 108
wire security 98
Z
zettabyte 163
About the authors