Hello, and welcome to this Pluralsight presentation.
My name is Andrew Mallett,
and I'm going to be your instructor as I help guide you through the module,
Implementing Firewalls with Firewalld.
Now of course as we go through this module,
we're going to be taking a look at securing our
system using host‑based firewalls.
The first firewall that we look at, and what we look at in this module,
is firewalld.
We find this by default on our Red Hat‑based systems,
so we're using AlmaLinux 8.5 for this demonstration.
With firewalld we could look at the tool that we use to manage the firewall,
so firewall‑cmd, the idea of firewall zones and how they work for us,
and then looking at configuring our firewall rules.
The lab system, as I say,
we're going to be concentrating on our AlmaLinux 8 system,
using firewalld.
Ubuntu 20.04 or any of our other systems can be our remote
client so we can test our firewall actions.
Now of course we can protect our network from external attack through firewalls,
but remember that security is meant to be this onion approach.
So even though we know we are controlling access from the
outside world through our border gateways,
we might as well implement firewalls on each of our hosts.
This way we can protect against unauthorized access from internal systems,
as well as protecting against any failure that we might
have within our border firewalls.
When we're looking at Red Hat Enterprise Linux and any of its variants,
firewalld is the default management system.
When we look at older versions in RHEL 7 and before, the back end was iptables.
In RHEL 8, and any of its variants, the back end is nftables.
So firewalld is our firewall management system,
but in the back end we have our kernel‑based firewalls,
either iptables or nftables.
Nftables just allow to group rules together so I don't need
separate rules for IP version 6 or IP version 4.
Our main command that we're going to use to manage our firewall is firewall‑cmd.
We need to manage this as root so it is easy to go
through and gain an administrative shell,
we're going to be doing a lot of work as the root user.
We can check our state, and obviously we want to see that it's running,
but if not, we can make sure that we start the firewall.
We can use the list‑all to list our rules.
This'll be from the default zone,
and it'll be looking at the running configuration.
We also have a back‑end configuration, and that's our permanent configuration,
those rules that are loaded by default.
So list‑all will list the runtime configuration.
If we want to look at the persisted information,
then we can use the ‑‑permanent switch.
The rules are stored, by default, in usr/lib/firewalld,
but anything that we overwrite would be inside of etc and firewalld.
Now,
the best way to start learning about the firewall is to start
digging into our system and seeing what our vagrant system comes as configured out of the box.