PERFORCE change 146154 for review

Remko Lodder remko at FreeBSD.org
Mon Jul 28 20:18:56 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=146154

Change 146154 by remko at remko_nakur on 2008/07/28 20:18:17

	more WIP

Affected files ...

.. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#5 edit

Differences ...

==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#5 (text+ko) ====

@@ -158,14 +158,222 @@
     <sect2 id="jails-what">
       <title>Wat is een jail</title>
 
-      <para>BSD achtige systemen
+      <para>BSD achtige systemen hebben sinds 4.2-BSD ondersteuning van
+	&man.chroot.2;.  De &man.chroot.8; utility kan gebruikt worden om
+	de root directory van een set processen te wijzigen waardoor een
+	veilige omgeving wordt gecree&euml;rd voor de rest van het
+	systeem.  Processen die gemaakt worden in een chroot omgeving
+	kunnen bestanden en bronnen daarbuiten niet benaderen.  Daardoor
+	zou een doorbraak van een dienst die in een chroot omgeving
+	draait,	niet direct moeten betekenen dat het hele systeem
+	doorbroken is.  De &man.chroot.8; utility is goed genoeg voor
+	simpele taken, waarbij flexibiliteit en geavanceerde en complexe
+	opties niet nodig zijn.  Sinds het uitvinden van het chroot
+	concept, zijn er vele mogelijkheden gevonden om hieruit te
+	breken en, alhoewel ze gerepareerd zijn in moderne versies
+	van &os;, werd het duidelijk dat &man.chroot.2; niet de meest
+	ideale oplossing was voor het beveiligen van diensten. Er moest
+	een nieuw subsysteem ontwikkeld worden.</para>
+
+      <para>Dit is &eacute;&eacute;n van de redenen waarom jails zijn
+	ontwikkeld.</para>
+
+      <para>Jails zijn een verbeterd concept van de &man.chroot.2;
+	omgeving, in verschillende opzichten.  In een traditionele
+	&man.chroot.2; omgeving worden processen alleen gelimiteerd
+	in het deel van het bestandssysteem wat ze kunnen benaderen.
+	De rest van de systeem bronnen (zoals de set van systeem
+	gebruikers, de draaiende processen of het netwerk subsysteem)
+	worden gedeeld door het chrooted proces en de processen op het
+	host systeem.  Jails breiden dit model uit door het niet
+	alleen virtualizeren van de toegang tot het bestandssysteem maar
+	ook tot de set van gebruikers, het netwerk subsysteem van de
+	&os; kernel en een aantal andere delen.  Een meer complete set
+	van gespecificeerde controle mogelijkheden die beschikbaar zijn
+	voor het personaliseren van de toegang tot een jail omgeving
+	wordt beschreven in <xref linkend="jails-tuning">.</para>
+
+      <para>Een jail heeft vier kenmerken:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Een aparte subtak van een directory &mdash; het startpunt
+	    van waaruit een jail benaderd wordt.  Zodra men in de jail
+	    zit, mogen processen niet buiten deze subtak komen.
+	    Traditionele problemen die &man.chroot.2;'s ontwerp geplaagd
+	    hebben, hebben geen invloed op &os; jails.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Een hostname &mdash; de hostnaam die gebruikt wordt in
+	    de jail.  Jails worden met name gebruikt voor het hosten van
+	    netwerk diensten, daardoor kan het de systeembeheerder heel erg
+	    helpen als er beschrijvende hostnames worden gekozen.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Een <acronym>IP</acronym> adres &mdash; deze wordt
+	    gekoppeld aan de jail en kan op geen enkele manier worden
+	    gewijzigd tijdens het leven van de jail.  Het IP adres van
+	    een jail is meestal een alias op een reeds bestaande
+	    netwerk interface, maar dit is niet noodzakelijk.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Een commando &mdash; het padnaam van een uitvoerbaar
+	    bestand in de jail.  Deze is relatief aan de rootdirectory
+	    van de jail omgeving en kan heel erg wisselen, afhankelijk
+	    van het type van de specifieke jail omgeving.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Buiten deze kenmerken, kunnen jails hun eigen set aan
+	gebruikers, en <username>root</username> gebruiker hebben.
+	Uiteraard zijn de mogelijkheden van de <username>root</username>
+	gebruiker beperkt tot de jail omgeving en, vanuit het host systeem
+	gezien, is de <username>root</username> gebruiker geen opper
+	gebruiker.  Daarnaast is het de <username>root</username>
+	gebruiker in een jail omgeving niet toegestaan om kritieke
+	operaties uit te voeren op het systeem buiten de gedefinieerde
+	jail omgeving.  Meer informatie over de mogelijkheden en
+	beperkingen van de <username>root</username> gebruiker kan
+	gevonden worden in <xref linkend="jails-tuning"> hieronder.</para>
     </sect2>
   </sect1>
 
   <sect1 id="jails-build">
