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ë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 éé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 — 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 — 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 — 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 — 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ëren en controleren van jails</title>
+ <title>Creeë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 éé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
+ éé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