How Security-Enhanced Linux Works?

SELinux works by implementing mandatory access controls (MAC). With MAC, sysadmins define which users and processes have access to specific resources rather than relying on less secure broadly-defined permissions. To accomplish this, SELinux uses security policies.

SELinux Policies

SELinux blocks all applications and users by default, allowing access only to those specified in the security policies. Security policies are a set of simple rules that tell SELinux who is allowed to access which parts of the system. These rules set the permissions for each user, program, and resource. SELinux keeps track of every decision (allow or block access) in the Access Vector Cache (AVC). This makes checking permissions faster.

When a program tries to access something, SELinux first checks AVC to see if a decision has already been made. If so, it follows that decision quickly. If not, SELinux looks at the policy rules and makes a new decision.

One key feature is that SELinux can give different permissions to different programs. For example, a web server program might be allowed to read and write files, but other programs cannot. SELinux can also check conditions before allowing access. Maybe a web server can only read/write if the request comes from a trusted address.

SELinux Labels and Type Enforcement

SELinux uses labels with the policy rules to decide what actions to allow for each resource. Admins assign labels to every process, network port, file, etc. Labels include:

  1. User – The Linux user mapped to a SELinux user
  2. Role – The user’s authorized role for that system
  3. Type – This determines the permissions that are enforced
  4. Level (optional) – A security clearance level

The labels match up with the security policy rules, which specify access allowed for each label type.

Label format :

user:role:type:level

The type part of the label is most important. Type enforcement means SELinux checks the type labels, and only allows authorized types to access resources. Each type has a list of permitted actions. When a user/program tries to access something, SELinux compares the type labels. If the types match the policy rules, access is granted.

SELinux Modes

1. Enforcing mode : This is default and most secure. SELinux actively enforces the policy rules, denying any unauthorized access attempts. Blocked attempts are logged.

2. Permissive mode : Less secure but still monitors access. SELinux just logs what would be blocked by policies, but doesn’t actually block it. Useful for testing.

3. Disabled mode : SELinux is completely turned off removing all the access protection. This mode is Only for the troubleshooting.

What is SELinux?

SELinux is a special security system built into Linux computers. It helps keep your computer safe and secure. With SELinux, different programs and users on the computer have limited permissions. This means each program or user can only access certain files and do certain actions that they are allowed to do. For example, The web browser can connect to the internet but it cannot read your private documents. This prevents viruses and hackers from gaining full control over your system if they get into one program.

SELinux sets rules about what different programs and users are permitted to do. System administrators enable SELinux and set up these security rules based on their needs.

Table of Content

  • What Is SELinux?
  • How Security-Enhanced Linux Works?
    • SELinux Policies
    • SELinux Labels and Type Enforcement
    • SELinux Modes
  • How to Configure SELinux?
    • Configure SELinux Permanently
    • Configure SELinux Temporarily
  • Linux vs. SELinux: What are the Differences?
    • AppArmor vs. SELinux

Similar Reads

What Is SELinux?

SELinux is a special security system built into Linux computers. SELinux was created by the U.S National Security Agency and Red Hat company. The main purpose of the SELinux is to control what different programs and users are allowed to access on the computer. It does this by setting the strict rules. Without SELinux, if a program gets a virus or hacker access, that program could access all files and data on the computer. This is bad. With SELinux, each program and user is limited in what they can see and do. For example, a web browser can connect to websites but cannot read your private documents. This prevents viruses and hackers from causing full damage if they get into one program....

How Security-Enhanced Linux Works?

SELinux works by implementing mandatory access controls (MAC). With MAC, sysadmins define which users and processes have access to specific resources rather than relying on less secure broadly-defined permissions. To accomplish this, SELinux uses security policies....

How to Configure SELinux?

Linux comes with pre-set SELinux security rules, making it easy to configure. Admins can also create their own rules. There are two main ways to configure SELinux – permanently or just for the current session....

Linux vs. SELinux: What are the Differences?

1. The purpose : Linux is the operating system that manages the hardware and the software resources onto a computer. SELinux is a security part that protects the Linux from the bad software and the unauthorized access....

Conclusion

In short The SELinux is a crucial security system that enhances Linux by adding mandatory access controls and granular policies to tightly restrict what users and programs can access on the system....

What is SELinux – FAQs

What is SELinux and why is it important?...

Contact Us