Instructor: In this lesson,
we will learn about access control.
Access control manages and enforces
who can access specific resources within a system
based on predefined policies and user roles.
Access control concepts include Single Sign-On, or SSO,
Kerberos, and Privileged Access Management, or PAM.
Single Sign-On, or SSO, is an authentication process
that allows users to access multiple applications
or services with one set of login credentials.
Kerberos is a network authentication protocol
that uses tickets to allow entities
to securely prove their identity to one another
over a non-secure network.
And Privileged Access Management, or PAM,
controls and monitors access to critical systems
and sensitive information
by granting elevated privileges only when needed.
Let's learn more about Single Sign-On, Kerberos,
and Privileged Access Management.
First, we have Single Sign-On.
Single Sign-On, or SSO, is an authentication method
that allows users to access multiple applications
or services with a single set of login credentials
within a domain or organization.
This process simplifies user experience
by reducing the need
to remember multiple usernames and passwords,
making it easier and faster
for users to log in to various systems.
SSO increases security
because users are less likely to write down
or forget their credentials,
reducing the chances of password related security breaches.
It also allows organizations to manage
and enforce password policies more effectively
since there is only one set of credentials to maintain.
Second, we have Kerberos.
Kerberos is a network authentication protocol
designed to provide secure identity verification
over non-secure networks.
And it is widely used
in Microsoft active directory environments.
Kerberos uses a ticket-based system
to authenticate users and services,
allowing them to securely prove their identity
and communicate across the network.
The Kerberos authentication process
begins with a user requesting access to a service
by authenticating to a Kerberos server.
But instead of sending the plain text password
across the network,
the user's password is used locally to encrypt the request.
Once authenticated, Kereberos uses time-stamped tickets,
specifically a ticket granting ticket,
and service tickets to manage session security.
Each ticket has a limited lifespan,
which ensures that access is time bound
and reduces the risk of misuse if a ticket is intercepted.
So, when a user attempts to access a resource,
they present a service ticket,
which is issued by the Kerberos server
after the user has authenticated
and received a ticket granting ticket.
The service being accessed
then verifies the service tickets validity
granting or denying access
based on the credentials within the service ticket.
Kerberos also supports mutual authentication,
meaning both the user and the service
verify each other's identity,
adding an extra layer of security.
Kerberos is commonly integrated
into Single Sign-On systems,
providing a secure method for managing authentication
across multiple services
without repeatedly asking for credentials.
Third, and finally, we have Privileged Access Management.
Privileged Access Management, or PAM,
is a security strategy that controls
and monitors access to critical systems
by managing user privileges.
PAM focuses on ensuring that only authorized users
can gain elevated access to sensitive resources
and perform high-risk tasks.
PAM does this by granting privileged access
on a just-in-time basis,
meaning elevated privileges
are only given when needed for specific tasks.
This approach helps to minimize the risks
associated with excessive or unnecessary access rights,
reducing the potential for unauthorized actions
that could compromise system security.
PAM works by enforcing strict access controls
and policies that govern
who can access sensitive resources and when.
It involves tools and technologies
that automatically manage, audit,
and monitor the use of privileged accounts.
For example, PAM Solutions
can automatically rotate passwords, manage sessions,
and enforce multi-factor authentication
to ensure that only the right users
have access at the right time.
By continuously monitoring privileged activities,
PAM can detect suspicious behavior
and respond quickly to potential threats,
providing a critical layer of defense
against both internal and external attacks.
Another key component of PAM
is its ability to provide detailed auditing
and reporting of privileged access.
This allows organizations to track
and record all actions taken by users
with elevated privileges,
providing accountability and visibility
into how sensitive systems are being accessed and used.
This level of monitoring helps meet compliance requirements
and ensures that security policies are being followed.
By controlling and monitoring privileged access,
PAM significantly reduces the risk of data breaches,
insider threats, and other security incidents.
Now let's take a look at Privileged Access Management
or PAM configuration on a Linux machine.
Configuring a sudoers file
is an example of Privileged Access Management.
The sudoers file controls which users have the ability
to execute commands with elevated privileges
by specifying permissions for certain commands
or groups of commands.
This helps enforce the principle of least privilege,
ensuring that users only have the access necessary
to perform their roles.
By carefully configuring the sudoers file,
administrators can manage and limit privileged actions,
thereby enhancing security
and reducing the risk of unauthorized access
to sensitive functions.
I am logged into this Kali Linux virtual machine
with the Kali user, which is an administrator,
so it has elevated privileges and permissions.
Let's demonstrate that with a few commands.
We'll start out with sudo apt update,
and you can see the update occurred.
Now let's install a simple package, sudo apt install htop.
The package is installing and once it's installed,
we'll open it up just to show that it's working.
There it is.
Now let's uninstall that package,
sudo apt remove htop.
Okay, the package is removed,
but remember that was all done with my Kali login,
which is an administrator.
So let's create a simple user called Jeremiah,
sudo adduser jeremiah.
We'll type in a password
and some information about the account.
Okay, now let's switch to the user Jeremiah.
Because this is a user level account,
it doesn't have the administrative permissions
to install updates or packages.
Let's go ahead and test this out, sudo apt update,
type in the password.
Ah, Jeremiah is not in the sudoers file.
We'll find the same thing true
if we try to install htop.
Again, not in the sudoers file.
So let's take a look at the sudoers file.
First, we'll exit out of this account.
Now we'll go to the sudo file.
Alright, I have a command already written in here
that will give the user Jeremiah the privileges
and permissions to use apt update and apt install htop.
Notably, I'm not giving this account
the ability to remove the htop package
once it's been installed.
So, I have un-commented out the line
and I'll go ahead and save the sudoers file.
Now, let's log back in to that Jeremiah account.
Okay, now since Jeremiah is in the sudoers file,
there should be some elevated privileges
and permissions that can be run, specifically apt update.
And you can see it's running.
Also recall that we added in the ability
to install the package htop.
Sudo apt install htop.
And you can see it's installing.
Once it's installed,
we'll open it up just to show that it's working.
What we notably didn't do
was give the permissions in the sudoers file
to remove this package, but let's try it.
Ah, not allowed to execute apt remove htop as root on kali.
So, you can see that this user is restricted
in what privileges and permissions it can use.
So to summarize, in this demonstration,
we created a user account
and verified that it did not initially have permissions
to run administrative commands
as it was not included in this sudoers file.
By adding the user to the sudoers file
with specific permissions for apt update
and apt install htop,
we controlled their access to only these commands.
Then, switching to the user account,
we confirmed that the user could now perform
those administrative tasks,
but nothing beyond what was explicitly allowed.
Remember, we did not explicitly give permission
to remove the package.
So when we tried, it failed.
This setup exemplifies Privileged Access Management
as it restricted and managed elevated access,
ensuring the user could only execute the specified commands
necessary for their role.
So remember, access control is a security measure
that manages who can access specific resources
within a system based on policies and user roles.
It includes methods like Single Sign-On, Kerberos,
and Privileged Access Management,
each serving a unique purpose in securing access.
Single Sign-On simplifies user authentication
by allowing access to multiple services
with one set of credentials.
Next, Kerberos provides secure authentication
using a ticket-based system that verifies identities
without sending plain text passwords across the network.
Finally, Privileged Access Management
controls elevated access to sensitive systems,
granting privileges only when necessary,
and continuously monitoring
for unauthorized activity,
like a series of failed logins or a not secure password
to protect against security threats.