Instructor: Virtualization is important to the security
of both our on-premise and cloud servers.
Now virtualization has continued
to increase in recent years,
helping reduce the need for additional power,
space and cooling for our server rooms
and reducing the physical architecture involved
in supporting our information technology operations.
Now what is virtualization?
Well, virtualization is a host computer
that's installed with a hypervisor
that can be used to install
and manage multiple guest operating systems
or virtual machines, which are known as VMs.
Now what does this look like?
Well, essentially, you have a piece of hardware
that's called the bare bones or bare metal
and then you install some sort of virtualization software
on top of it and that will be known as a hypervisor.
Now the hypervisor actually comes in two types.
You can have a bare bones or bare metal hypervisor
where it runs natively on the hardware
or you can have an operating system
with a hypervisor running on top of that operating system
and this is our second type.
So for example, on my laptop, I have a MacBook Pro,
and on that MacBook Pro, I have the Mac Operating System.
And in that Mac Operating System,
I've installed a hypervisor known as VMware
that I can actually run Windows on
inside of a virtual machine on top of my Mac.
Now as part of that hypervisor virtualization,
I can then install the guest operating system,
in my case, Windows, and add any applications that I want.
So on my particular Mac system,
even though I'm running Mac as my OS
as the host operating system,
I have a virtual machine that has Windows 10 on it
and I have another one that's running Ubuntu Linux.
I have another one running Kali Linux and things like that.
That way, I have access to all of these operating systems
for whichever programs I need
or whatever demonstrations I'm trying to do in my courses.
So when we're using virtualization,
each server or host is going to run its own operating system
inside of that virtual machine,
but the virtual machines are run on top of the hypervisor.
A hypervisor is used to manage the distribution
of the physical resources of a server or host
to those virtual machines,
including the amount of processing, memory
and hard disc space that each one is going to get.
Now, as I already said, hypervisors come
in two different types or flavors.
We call these type one and type two.
A type one hypervisor is also known as bare metal
because it runs directly on the host hardware
and it functions as the operating system itself.
Examples of this would be things like Hyper-V,
XenServer, ESXi and vSphere.
All these are type one hypervisors.
Now type two hypervisors run from within
a normal operating system.
Something like Windows, macOS X or Linux.
For example, if we use VMware workstation
or VirtualBox inside of a Windows 10 desktop,
that is considered a type two hypervisor.
With either a type one or type two hypervisor,
we still need to ensure that each virtual machine
runs its own copy of an operating system.
Something like Red Hat Linux or Windows Server 2019.
These servers all require the same updates,
security patches and hot fixes
just like a traditional server would,
so we have to keep track of each of these virtual machines
and make sure that we have its security posture
well in tune.
Now virtualization usage across the industry
has really grown exponentially.
Virtualization began with server virtualization
and now it's expanded into providing applications to users
from a central location as well.
There are really two models used
to provide virtualized application services.
These are known as server-based application virtualization,
or terminal services,
and client-based application virtualization,
known as application streaming.
Now terminal services
is a server-based virtualization solution
that runs the application on servers
in a centralized location
and the users access that application
through a remote client protocol
like Microsoft's RDP or Citrix's ICA.
Examples of this are Microsoft Terminal Services
and Citrix XenApp.
Application streaming, on the other hand,
is a client-based virtualization solution
that allows an application to be packaged up
and streamed directly to a user's PC.
This creates a sandbox application computing environment
that's isolated from the user's operating system.
Now Microsoft's App-V is a great example of this technology.
The benefits of using either terminal services
or application streaming
is that we can actually force
additional security protections onto it.
Things like encryption, access control to the server
and preventing data from being stored locally
on an end users machine
to help ensure the security of that data.