Difference between revisions of "NewUsers"

From SELinux Wiki
Jump to: navigation, search
(Notebook Sections)
(17 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
= What does SELinux do? =
 
= What does SELinux do? =
  
SELinux controls access between applications and resources. By using a mandatory security policy SELinux enforces the security goals of the system regardless of whether applications misbehave or users act carelessly.  
+
SELinux controls access between applications and resources. By using a [[Mandatory Access Control|mandatory]] security policy SELinux enforces the security goals of the system regardless of whether applications misbehave or users act carelessly.
 
SELinux is capable of enforcing a wide range of security goals, from simply sandboxing applications to locking down network facing daemons and restricting users to only the resources they need to work.
 
SELinux is capable of enforcing a wide range of security goals, from simply sandboxing applications to locking down network facing daemons and restricting users to only the resources they need to work.
  
 
= How do I know if SELinux is on? =
 
= How do I know if SELinux is on? =
 
If you use Red Hat Enterprise Linux or Fedora it is enabled by default. To see whether it is actively enforcing the policy you can run getenforce:
 
If you use Red Hat Enterprise Linux or Fedora it is enabled by default. To see whether it is actively enforcing the policy you can run getenforce:
'''
+
 
[root@localhost ~]# getenforce
+
[root@localhost ~]# getenforce
Permissive
+
Enforcing
'''
+
 
 +
If it says Enforcing (as above) your system is being protected by SELinux. If it says permissive SELinux is enabled but is only logging failed accesses, not denying them. If it says Disabled then SELinux is not enabled on your system.
  
 
=How do I get it? =
 
=How do I get it? =
Line 39: Line 40:
 
= Why do I have it? =
 
= Why do I have it? =
  
Your distribution or vendor may have chosen to enable SELinux by default. They are doing this because they want added security protections on the versions of Linux they ship. A huge amount of effort has gone in to creating security policies that protect your system from intrusions while at the same time allow users to behave the way they normally do. Leaving SELinux enabled on these systems is a good idea because it can protect you from zero-day and known vulnerabilities while balancing your need to use your system the way you need to.
+
Your distribution or vendor may have chosen to enable SELinux by default. They are doing this because they want added security protections on the versions of Linux they ship. A huge amount of effort has gone in to creating security policies that protect your system from intrusions while at the same time allowing users to behave the way they normally do. Leaving SELinux enabled on these systems is a good idea because it can protect you from zero-day and known vulnerabilities while balancing your need to use your system the way you need to.
  
 
= Where can I find help? =
 
= Where can I find help? =
  
mail lists
+
There are several mailing lists and IRC channels depending on what distribution you are running and what you need help with. See the [[User_Help | Mailing lists and IRC channels]] page for a full list.
 
+
fedora-selinux
+
  
ubuntu hardened
+
This site has additional documentation that can help you use SELinux. You can start with the [[AdminDocs | administrators and users]] page.
  
gentoo hardened
 
  
link to administrators and users
+
= The SELinux Notebook =
 +
Some of the sections from [http://freecomputerbooks.com/The-SELinux-Notebook-The-Foundations.html The SELinux Notebook - 4th Edition] are available on this site. There is also a supporting source tarball (notebook-source-4.0.tar.gz) available to download that demonstrates some of the SELinux capabilities.
  
<additional resources>
+
== Notebook Sections ==
 +
The major sections are:
 +
* [[NB_Overview | SELinux Overview]]
 +
* [[NB_CoreComponents | Core Components]]
 +
* [[NB_MAC | Mandatory Access Control (MAC)]]
 +
* [[NB_USERS | SELinux Users]]
 +
* [[NB_RBAC | Role-Based Access Control (RBAC)]]
 +
* [[NB_TE | Type Enforcement (TE)]]
 +
* [[NB_SC | Security Context]]
 +
* [[NB_Subjects | Subjects]]
 +
* [[NB_Objects | Objects]]
 +
* [[NB_ComputingSecurityContexts | Computing Security Contexts]]
 +
* [[NB_ComputingAccessDecisions | Computing Access Decisions]]
 +
* [[NB_Domain_and_Object_Transitions | Domain and Object Transitions]]
 +
* [[NB_MLS | Multi-Level Security and Multi-Category Security]]
 +
* [[NB_PolicyType | Types of SELinux Policy]]
 +
* [[NB_PandE | Permissive and Enforcing Modes]]
 +
* [[NB_AL | Auditing Events]]
 +
* [[NB_Poly | Polyinstantiation Support]]
 +
* [[NB_PAM | PAM Login Process]]
 +
* [[NB_LSM | Linux Security Module and SELinux]]
 +
* [[NB_Userspace_Libraries | SELinux Userspace Libraries]]
 +
* [[NB_Networking | SELinux Networking Support]]
 +
* [[NB_VM | SELinux Virtual Machine Support]]
 +
* [[NB_XWIN | SELinux  X-Windows Support]]
 +
* [[NB_SandBox | Sandbox Services]]
 +
* [[NB_SQL_9.3 | SE-PostgreSQL Support]]
 +
* [[NB_Apache | Apache-Plus Support]]
 +
* [[ConfigurationFiles | SELinux Configuration Files]]
 +
** [[GlobalConfigurationFiles | Global Configuration Files]]
 +
** [[PolicyStoreConfigurationFiles | Policy Store Configuration Files]]
 +
** [[PolicyConfigurationFiles | Policy Configuration Files]]
 +
* [[PolicyLanguage | The SELinux Policy Languages]]
 +
** [[PolicyLanguage#CIL_Policy_Language | CIL Policy Language]]
 +
** [[PolicyLanguage#Kernel_Policy_Language | Kernel Policy Language]]
 +
*** [[Policy Configuration Statements | Policy Configuration Statements]]
 +
*** [[DefaultRules | Default Rules]]
 +
*** [[UserStatements | User Statements]]
 +
*** [[RoleStatements | Role Statements]]
 +
*** [[TypeStatements | Type Statements]]
 +
*** [[Bounds Rules | Bounds Rules]]
 +
*** [[AVCRules | Access Vector Rules]]
 +
*** [[XpermRules | Extended Permission Access Vector Rules]]
 +
*** [[ObjectClassStatements | Object Class and Permission Statements]]
 +
*** [[ConditionalStatements | Conditional Policy Statements]]
 +
*** [[ConstraintStatements | Constraint Statements]]
 +
*** [[MLSStatements | MLS Statements]]
 +
*** [[SIDStatements | Security ID (SID) Statement]]
 +
*** [[FileStatements | File System Labeling Statements]]
 +
*** [[NetworkStatements | Network Labeling Statements]]
 +
*** [[PolicyStatements | Modular Policy Support Statements]]
 +
*** [[XENStatements | XEN Statements]]
 +
* [[NB_RefPolicy | The Reference Policy]]
 +
* [[NB_Imp_SELinux-aware_Apps | Implementing SELinux-aware Applications]]
 +
* [[NB_SEforAndroid_1 | SE for Android]]
 +
* [[LibselinuxAPISummary | <tt>libselinux</tt> API Summary]]
 +
* [[NB_ObjectClassesPermissions | Object Classes and Permissions]]

Revision as of 10:56, 21 July 2015

This is a resource for new users, it explains in very broad terms what SELinux does, how to get it and so on.

What does SELinux do?

SELinux controls access between applications and resources. By using a mandatory security policy SELinux enforces the security goals of the system regardless of whether applications misbehave or users act carelessly. SELinux is capable of enforcing a wide range of security goals, from simply sandboxing applications to locking down network facing daemons and restricting users to only the resources they need to work.

How do I know if SELinux is on?

If you use Red Hat Enterprise Linux or Fedora it is enabled by default. To see whether it is actively enforcing the policy you can run getenforce:

[root@localhost ~]# getenforce
Enforcing

If it says Enforcing (as above) your system is being protected by SELinux. If it says permissive SELinux is enabled but is only logging failed accesses, not denying them. If it says Disabled then SELinux is not enabled on your system.

How do I get it?

SELinux isn't a distribution by itself but a security enhancement to Linux that can be enabled by your distribution or vendor (or yourself if you are very motivated).

Distribution How to get it
Red Hat Enterprise Linux (4+) Default
Fedora (2+) Default
Ubuntu Hardened Ubuntu
Debian add-on
Gentoo Hardened Gentoo


Why do I have it?

Your distribution or vendor may have chosen to enable SELinux by default. They are doing this because they want added security protections on the versions of Linux they ship. A huge amount of effort has gone in to creating security policies that protect your system from intrusions while at the same time allowing users to behave the way they normally do. Leaving SELinux enabled on these systems is a good idea because it can protect you from zero-day and known vulnerabilities while balancing your need to use your system the way you need to.

Where can I find help?

There are several mailing lists and IRC channels depending on what distribution you are running and what you need help with. See the Mailing lists and IRC channels page for a full list.

This site has additional documentation that can help you use SELinux. You can start with the administrators and users page.


The SELinux Notebook

Some of the sections from The SELinux Notebook - 4th Edition are available on this site. There is also a supporting source tarball (notebook-source-4.0.tar.gz) available to download that demonstrates some of the SELinux capabilities.

Notebook Sections

The major sections are: