svn commit: r44513 - head/en_US.ISO8859-1/books/handbook/jails

Dru Lavigne dru at FreeBSD.org
Wed Apr 9 20:11:05 UTC 2014


Author: dru
Date: Wed Apr  9 20:11:05 2014
New Revision: 44513
URL: http://svnweb.freebsd.org/changeset/doc/44513

Log:
  Integrate later Introduction into the Synopsis of the Jails chapter.
  
  Sponsored by:	iXsystems

Modified:
  head/en_US.ISO8859-1/books/handbook/jails/chapter.xml

Modified: head/en_US.ISO8859-1/books/handbook/jails/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/jails/chapter.xml	Wed Apr  9 20:03:11 2014	(r44512)
+++ head/en_US.ISO8859-1/books/handbook/jails/chapter.xml	Wed Apr  9 20:11:05 2014	(r44513)
@@ -18,34 +18,90 @@
   <sect1 xml:id="jails-synopsis">
     <title>Synopsis</title>
 
-    <para>This chapter will provide an explanation of what &os; jails
-      are and how to use them.  Jails, sometimes referred to as an
-      enhanced replacement of
-      <emphasis>chroot environments</emphasis>, are a very powerful
-      tool for system administrators, but their basic usage can also
-      be useful for advanced users.</para>
+    <para>Since system administration is a difficult
+      task, many tools have been developed to make life easier for
+      the administrator.  These tools often enhance
+      the way systems are installed, configured, and
+      maintained.  One of the tools which can be used to enhance the security
+      of a &os; system is <firstterm>jails</firstterm>.  Jails have
+      been available since &os; 4.X and continue to be
+      enhanced in their
+      usefulness, performance, reliability, and security.</para>
 
-    <important>
-      <para>Jails are a powerful tool, but they are not a security
-	panacea.  It is particularly important to note that while it
-	is not possible for a jailed process to break out on its own,
-	there are several ways in which an unprivileged user outside
-	the jail can cooperate with a privileged user inside the jail
-	and thereby obtain elevated privileges in the host
+      <para>Jails build upon the &man.chroot.2; concept, which is used to
+	change the root directory of a set of processes, creating a
+	safe environment, separate from the rest of the system.
+	Processes created in the chrooted environment can not access
+	files or resources outside of it.  For that reason,
+	compromising a service running in a chrooted environment
+	should not allow the attacker to compromise the entire system.
+	However, a chroot has several limitations.  It is suited to easy tasks which do not
+	require much flexibility or complex, advanced features.  Over time
+	many ways have
+	been found to escape from a chrooted environment, making it
+	a less than ideal solution for
+	securing services.</para>
+
+      <para>Jails improve on the concept of the traditional
+	chroot environment in several ways.  In a traditional
+	chroot environment, processes are only limited in the
+	part of the file system they can access.  The rest of the
+	system resources, system users, running
+	processes, and the networking subsystem are shared by the
+	chrooted processes and the processes of the host system.
+	Jails expand this model by virtualizing access to the
+	file system, the set of users, and the networking
+	subsystem.  More
+	fine-grained controls are available for tuning the
+	access of a jailed environment.</para>
+
+      <para>A jail is characterized by four elements:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>A directory subtree: the starting point from
+	    which a jail is entered.  Once inside the jail, a process
+	    is not permitted to escape outside of this subtree.</para>
+	</listitem>
+
+	<listitem>
+	  <para>A hostname: which will be used
+	    by the jail.</para>
+	</listitem>
+
+	<listitem>
+	  <para>An <acronym>IP</acronym> address: which is
+	    assigned to the jail.  The <acronym>IP</acronym> address of a jail is
+	    often an alias address for an existing network
+	    interface.</para>
+	</listitem>
+
+	<listitem>
+	  <para>A command: the path name of an executable to
+	    run inside the jail.  The path is relative to the
+	    root directory of the jail environment.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Jails have their own set of users
+	and their own <systemitem class="username">root</systemitem> account which
+	are limited
+	to the jail environment.
+	The <systemitem class="username">root</systemitem>
+	account of a jail is not allowed to perform operations
+	to the system outside of the associated jail
 	environment.</para>
 
-      <para>Most of these attacks can be mitigated by ensuring that
-	the jail root is not accessible to unprivileged users in the
-	host environment.  Regardless, as a general rule, untrusted
-	users with privileged access to a jail should not be given
-	access to the host environment.</para>
-    </important>
+    <para>This chapter provides an overview of jail terminology
+      are how to use &os; jails.  Jails are a powerful
+      tool for system administrators, but their basic usage can also
+      be useful for advanced users.</para>
 
     <para>After reading this chapter, you will know:</para>
 
     <itemizedlist>
       <listitem>
-	<para>What a jail is, and what purpose it may serve in &os;
+	<para>What a jail is and what purpose it may serve in &os;
 	  installations.</para>
       </listitem>
 
@@ -59,25 +115,21 @@
       </listitem>
     </itemizedlist>
 
-    <para>Other sources of useful information about jails are:</para>
-
-    <itemizedlist>
-      <listitem>
-	<para>The &man.jail.8; manual page.  This is the full
-	  reference of the <command>jail</command> utility — the
-	  administrative tool which can be used in &os; to start,
-	  stop, and control &os; jails.</para>
-      </listitem>
+    <important>
+      <para>Jails are a powerful tool, but they are not a security
+	panacea.  While it
+	is not possible for a jailed process to break out on its own,
+	there are several ways in which an unprivileged user outside
+	the jail can cooperate with a privileged user inside the jail
+	to obtain elevated privileges in the host
+	environment.</para>
 
