Update to r43017:

Some tightening in the DNS, HTTP, and FTP sections.
The DNS and HTTP sections still need a good go-through.
Clarify the introductions to these sections.
Fix some acronyms along the way.
This commit is contained in:
Bjoern Heidotting 2016-04-24 13:12:40 +00:00
parent 398514482f
commit 33528d95f8
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48728

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/network-servers/chapter.xml,v 1.103 2011/12/24 15:51:18 bcr Exp $
basiert auf: r42978
basiert auf: r43017
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
<!--
@ -3120,31 +3120,18 @@ dhcpd_ifaces="dc0"</programlisting>
-->
<title>Domain Name System (<acronym>DNS</acronym>)</title>
<sect2>
<title>Überblick</title>
<indexterm><primary>BIND</primary></indexterm>
<para><acronym>DNS</acronym> ist das für die Umwandlung von Rechnernamen in
IP-Adressen zuständige Protokoll. &os; verwendet dazu
BIND (Berkeley Internet Name Domain), die am häufigsten
verwendete Implementierung von <acronym>DNS</acronym>).
Eine Anfrage nach <systemitem class="fqdomainname">www.FreeBSD.org</systemitem> gibt die
<acronym>IP</acronym>-Adresse des &os;-Webservers, eine Anfrage
nach <systemitem class="fqdomainname">ftp.FreeBSD.org</systemitem> die
<acronym>IP</acronym>-Adresse des entsprechenden
<acronym>FTP-Servers</acronym> zurück. Der umgekehrte Weg
ist ebenso möglich, eine <acronym>IP</acronym>-Adresse
kann also auch in ihren Rechnernamen aufgelöst werden. Um
eine <acronym>DNS</acronym>-Abfrage durchzuführen, muss auf
dem jeweiligen Rechner kein Nameserver installiert sein.</para>
<para>&os; verwendet derzeit in der Voreinstellung
<acronym>BIND</acronym>9 als
<acronym>DNS</acronym>-Serversoftware. Unsere Installation
bietet Ihnen eine erhöhte Sicherheit, ein neues
Dateisystemlayout sowie eine automatisierte
&man.chroot.8;-Konfiguration.</para>
<acronym>BIND</acronym> (Berkeley Internet Name Domain), die am häufigsten
verwendete Implementierung von <acronym>DNS</acronym>. Die
Version in &os; bietet erweiterte Sicherheitsmerkmale, ein
neues Dateisystem-Layout und eine automatische
&man.chroot.8;-Konfiguration. <acronym>BIND</acronym> wird
von <link xlink:href="https://www.isc.org/">isc.org</link>
betreut. Für einfache <acronym>DNS</acronym>-Anfragen wird
auf dem lokalen System kein Nameserver benötigt.</para>
<indexterm><primary>DNS</primary></indexterm>
@ -3152,24 +3139,16 @@ dhcpd_ifaces="dc0"</programlisting>
System von autoritativen Root-Nameservern,
Top Level Domain-Servern (<acronym>TLD</acronym>) sowie anderen
kleineren Nameservern verwaltet, die individuelle Rechnerinformationen
speichern und untereinander abgleichen.</para>
<para>Derzeit wird BIND vom Internet Systems Consortium
(<uri xlink:href="https://www.isc.org/">https://www.isc.org/</uri>) verwaltet.</para>
</sect2>
<sect2>
<title>Begriffsbestimmungen</title>
<para>Um dieses Dokument besser verstehen zu können,
müssen einige <acronym>DNS</acronym>-spezifische
Begriffe genauer definiert werden.</para>
speichern und untereinander abgleichen. Tabelle 29.7.2
erklärt einige Begriffe im Zusammenhang mit
<acronym>DNS</acronym>:</para>
<indexterm><primary>Resolver</primary></indexterm>
<indexterm><primary>Reverse-<acronym>DNS</acronym></primary></indexterm>
<indexterm><primary>Root-Zone</primary></indexterm>
<informaltable frame="none" pgwide="1">
<table frame="none" pgwide="1">
<title><acronym>DNS</acronym>-Begriffe</title>
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="3*"/>
@ -3237,7 +3216,7 @@ dhcpd_ifaces="dc0"</programlisting>
</row>
</tbody>
</tgroup>
</informaltable>
</table>
<indexterm>
<primary>Zonen</primary>
@ -3278,7 +3257,6 @@ dhcpd_ifaces="dc0"</programlisting>
ist. Jeder Teil des Rechnernamens hat Ähnlichkeiten mit
einem Dateisystem, in dem etwa <filename>/dev</filename> dem
Wurzelverzeichnis untergeordnet ist.</para>
</sect2>
<sect2>
<title>Gründe für die Verwendung eines
@ -4571,44 +4549,35 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<primary>Webserver</primary>
<secondary>konfigurieren</secondary>
</indexterm>
<indexterm><primary>Apache</primary></indexterm>
<para>Einige der weltgrößten Internetauftritte laufen
unter &os;. Die Mehrzahl der Webserver im Internet nutzt
den <application>Apache HTTP-Server</application>. Die
Installationspakete für den
<application>Apache</application> sollten auf Ihrem
Installationsmedium vorhanden sein. Wenn Sie den
<application>Apache</application> noch nicht installiert haben,
können Sie dies jederzeit über den Port
<package>www/apache22</package> nachholen.</para>
<para>Der Open Source
<application>Apache HTTP-Server</application> ist der am
weitesten verbreitete Webserver. Dieser Webserver ist nicht im
Basissystem von &os; enthalten, kann aber als Paket oder Port
<package>www/apache24</package> installiert werden.</para>
<para>Nachdem der <application>Apache</application> erfolgreich
installiert wurde, muss er noch konfiguriert werden.</para>
<note><para>Dieser Abschnitt beschreibt die Version 2.2.X des
<application>Apache</application> HTTP-Servers, da diese Version
unter &os; am häufigsten verwendet wird.
Weiterführende Informationen zu
<application>Apache</application>&nbsp;2.X finden Sie auf
<uri xlink:href="http://httpd.apache.org/">http://httpd.apache.org/</uri>.</para></note>
<para>Dieser Abschnitt beschreibt die Konfiguration der
Version 2.<replaceable>x</replaceable> des
<application>Apache HTTP-Server</application>. Weiterführende
Informationen und Konfigurationsanweisungen für
<application>Apache</application>&nbsp;2.X finden Sie unter
<link xlink:href="http://httpd.apache.org/">
httpd.apache.org</link>.</para>
<sect2>
<title>Konfiguration</title>
<title>Apache konfigurieren und starten</title>
<indexterm><primary>Apache</primary>
<secondary>Konfigurationsdatei</secondary></indexterm>
<para>Der <application>Apache HTTP-Server</application> wird unter
&os; primär über die Datei
<filename>/usr/local/etc/apache22/httpd.conf</filename>
konfiguriert. Bei dieser Datei handelt es sich um eine typische
&unix;-Konfigurationsdatei, in der Kommentarzeilen mit einem
<literal>#</literal>-Zeichen beginnen. Eine komplette
Beschreibung aller Optionen würde den Rahmen dieses
Handbuchs sprengen, daher beschreiben wir hier nur die am
häufigsten verwendeten Optionen.</para>
<para>Der <application>Apache HTTP-Server</application> wird
unter &os; primär in
<filename>/usr/local/etc/apache2<replaceable>x</replaceable>/httpd.conf</filename>
konfiguriert, wobei das <replaceable>x</replaceable> die
Versionsnummer darstellt. In dieser Textdatei leitet ein
<literal>#</literal> einen Kommentar ein. Die am häufigsten
verwendeten Optionen sind:</para>
<variablelist>
<varlistentry>
@ -4622,7 +4591,7 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<filename>sbin</filename> unterhalb des
Serverwurzelverzeichnisses installiert, während sich
Konfigurationsdateien im Verzeichnis
<filename>etc/apache</filename>
<filename>etc/apache2<replaceable>x</replaceable></filename>
befinden.</para>
</listitem>
</varlistentry>
@ -4632,7 +4601,7 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<listitem>
<para>Die E-Mail-Adresse, an die Mitteilungen über
Serverprobleme geschickt werden sollen. Diese Adresse
Serverprobleme geschickt werden. Diese Adresse
erscheint auf vom Server erzeugten Seiten, beispielsweise
auf Fehlerseiten.</para>
</listitem>
@ -4642,20 +4611,18 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<term><literal>ServerName www.example.com</literal></term>
<listitem>
<para><literal>ServerName</literal> erlaubt dem
Administrator, einen anderen Rechnernamen festzulegen,
den der Server an die Clients sendet, wenn sich dieser
vom tatsächlichen Rechnernamen unterscheidet (sie
könnten etwa <systemitem>www</systemitem> statt des
richtigen Rechnernamens verwenden).</para>
<para>Erlaubt dem Administrator, einen Rechnernamen
festzulegen, den der Server an die Clients sendet.
Beispielsweise könnte <systemitem>www</systemitem> statt
des richtigen Rechnernamens verwendet werden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>DocumentRoot "/usr/local/www/apache22/data"</literal></term>
<term><literal>DocumentRoot "/usr/local/www/apache2<replaceable>x</replaceable>/data"</literal></term>
<listitem>
<para><literal>DocumentRoot</literal>: Das Verzeichnis, in
<para>Das Verzeichnis, in
dem die Dokumente abgelegt sind. In der Voreinstellung
befinden sich alle Seiten in diesem Verzeichnis, durch
symbolische Links oder Aliase lassen sich aber auch andere
@ -4669,37 +4636,32 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
anzulegen, bevor Änderungen durchgeführt werden. Wenn die
Konfiguration von <application>Apache</application>
abgeschlossen ist, speichern Sie die Datei und überprüfen Sie
die Konfiguration mit &man.apachectl.8;. Geben Sie dazu
die Konfiguration mit <command>apachectl</command>. Geben Sie dazu
<command>apachectl configtest</command> ein. Dieser Befehl
sollte <literal>Syntax OK</literal> zurückgeben.</para>
</sect2>
<sect2>
<title>Den <application>Apache</application> betreiben</title>
<indexterm><primary>Apache</primary>
<secondary>Starten oder Beenden</secondary></indexterm>
<para>Der <filename role="package">www/apache22</filename> Port
<para>Der <package>www/apache24</package> Port
installiert ein &man.rc.8; Skript, welches zum
starten, stoppen und neustarten von
<application>Apache</application> benutzt werden kann.
Das Skript befindet sich in
<filename
class="directory">/usr/local/etc/rc.d/</filename>.</para>
<filename>/usr/local/etc/rc.d/</filename>.</para>
<para>Um den <application>Apache</application> beim Systemstart
zu starten, fügen Sie folgende Zeile in
<filename>/etc/rc.conf</filename> ein:</para>
<programlisting>apache22_enable="YES"</programlisting>
<programlisting>apache24_enable="YES"</programlisting>
<para>Wenn Sie während des Systemstarts weitere Parameter an den
<application>Apache</application> übergeben wollen, können Sie
diese durch eine zusätzliche Zeile in
<filename>rc.conf</filename> angeben:</para>
<programlisting>apache22_flags=""</programlisting>
<programlisting>apache24_flags=""</programlisting>
<para>Die Konfiguration von <application>Apache</application>
kann bei nachfolgenden Änderungen an der Konfigurationsdatei
@ -4708,8 +4670,7 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
über das Dienstprogramm &man.service.8; geschehen, indem Sie
eines der folgenden Kommandos ausführen:</para>
<screen>&prompt.root; <userinput>service apache22
configtest</userinput></screen>
<screen>&prompt.root; <userinput>service apache24 configtest</userinput></screen>
<note>
<para>Es ist wichitg zu beachten, dass
@ -4719,25 +4680,20 @@ configtest</userinput></screen>
</note>
<para>Wenn der <application>Apache</application> keine Fehler in
der Konfiguration meldet, kann der
<application>Apache</application>&nbsp;
<command>httpd</command> mithilfe von &man.service.8;
gestartet werden:</para>
der Konfiguration meldet, starten Sie <command>httpd</command>
mithilfe von &man.service.8;:</para>
<screen>&prompt.root; <userinput>/usr/local/etc/rc.d/apache22
start</userinput></screen>
<screen>&prompt.root; <userinput>service apache22
start</userinput></screen>
<screen>&prompt.root; <userinput>service apache24 start</userinput></screen>
<para>Sie können den <command>httpd</command>-Dienst testen,
indem Sie
<literal>http://<replaceable>localhost</replaceable></literal>
in Ihren Browser eingeben, wobei Sie
in einen Browser eingeben, wobei Sie
<replaceable>localhost</replaceable> durch den
vollqualifizierten Domainnamen der Machine ersetzen, auf dem
der <command>httpd</command> läuft. Die Standard Webseite,
die angezeigt wird, ist <filename>/usr/local/www/apache22
/data/index.html</filename>.</para>
die angezeigt wird, ist
<filename>/usr/local/www/apache24/data/index.html</filename>.</para>
</sect2>
@ -5090,100 +5046,85 @@ DocumentRoot /www/someotherdomain.tld
<indexterm><primary>FTP-Server</primary></indexterm>
<para>Das File Transfer Protocol (FTP) ermöglicht
auf einfache Art und Weise den Dateiaustausch mit einem
<acronym role="File Transfer Protocol">FTP</acronym>-Server.
Der
<acronym role="File Transfer Protocol">FTP</acronym>-Server
<application>ftpd</application> ist bei &os; bereits im
Basisystem enthalten. Daher sind Konfiguration und Betrieb
eines
<acronym role="File Transfer Protocol">FTP</acronym>-Servers
unter &os; relativ einfach.</para>
<para>Das File Transfer Protocol (<acronym>FTP</acronym>)
ermöglicht auf einfache Art und Weise den Dateiaustausch mit
einem <acronym>FTP</acronym>-Server. Der
<acronym>FTP</acronym>-Server <application>ftpd</application>
ist bei &os; bereits im Basisystem enthalten.</para>
<para>&os; verwendet mehrere Konfigurationsdateien, um den Zugriff
auf den <acronym>FTP</acronym> zu kontrollieren. Dieser
Abschnitt fasst diese Dateien zusammen. In &man.ftpd.8; finden
Sie weitere Inforamtionen über den integrierten
<acronym>FTP</acronym>-Server.</para>
<sect2>
<title>Konfiguration</title>
<para>Der wichtigste Punkt ist hier die Entscheidung darüber,
welche Benutzer auf Ihren FTP-Server zugreifen dürfen.
Ein &os;-System verfügt über diverse
Systembenutzerkonten, um einzelnen Daemonen den Zugriff auf
das System zu ermöglichen. Anonyme Benutzer sollten sich
allerdings nicht über diese Benutzerkonten anmelden
dürfen. Die Datei <filename>/etc/ftpusers</filename>
enthält alle Benutzer, die vom FTP-Zugriff ausgeschlossen
sind. In der Voreinstellung gilt dies auch die gerade
erwähnten Systembenutzerkonten. Sie können über
diese Datei weitere Benutzer vom FTP-Zugriff
welche Benutzer auf den <acronym>FTP</acronym>-Server
zugreifen dürfen. Ein &os;-System verfügt über diverse
Systembenutzerkonten, die jedoch nicht auf den
<acronym>FTP</acronym>-Server zugreifen sollen. Die Datei
<filename>/etc/ftpusers</filename> enthält alle Benutzer, die
vom <acronym>FTP</acronym>-Zugriff ausgeschlossen sind. In
der Voreinstellung gilt dies auch die gerade erwähnten
Systembenutzerkonten. Sie können über diese Datei weitere
Benutzer vom <acronym>FTP</acronym>-Zugriff
ausschließen.</para>
<para>In einigen Fällen kann es wünschenswert sein, den Zugang
für manche Benutzer einzuschränken, ohne dabei FTP komplett zu
verbieten. Dazu passen Sie
<filename>/etc/ftpchroot</filename> entsprechend an.
Diese Datei enthält Benutzer und Gruppen sowie die für
sie geltenden FTP-Einschränkungen und wird in
&man.ftpchroot.5; ausführlich beschrieben.</para>
für manche Benutzer einzuschränken, ohne dabei
<acronym>FTP</acronym> komplett zu verbieten. Dazu passen Sie
<filename>/etc/ftpchroot</filename>, wie in &man.ftpchroot.5;
beschrieben, entsprechend an. Diese Datei enthält Benutzer
und Gruppen sowie die für sie geltenden Einschränkungen für
<acronym>FTP</acronym>.</para>
<indexterm>
<primary>FTP</primary>
<primary><acronym>FTP</acronym></primary>
<secondary>anonymous</secondary>
</indexterm>
<para>Um anonymen FTP-Zugriff auf dem Server zu aktivieren,
muss ein Benutzer
<systemitem class="username">ftp</systemitem> auf dem
&os;-System angelegt werden.
Danach können sich Benutzer mit dem Benutzernamen
<systemitem class="username">ftp</systemitem> oder <systemitem class="username">anonymous</systemitem>
am FTP-Server anmelden. Das Passwort ist dabei
beliebig (allerdings wird dazu in der Regel eine E-Mail-Adresse
verwendet). Meldet sich ein anonymer Benutzer an, aktiviert
der FTP-Server &man.chroot.2;, um den Zugriff auf das
Heimatverzeichnis des Benutzers <systemitem class="username">ftp</systemitem>
zu beschränken.</para>
<para>Um anonymen <acronym>FTP</acronym>-Zugriff auf dem Server
zu aktivieren, muss ein Benutzer <systemitem
class="username">ftp</systemitem> auf dem &os;-System
angelegt werden. Danach können sich Benutzer mit dem
Benutzernamen <systemitem class="username">ftp</systemitem>
oder <systemitem class="username">anonymous</systemitem> am
<acronym>FTP</acronym>-Server anmelden. Das Passwort ist
dabei beliebig, allerdings wird dazu in der Regel eine
E-Mail-Adresse verwendet. Meldet sich ein anonymer Benutzer
an, aktiviert der <acronym>FTP</acronym>-Server
&man.chroot.2;, um den Zugriff auf das Heimatverzeichnis des
Benutzers <systemitem class="username">ftp</systemitem> zu
beschränken.</para>
<para>Es gibt zwei Textdateien, deren Inhalt Sie bei der Anmeldung
an Ihrem FTP-Server anzeigen lassen können. Der Inhalt von
<filename>/etc/ftpwelcome</filename> wird angezeigt, bevor der
Login-Prompt erscheint. Nach einer erfolgreichen Anmeldung wird
der Inhalt von <filename>/etc/ftpmotd</filename> angezeigt.
<para>Es gibt zwei Textdateien, deren Inhalt den
<acronym>FTP</acronym>-Clients bei der Anmeldung angezeigt
wird. Der Inhalt von <filename>/etc/ftpwelcome</filename>
wird angezeigt, bevor der Login-Prompt erscheint. Nach einer
erfolgreichen Anmeldung wird der Inhalt von
<filename>/etc/ftpmotd</filename> angezeigt.
Beachten Sie aber, dass es dabei um einen Pfad relativ zur
Umgebung des anzumeldenden Benutzers handelt. Bei einer
anonymen Anmeldung würde also die Datei
anonymen Anmeldung würde also der Inhalt von
<filename>~ftp/etc/ftpmotd</filename> angezeigt.</para>
<para>Nachdem Sie den FTP-Server konfiguriert haben, müssen
Sie Ihn in <filename>/etc/inetd.conf</filename> aktivieren.
Dazu müssen Sie lediglich das Kommentarsymbol
<quote>#</quote> am Beginn der bereits vorhandenen
<application>ftpd</application>-Zeile entfernen:</para>
<programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting>
<para>Nachdem Sie diese Änderung durchgeführt haben,
müssen Sie, wie in <xref linkend="network-inetd-reread"/>
beschrieben, die <application>inetd</application>-Konfiguration
neu einlesen. Lesen Sie bitte Abschnitt <xref linkend="network-inetd-settings"/> des Handbuchs für weitere
Informationen zur Aktivierung von
<application>inetd</application> auf dem System.</para>
<para>Alternativ können Sie auch nur den
<application>ftpd</application>-Server starten. In diesem Fall
ist es ausreichend, die entsprechende Variable in der Datei
<filename>/etc/rc.conf</filename> zu setzen:</para>
<para>Sobald der <acronym>FTP</acronym>-Server konfiguriert ist,
setzen Sie die entsprechende Variable in
<filename>/etc/rc.conf</filename>, damit der Dienst beim
Booten gestartet wird:</para>
<programlisting>ftpd_enable="YES"</programlisting>
<para>Nachdem Sie diese Variable gesetzt haben, wird künftig
beim Systemstart nur der FTP-Server gestartet. Alternativ
können Sie den Server auch manuell starten, indem Sie als
Benutzer <systemitem class="username">root</systemitem> den folgenden Befehl
ausführen:</para>
<para>Starten Sie den Dienst:</para>
<screen>&prompt.root; <userinput>service ftpd start</userinput></screen>
<para>Danach können Sie sich am FTP-Server anmelden:</para>
<para>Testen Sie die Verbindung zum
<acronym>FTP</acronym>-Server, indem Sie folgendes
eingeben:</para>
<screen>&prompt.user; <userinput>ftp localhost</userinput></screen>
@ -5196,34 +5137,37 @@ DocumentRoot /www/someotherdomain.tld
<indexterm>
<primary>Logdateien</primary>
<secondary>FTP</secondary>
<secondary><acronym>FTP</acronym></secondary>
</indexterm>
<para>Der <application>ftpd</application>-Daemon verwendet
&man.syslog.3;, um Protokolldateien zu erstellen. In der
Voreinstellung werden alle FTP betreffenden Nachrichten
in die Datei <filename>/var/log/xferlog</filename>
geschrieben. Dies lässt sich aber durch das Einfügen
der folgenden Zeile in <filename>/etc/syslog.conf</filename>
ändern:</para>
Voreinstellung werden alle <acronym>FTP</acronym> betreffenden
Nachrichten nach
<filename>/var/log/xferlog</filename> geschrieben. Dies lässt
sich aber durch das Einfügen der folgenden Zeile in
<filename>/etc/syslog.conf</filename> ändern:</para>
<programlisting>ftp.info /var/log/xferlog</programlisting>
<indexterm>
<primary>FTP</primary>
<primary><acronym>FTP</acronym></primary>
<secondary>anonymous</secondary>
</indexterm>
<note>
<para>Beachten Sie, dass mit dem Betrieb eines anonymen
FTP-Servers verschiedene Sicherheitsrisiken verbunden sind.
Problematisch ist hier vor allem die Erlaubnis zum anonymen
Upload von Dateien. Dadurch könnte der Server zur
Verbreitung von illegaler oder nicht lizensierter Software
oder noch Schlimmeren missbraucht werden. Wenn anonyme
FTP-Uploads dennoch erforderlich sind, sollten Sie die
Zugriffsrechte so setzen, dass solche Dateien erst nach
Zustimmung eines Administrators von anderen Benutzern
heruntergeladen werden können.</para>
<acronym>FTP</acronym>-Servers verschiedene
Sicherheitsrisiken verbunden sind. Problematisch ist hier
vor allem die Erlaubnis zum anonymen Upload von Dateien.
Dadurch könnte der Server zur Verbreitung von illegaler oder
nicht lizensierter Software oder noch Schlimmeren
missbraucht werden. Wenn anonyme
<acronym>FTP</acronym>-Uploads dennoch erforderlich sind,
sollten Sie die Zugriffsrechte so setzen, dass solche
Dateien erst nach Zustimmung eines Administrators von
anderen Benutzern heruntergeladen werden können.</para>
</note>
</sect2>
</sect1>