The security features in Fedora make it one of my favorite Linux distributions. And that is partly why it is in my list of the top 6 KDE distributions of 2011, even though it takes some tweaking to get it to the it just works state. I will take the security advantages of an operating system over any user-friendliness weaknesses, provided those user-friendliness weaknesses are not show stoppers.
Two of the four security features in Fedora 16 are enabled out of the box. The others are optional features that can be configured during installation. So, let us look at those two optional security features first.
Boot Loader Password: Access to the boot loader’s console is one of the easiest means to gain access to the innards of a system. By password-protecting it, you make it that much difficult for an unauthorized user to gain access at that level. The screen shot below shows the boot loader setup step.
Specifically, you would want to password-protect GRUB 2, the boot loader used in Fedora 16, for the following reasons:
- Prevent Access To Single User Mode — If an attacker can boot into single user mode, he becomes the root user.
- Prevent Access To the GRUB Console — If the machine uses GRUB as its boot loader, an attacker can use the edit the command’s interface to change its configuration or to gather information using the cat command.
Disk encryption is the top physical security measure that you can use to protect your data. And very few distributions make it as easy to configure as Fedora. All that is needed to install Fedora 16 on an encrypted file system, is to … well, enable the “Encrypt system” option at the disk partitioning options steps of the installation process. The step is shown in the screen shot below.
On a default installation (using LVM, the Linux Logical Volume Manager), the Physical Volume is encrypted, giving you an encrypted LVM installation.
If the “Use LVM” option is unchecked, that is, disabled, the installer creates the partitions shown in this image. the individual partitions are encrypted, but all are encrypted with a universal passphrase.
The end result, whether using LVM or not, is that the system will not boot completely if the correct passphrase is not entered.
Stateful Package Filtering Firewall: In Fedora 16, the firewall is activated out of the box, and a graphical interface for managing it is installed and configured. The firewall is operating in stateful mode, which means that all outgoing connections from the system are allowed, while any incoming connection not related to an entry in the State Table is denied. The state table holds information (IP addresses, ports numbers, etc) about known active connections passing though a stateful firewall. The main interface of the graphical firewall manager is shown here. Note that while ssh connections are allowed out of the box, the ssh server itself is not active.
Application Firewall: While a Stateful Package Filtering Firewall regulates traffic in and out of the system, a host-based application firewall determines what applications can and cannot do inside the system. In Fedora 16, that service is provided by SELinux, one of 3 application-level firewalls in Linux. By default, SELinux is enabled in enforcing mode. In previous editions of Fedora, it was not uncommon for SELinux alert messages to pop up within a few minutes of using a new installation. And in most instances, that led to the disabling of SELinux. I have been using an installation of Fedora 16 for more than four days now, but there are no alert messages so far. The screen shot below is my witness.