-      <listitem>
-	<para>The mailing lists and their archives.  The archives of
-	  the &a.questions; and other mailing lists hosted by the
-	  &a.mailman.lists; already contain a wealth of material for
-	  jails.  It should always be engaging to search the archives,
-	  or post a new question to the &a.questions.name; mailing
-	  list.</para>
-      </listitem>
-    </itemizedlist>
+      <para>Most of these attacks can be mitigated by ensuring that
+	the jail root is not accessible to unprivileged users in the
+	host environment.  As a general rule, untrusted
+	users with privileged access to a jail should not be given
+	access to the host environment.</para>
+    </important>
   </sect1>
 
   <sect1 xml:id="jails-terms">
@@ -141,111 +193,6 @@
     </variablelist>
   </sect1>
 
-  <sect1 xml:id="jails-intro">
-    <title>Introduction</title>
-
-    <para>Since system administration is a difficult and perplexing
-      task, many powerful tools were developed to make life easier for
-      the administrator.  These tools mostly provide enhancements of
-      some sort to the way systems are installed, configured and
-      maintained.  Part of the tasks which an administrator is
-      expected to do is to properly configure the security of a
-      system, so that it can continue serving its real purpose,
-      without allowing security violations.</para>
-
-    <para>One of the tools which can be used to enhance the security
-      of a &os; system are <emphasis>jails</emphasis>.  Jails were
-      introduced in &os; 4.X by &a.phk.email;, but were greatly
-      improved in &os; 5.X to make them a powerful and flexible
-      subsystem.  Their development still goes on, enhancing their
-      usefulness, performance, reliability, and security.</para>
-
-    <sect2 xml:id="jails-what">
-      <title>What is a Jail</title>
-
-      <para>BSD-like operating systems have had &man.chroot.2; since
-	the time of 4.2BSD.  The &man.chroot.8; utility can be used to
-	change the root directory of a set of processes, creating a
-	safe environment, separate from the rest of the system.
-	Processes created in the chrooted environment can not access
-	files or resources outside of it.  For that reason,
-	compromising a service running in a chrooted environment
-	should not allow the attacker to compromise the entire system.
-	The &man.chroot.8; utility is good for easy tasks which do not
-	require much flexibility or complex, advanced features.  Since
-	the inception of the chroot concept, however, many ways have
-	been found to escape from a chrooted environment and, although
-	they have been fixed in modern versions of the &os; kernel, it
-	was clear that &man.chroot.2; was not the ideal solution for
-	securing services.  A new subsystem had to be
-	implemented.</para>
-
-      <para>This is one of the main reasons why
-	<emphasis>jails</emphasis> were developed.</para>
-
-      <para>Jails improve on the concept of the traditional
-	&man.chroot.2; environment in several ways.  In a traditional
-	&man.chroot.2; environment, processes are only limited in the
-	part of the file system they can access.  The rest of the
-	system resources (like the set of system users, the running
-	processes, or the networking subsystem) are shared by the
-	chrooted processes and the processes of the host system.
-	Jails expand this model by virtualizing not only access to the
-	file system, but also the set of users, the networking
-	subsystem of the &os; kernel and a few other things.  A more
-	complete set of fine-grained controls available for tuning the
-	access of a jailed environment is described in
-	<xref linkend="jails-tuning"/>.</para>
-
-      <para>A jail is characterized by four elements:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para>A directory subtree — the starting point from
-	    which a jail is entered.  Once inside the jail, a process
-	    is not permitted to escape outside of this subtree.
-	    Traditional security issues which plagued the original
-	    &man.chroot.2; design will not affect &os; jails.</para>
-	</listitem>
-
-	<listitem>
-	  <para>A hostname — the hostname which will be used
-	    within the jail.  Jails are mainly used for hosting
-	    network services, therefore having a descriptive hostname
-	    for each jail can really help the system
-	    administrator.</para>
-	</listitem>
-
-	<listitem>
-	  <para>An <acronym>IP</acronym> address — this will be
-	    assigned to the jail and cannot be changed in any way
-	    during the jail's life span.  The IP address of a jail is
-	    usually an alias address for an existing network
-	    interface, but this is not strictly necessary.</para>
-	</listitem>
-
-	<listitem>
-	  <para>A command — the path name of an executable to
-	    run inside the jail.  The path is relative to the
-	    root directory of the jail environment.</para>
-	</listitem>
-      </itemizedlist>
-
-      <para>Apart from these, jails can have their own set of users
-	and their own <systemitem class="username">root</systemitem> user.  Naturally, the
-	powers of the <systemitem class="username">root</systemitem> user are limited
-	within the jail environment and, from the point of view of the
-	host system, the jail <systemitem class="username">root</systemitem> user is not an
-	omnipotent user.  In addition, the <systemitem class="username">root</systemitem>
-	user of a jail is not allowed to perform critical operations
-	to the system outside of the associated &man.jail.8;
-	environment.  More information about capabilities and
-	restrictions of the <systemitem class="username">root</systemitem> user will be
-	discussed in
-	<xref linkend="jails-tuning"/> below.</para>
-    </sect2>
-  </sect1>
-
   <sect1 xml:id="jails-build">
     <title>Creating and Controlling Jails</title>
 
@@ -322,7 +269,7 @@
     <para>Once a jail is installed, it can be started by using the
       &man.jail.8; utility.  The &man.jail.8; utility takes four
       mandatory arguments which are described in the
-      <xref linkend="jails-what"/>.  Other arguments may be specified
+      <xref linkend="jails-synopsis"/>.  Other arguments may be specified
       too, e.g., to run the jailed process with the credentials of a
       specific user.  The
       <option><replaceable>command</replaceable></option> argument


More information about the svn-doc-all mailing list