-    <title>* Cree&euml;ren en controleren van jails</title>
+    <title>Cree&euml;ren en controleren van jails</title>
+
+    <para>Sommige beheerders kiezen ervoor om jails op te delen in
+      de volgende twee types: <quote>complete</quote> jails, welke
+      een volledig &os; systeem nabootsen en <quote>service</quote>
+      jails, gericht op &eacute;&eacute;n applicatie of dienst,
+      mogelijkerwijs draaiende met privileges.  Dit is alleen een
+      conceptuele splitsing en het proces van het bouwen van een
+      jail is hierdoor niet geraakt.  De &man.jail.8; handleiding
+      is heel duidelijk over de procedure voor het maken van een
+      jail:</para>
+
+    <screen>&prompt.root; <userinput>setenv D <replaceable>/here/is/the/jail</replaceable></userinput>
+&prompt.root; <userinput>mkdir -p $D</userinput> <co id="jailpath">
+&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>make world DESTDIR=$D</userinput> <co id="jailworld">
+&prompt.root; <userinput>cd etc/</userinput> <footnote><para>Deze stap
+s niet benodigd onder &os; 6.0 en later.</para></footnote>
+&prompt.root; <userinput>make distribution DESTDIR=$D</userinput> <co id="jaildistrib">
+&prompt.root; <userinput>mount -t devfs devfs $D/dev</userinput> <co id="jaildevfs"></screen>
+
+    <calloutlist>
+      <callout arearefs="jailpath">
+	<para>Het selecteren van een locatie voor een jail is het beste
+	  begin punt.  Hier zal de jail fysiek te vinden zijn binnen
+	  het bestandssysteem van het host systeem.  Een goede keuze
+	  kan zijn
+	  <filename role="directory">/usr/jail<replaceable>jailnaam</replaceable></filename>,
+	  waar <replaceable>jailnaam</replaceable> de naam is welke
+	  de jail beschrijft.  Het
+	  <filename role="directory">/usr</filename>
+	  bestandssysteem heeft meestal genoeg ruimte voor het jail
+	  bestandssysteem, wat voor een <quote>complete</quote> jail
+	  eigenlijk een replicatie is van elk bestand dat aanwezig
+	  is in de standaard installatie van een &os; basis systeem.</para>
+      </callout>
+ 
+      <callout arearefs="jailworld">
+	<para>Dit commando zal de gekozen fysieke directory vullen
+	  met de benodigde binaire bestanden, bibliotheken,
+	  handleidingen, etc.  Alles wordt gedaan op de typische
+	  &os; manier, eerst wordt het systeem gebouwd, daarna
+	  wordt het geinstalleerd in de doel directory.</para>
+      </callout>
+
+      <callout arearefs="jaildistrib">
+	<para>Het <maketarget>distribution</maketarget> doel voor
+	  <application>make</application> installeert elk benodigd
+	  configuratie bestand.  In simpelere termen, het installeert
+	  alle installeerbare bestanden in
+	  <filename role="directory">/usr/src/etc</filename> naar de
+	  <filename role="directory">/etc</filename> directory van
+	  de jail omgeving:
+	  <filename role="directory">$D/etc</filename>.</para>
+      </callout>
+
+      <callout arearefs="jaildevs">
+	<para>Het koppelen van het &man.devfs.8; bestands systeem
+	  is niet vereist in een jail.  Aan de andere kant, vrijwel
+	  elke applicatie heeft toegang nodig tot minstens
+	  &eacute;&eacute;n apparaat, afhankelijk van het doel van
+	  het programma.  Het is erg belangrijk om toegang tot
+	  apparaten te controleren binnenin een jail, omdat incorrecte
+	  instellingen een aanvaller de mogelijkheid kunnen geven om
+	  vervelende dingen in de jail te doen.  De controle over
+	  &man.defvs.8; wordt gedaan door middel van rulesets, welke
+	  beschreven worden in de &man.devfs.8; en &man.devfs.conf.5;
+	  handleidingen.</para>
+      </callout>
+    </calloutlist>
+
+    <para>Zodra een jail is geinstalleerd, kan het opgestart worden
+      door de &man.jail.8; applicatie.  De &man.jail.8; applicatie
+      heeft vier benodigde argumenten welke beschreven worden in
+      <xref linkend="jails-what">.  Er kunnen ook andere argumenten
+      gebruikt worden, om bijvoorbeeld de jail et starten met de
+      credenties van een specifieke gebruiker.  Het
+      <option><replaceable>commando</replaceable></option> argument
+      hangt af van het type jail, voor een
+      <emphasis>virtueel systeem</emphasis> is
+      <filename>/etc/rc</filename> een goede keuze, omdat het de
+      reguliere opstart procedure nabootst van een &os; systeem.
+      Voor een <emphasis>dienst</emphasis> jail is het geheel afhankelijk
+      van de dienst of applicatie die in de jail gaat draaien.</para>
+
+    <para>Jails worden over het algemeen gestart, tegelijkertijd met de
+      systeem start, het &os; <filename>rc</filename> mechanisme levert
+      een makkelijke manier om dat te doen:</para>
+
+    <procedure>
+      <step>
+	<para>Een lijst van jails die opgestart moeten worden tijdens het
+	  opstarten van het systeem, moeten worden toegevoegd aan het
+	  &man.rc.conf.5; bestand:</para>
+
+	<programlisting>jail_enable="YES"   # Stel dit in op NO om te voorkomen dat er jails gestart worden
+jail_list="<replaceable>www</replaceable>"     # Door spaties gescheiden lijst van namen van jails</programlisting>
+      </step>
+
+      <step>
+	<para>Voor elke jail die gespecificeerd is in
+	  <varname>jail_list</varname> moet een groep van &man.rc.conf.5;
+	  instellingen worden toegevoegd:</para>
+
+	<programlisting>jail_<replaceable>www</replaceable>_rootdir="/usr/jail/www"     # de hoofd directory van de jail
+jail_<replaceable>www</replaceable>_hostname="<replaceable>www</replaceable>.example.org"  # de hostnaam van de jail
+jail_<replaceable>www</replaceable>_ip="192.168.0.10"           # het IP adres van de jail
+jail_<replaceable>www</replaceable>_devfs_enable="YES"          # moet devfs wel of niet gekoppeld worden in de jail
+jail_<replaceable>www</replaceable>_devfs_ruleset="<replaceable>www_ruleset</replaceable>" # welke devfs ruleset moet worden gebruikt voor de jail</programlisting>
+
+	<para>De standaard opstart variabelen in &man.rc.conf.5;
+	  gebruiken het <filename>/etc/rc</filename> bestand om de jail
+	  op te starten, wat er vanuit gaat dat de jail een compleet
+	  virtueel systeem is.  Voor service jails moet het standaard
+	  opstart commando worden gewijzigd door het aanpassen van de
+	  <varname>jail_<replaceable>jailname</replaceable>_exec_start</varname>
+	  optie.</para>
+
+	<note>
+	  <para>Voor een complete lijst van beschikbare opties, zie de
+	    &man.rc.conf.5; handleiding.</para>
+	</note>
+      </procedure>
+
+      <para>Het <filename>/etc/rc.d/jail</filename> bestand kan worden
+	gebruikt om jails handmatig te starten en te stoppen, mits er
+	een overeenkomstige set regels bestaat in
+	<filename>/etc/rc.conf</filename>.</para>
+
+      <screen>&prompt.root; <userinput>/etc/rc.d/jail start <replaceable>www</replaceable></userinput>
+&prompt.root; <userinput>/etc/rc.d/jail stop <replaceable>www</replaceable></userinput></screen>
 
-    <para>Wordt nog vertaald.</para>
   </sect1>
 
   <sect1 id="jails-tuning">


More information about the p4-projects mailing list