How to Use SELinux to Secure Your System in Ubuntu

Install SELinux

SELinux is a powerful security tool for Linux systems, and it can be used to secure your Ubuntu system. To install SELinux, you need to first install the selinux-basics package. To do this, open a terminal window and type:

sudo apt-get install selinux-basics
Once the package is installed, you can enable SELinux by running the setenforce command. This will enable SELinux on your system and will start enforcing the security policies. You can also use the getenforce command to check the status of SELinux on your system. For more information on SELinux, you can refer to the DigitalOcean tutorial.

Configure SELinux

Once you have installed SELinux on your Ubuntu system, you need to configure it to ensure that it is properly protecting your system. To do this, you need to edit the SELinux configuration file, which is located at /etc/selinux/config. Open the file in a text editor and set the SELINUX variable to enforcing. This will enable SELinux on your system. You can also set the SELINUXTYPE variable to targeted to enable targeted policy enforcement. Once you have saved the file, you can restart your system for the changes to take effect.

You can also use the setenforce command to enable or disable SELinux on your system. To enable SELinux, run the command setenforce 1. To disable SELinux, run the command setenforce 0. You can also use the getenforce command to check the current status of SELinux on your system.

Once SELinux is enabled on your system, you can create SELinux policies to further secure your system. You can use the Reference Policy to create custom SELinux policies for your system. You can also use the semodule command to manage SELinux policies on your system.

Create SELinux Policies

Creating SELinux policies is an important step in securing your Ubuntu system. To create a policy, you need to use the semanage command. This command allows you to create, modify, and delete SELinux policies. To create a policy, you need to specify the type of policy you want to create, the source and target types, and the permissions you want to grant. For example, to create a policy that allows the httpd service to access the /var/www/html directory, you would use the following command:

semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"

Once the policy is created, you need to apply it to the system by running the restorecon command. This command will apply the policy to the specified directory and its contents. For example, to apply the policy to the /var/www/html directory, you would use the following command:

restorecon -Rv /var/www/html

You can learn more about creating SELinux policies by reading the Red Hat Enterprise Linux 7 SELinux User's and Administrator's Guide.

Useful Links