Documentation Security Beat

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(19 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{header|docs}}
 
{{header|docs}}
 +
{{Docs_beat_closed}}
  
= <span style="color:red;">Warning - Beat Converted</span> =
+
[[Category:Docs Project]]
{{admon/warning| Beat has already been converted to XML|Be sure to set Wiki Good to '''*''' and In Publican to '''0''' if this beat is modified}}
+
[[Category:Draft documentation]]
 +
[[Category:Documentation beats]]
  
 +
== Hardlink and symlink restrictions ==
  
== Password Quality Checking ==
+
A long-standing class of security issues is the link-based time-of-check-time-of-use race, most commonly seen in world-writable directories like /tmp. The common method of exploitation of this flaw is to cross privilege boundaries when following a given link (i.e. a root process follows a link belonging to another user).  In Fedora 19,  we permit links to only be followed when outside a sticky world-writable directory, or when the uid of the link and follower match, or when the directory owner matches the link's owner.  In previous releases, this was enforced by SELinux policy and in this release, we have enabled these restrictions via the following sysctl settings in /usr/lib/sysctl.d/00-system.conf as an additional layer of protection:
  
Fedora now has a single configurable library, ''[https://fedorahosted.org/libpwquality libpwquality]'', for checking the quality of new passwords used for system accounts. The system wide password quality checks provided by this library are configured by modifying the /etc/security/pwquality.conf configuration file.
+
fs.protected_hardlinks = 1
 +
fs.protected_symlinks = 1
  
Developers wishing to call this API from their applications will find the API description in the pwquality.h file provided by the ''libpwquality-devel'' package. A python wrapper, ''python-pwquality'', is also provided.
+
Refer to http://lwn.net/Articles/503660/ and https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=800179c9b8a1e796e441674776d11cd4c05d61d7 for more detailed information about this changeNote that in addition to this,
 
+
 
+
== SELinux Deny Ptrace ==
+
 
+
A new SELinux boolean, ''deny_ptrace'', has been added. It is recommended that users who do not plan to debug applications on their machine turn this boolean on. The boolean prevents rogue processes from being able to read the memory of, or otherwise attack, other processes using debugging tools including ''ptrace'' and ''gdb''.
+
 
+
Such attacks are prevented even where the rogue process is running as the root user or attacking a process running with the same SELinux context and label. To permanently enable the protection provided by the ''deny_ptrace'' boolean, execute the following command as root:
+
 
+
# setsebool -P deny_ptrace 1
+
 
+
To disable the protection provided by the ''deny_ptrace'' boolean temporarily, execute the following command as root:
+
 
+
# setsebool deny_ptrace 0
+
 
+
 
+
== Services Private /tmp ==
+
 
+
A number of services managed by ''systemd'' have been modified to make use of its ability to provide them with a private ''/tmp'' directory. Privileged services using ''/tmp'' and ''/var/tmp'' have previously been found to be open to being interfered with by unprivileged users, potentially leading to privilege escalation. Using private ''/tmp'' directories for services prevents this style of exploit.
+
 
+
The directive added to the ''systemd'' unit files for the modified services is:
+
 
+
  [Service]
+
PrivateTmp=true
+
 
+
 
+
== Secure Containers ==
+
 
+
A new tool, ''sandbox'', has been created to streamline creation of secure ''libvirt'' containers. When provided with an executable ''sandbox'' determines the mount points  and ''libvirt'' container information required to run the application in a container. The container is then launched by ''libvirt'' with an SELinux context that will prevent it interacting with other processes on the system, including other containers, while still being able to share system data.
+
 
+
This allows an administrator to run multiple instances of a service simultaneously, while preventing them from breaking the host machine or other processes on the system, even when run as ''root''. To use ''sandbox'', install the ''libvirt-sandbox'' package.
+
 
+
 
+
=== krb5-workstation ===
+
 
+
Fedora 17 upgrades the Kerberos authentication system to version 1.10. This adds support for changing passwords over a NAT and support for localization. The kswitch command is added to switch between credential caches. Additional cache support has been added to other commands. Credential choice can be controlled with the file $HOME/.k5identity.
+
 
+
[[Category:Docs Project]]
+
[[Category:Draft documentation]]
+
[[Category:Documentation beats]]
+

Revision as of 04:59, 8 May 2013

DocsProject Header docTeam1.png
Warning (medium size).png
Beat Closed on Wiki
Work on beats has now moved to git. If you have changes or additions, please contact the docs team via #fedora-docs, docs@lists.fp.o, or with the fedora-release-notes BZ component.

Hardlink and symlink restrictions

A long-standing class of security issues is the link-based time-of-check-time-of-use race, most commonly seen in world-writable directories like /tmp. The common method of exploitation of this flaw is to cross privilege boundaries when following a given link (i.e. a root process follows a link belonging to another user). In Fedora 19, we permit links to only be followed when outside a sticky world-writable directory, or when the uid of the link and follower match, or when the directory owner matches the link's owner. In previous releases, this was enforced by SELinux policy and in this release, we have enabled these restrictions via the following sysctl settings in /usr/lib/sysctl.d/00-system.conf as an additional layer of protection:

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Refer to http://lwn.net/Articles/503660/ and https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=800179c9b8a1e796e441674776d11cd4c05d61d7 for more detailed information about this change. Note that in addition to this,