Update to r44341:

Initial prep work to combine 12.7 Configure System Logging and
28.12 Remote System Logging with syslogd.
Rename some titles to be action oriented and not include utility name.
This section still needs an editorial review.
This commit is contained in:
Bjoern Heidotting 2016-05-27 19:44:57 +00:00
parent 51ee3843af
commit 6ff62332a2
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48865
2 changed files with 300 additions and 311 deletions

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/config/chapter.xml,v 1.151 2011/12/19 14:55:31 bcr Exp $
basiert auf: r44310
basiert auf: r44341
-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
@ -1264,8 +1264,7 @@ ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"</programlisting>
<sect1 xml:id="configtuning-syslog">
<info>
<title>Konfiguration des <application>syslogd</application>
Servers</title>
<title>Konfiguration der Systemprotokollierung</title>
<authorgroup>
<author>
@ -1291,18 +1290,6 @@ ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"</programlisting>
Meldungen in der Regel an einen Log-Server, oder schreiben sie
in eine Logdatei.</para>
<para>Dieser Abschnitt beschreibt die Konfiguration und Verwendung
des &os; &man.syslogd.8; Servers, und diskutiert auch die
Log-Rotation und das Management von Logdateien mit
&man.newsyslog.8;. Der Fokus wird hierbei auf die Einrichtung
und Benutzung eines &man.syslogd.8; auf dem lokalen
Rechner gelegt. Für erweiterte Einstellungen und die Verwendung
eines separaten Log-Servers lesen Sie bitte
<xref linkend="network-syslogd"/>.</para>
<sect2>
<title>Verwendung von <command>syslogd</command></title>
<para>In der Standardkonfiguration von &os; wird &man.syslogd.8;
beim Booten automatisch gestartet. Dieses Verhalten wird über
die Variable <literal>syslogd_enable</literal> in
@ -1317,10 +1304,13 @@ ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"</programlisting>
<xref linkend="configtuning-rcd"/> wenn Sie mehr über
<filename>/etc/rc.conf</filename> und das &man.rc.8;-Subsystem
wissen möchten.</para>
</sect2>
<para>Dieser Abschnitt beschreibt die Konfiguration und Verwendung
des &os; Protokollservers, und diskutiert auch die Log-Rotation
und das Management von Logdateien.</para>
<sect2>
<title>Konfiguration von <command>syslogd</command></title>
<title>Konfiguration der lokalen Protokollierung</title>
<indexterm><primary>syslog.conf</primary></indexterm>
@ -1468,28 +1458,26 @@ cron.* /var/log/cron
&man.syslog.3; und &man.syslogd.8;. Weitere Informationen
zu <filename>/etc/syslog.conf</filename>, dessen Syntax und
erweiterten Anwendungsbeispielen, finden Sie in
&man.syslog.conf.5; und
<xref linkend="network-syslogd"/>.</para>
&man.syslog.conf.5;.</para>
</sect2>
<sect2>
<title>Log-Management und Rotation mit
<command>newsyslog</command></title>
<title>Management und Rotation von Logdateien</title>
<indexterm><primary>newsyslog</primary></indexterm>
<indexterm><primary>newsyslog.conf</primary></indexterm>
<indexterm><primary>log rotation</primary></indexterm>
<indexterm><primary>log management</primary></indexterm>
<para>Log-Dateien können schnell wachsen, was viel Speicherplatz
<para>Logdateien können schnell wachsen, was viel Speicherplatz
verbrauchen kann. Zudem wird es schwieriger, nützliche
Informationen schnell zu finden. Log-Management versucht,
diesen Effekt zu mildern. &os; verwendet &man.newsyslog.8;
für die Verwaltung von Log-Dateien. Dieses Programm
rotiert und komprimiert in regelmäßigen Abständen Log-Dateien.
Optional kann es auch fehlende Log-Dateien erstellen und
Programme benachrichtigen, wenn Log-Dateien verschoben wurden.
Dabei müssen die Log-Dateien nicht unbedingt von &man.syslogd.8;
für die Verwaltung von Logdateien. Dieses Programm
rotiert und komprimiert in regelmäßigen Abständen Logdateien.
Optional kann es auch fehlende Logdateien erstellen und
Programme benachrichtigen, wenn Logdateien verschoben wurden.
Dabei müssen die Logdateien nicht unbedingt von &man.syslogd.8;
stammen, &man.newsyslog.8; ist auch in der Lage, Nachrichten
von anderen Programmen zu verarbeiten. Obwohl
&man.newsyslog.8; normalerweise von &man.cron.8;
@ -1497,9 +1485,6 @@ cron.* /var/log/cron
Standardkonfiguration wird dieser Job jede Stunde
ausgeführt.</para>
<sect3>
<title>Konfiguration von <command>newsyslog</command></title>
<para>Um zu wissen, welche Maßnahmen zu ergreifen sind, liest
&man.newsyslog.8; seine Konfigurationsdatei, standardmäßig
<filename>/etc/newsyslog.conf</filename>. Diese
@ -1509,7 +1494,7 @@ cron.* /var/log/cron
Dateiberechtigungen, wann die Datei rotiert wird, optionale
<foreignphrase>Flags</foreignphrase>, welche
die Log-Rotation beeinflussen (bspw. Komprimierung) und
Programme, denen ein Signal geschickt wird, wenn Log-Dateien
Programme, denen ein Signal geschickt wird, wenn Logdateien
rotiert werden. Hier folgt die Standardkonfiguration in
&os;:</para>
@ -1580,6 +1565,288 @@ cron.* /var/log/cron
aufgerufen wird und somit Dateien auch nur dann rotiert,
wenn es von &man.cron.8; aufgerufen wird, und nicht
häufiger.</para>
</sect2>
<sect2 xml:id="network-syslogd">
<info>
<title>Protokollierung von anderen Hosts</title>
<authorgroup>
<author>
<personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
<contrib>Beigetragen von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<personname>
<firstname>Benedict</firstname>
<surname>Reuschling</surname>
</personname>
<contrib>Übersetzt von </contrib>
</author>
</authorgroup>
</info>
<para>Die Überwachung der Protokolldateien kann bei steigender
Anzahl von Rechnern sehr unhandlich werden. Eine zentrale
Protokollierung kann manche administrativen Belastungen bei
der Verwaltung von Protokolldateien reduzieren.</para>
<para>Die Aggregation, Zusammenführung und Rotation von
Protokolldateien kann an zentraler Stelle mit den
&os;-eigenen Werkzeugen wie &man.syslogd.8; und
&man.newsyslog.8; konfiguriert werden. In der folgenden
Beispielkonfiguration sammelt Host <systemitem>A</systemitem>,
genannt <systemitem
class="fqdomainname">logserv.example.com</systemitem>,
Protokollinformationen für das lokale Netzwerk. Host
<systemitem>B</systemitem>, genannt <systemitem
class="fqdomainname">logclient.example.com</systemitem> wird
seine Protokollinformationen an den Server weiterleiten.</para>
<sect3>
<title>Konfiguration des Protokollservers</title>
<para>Ein Protokollserver ist ein System, welches
Protokollinformationen von anderen Hosts akzeptiert. Bevor
Sie diesen Server konfigurieren, prüfen Sie
folgendes:</para>
<itemizedlist>
<listitem>
<para>Falls eine Firewall zwischen dem
Protokollserver und den -Clients steht, muss das
Regelwerk der Firewall <acronym>UDP</acronym> auf Port
514 sowohl auf Client- als auch auf Serverseite
freigegeben werden.</para>
</listitem>
<listitem>
<para>Der <command>syslogd</command>-Server und alle
Clientrechner müssen gültige Einträge für sowohl
Vorwärts- als auch Umkehr-<acronym>DNS</acronym>
besitzen. Falls im Netzwerk kein
<acronym>DNS</acronym>-Server vorhanden ist, muss auf
jedem System die Datei <filename>/etc/hosts</filename>
mit den richtigen Einträgen gepflegt werden. Eine
funktionierende Namensauflösung ist zwingend
erforderlich, ansonsten würde der Server die
Protokollnachrichten ablehnen.</para>
</listitem>
</itemizedlist>
<para>Bearbeiten Sie <filename>/etc/syslog.conf</filename> auf
dem Server. Tragen Sie den Namen des Clients ein, den
Verbindungsweg und den Namen der Protokolldatei. Dieses
Beispiel verwendet den Rechnernamen
<systemitem>B</systemitem>, alle Verbindungswege, und die
Protokolle werden in
<filename>/var/log/logclient.log</filename>
gespeichert.</para>
<example>
<title>Einfache Server Konfiguration</title>
<programlisting>+logclient.example.com
*.* /var/log/logclient.log</programlisting>
</example>
<para>Fügen Sie für jeden Client zwei Zeilen hinzu, falls Sie
mehrere Clients in diese Datei aufnehmen. Weitere
Informationen über die verfügbaren Verbindungswege finden
Sie in &man.syslog.conf.5;.</para>
<para>Konfigurieren Sie als nächstes
<filename>/etc/rc.conf</filename>:</para>
<programlisting>syslogd_enable="YES"
syslogd_flags="-a logclient.example.com -v -v"</programlisting>
<para>Der erste Eintrag startet <command>syslogd</command>
während des Bootens. Der zweite Eintrag erlaubt es, Daten
von dem spezifizierten Client auf diesem Server zu
akzeptieren. Die Verwendung von <option>-v -v</option>
erhöht die Anzahl von Protokollnachrichten. Dies ist
hilfreich für die Feineinstellung der Verbindungswege, da
Administratoren auf diese Weise erkennen, welche Arten von
Nachrichten von welchen Verbindungswegen protokolliert
werden.</para>
<para>Mehrere <option>-a</option>-Optionen können angegeben
werden, um die Protokollierung von mehreren Clients zu
erlauben. <acronym>IP</acronym>-Adressen und ganze
Netzblöcke können ebenfalls spezifiziert werden. Eine
vollständige Liste der Optionen finden Sie in
&man.syslogd.8;.</para>
<para>Zum Schluss muss die Protokolldatei erstellt
werden:</para>
<screen>&prompt.root; <userinput><command>touch</command> /var/log/logclient.log</userinput></screen>
<para>Zu diesem Zeitpunkt sollte <command>syslogd</command>
neu gestartet und überprüft werden:</para>
<screen>&prompt.root; <userinput>service <command>syslogd</command> restart</userinput>
&prompt.root; <userinput><command>pgrep</command> syslog</userinput></screen>
<para>Wenn eine <acronym>PID</acronym> zurückgegeben wird,
wurde der Server erfolgreich neu gestartet und die
Clientkonfiguration kann beginnen. Wenn der Server nicht
neu gestartet wurde, suchen Sie in
<filename>/var/log/messages</filename> nach dem
Fehler.</para>
</sect3>
<sect3>
<title>Konfiguration des Protokollclients</title>
<para>Ein Protokollclient sendet Protokollinformationen
an einen Protokollserver. Zusätzlich behält er eine
lokale Kopie seiner eigenen Protokolle.</para>
<para>Sobald der Server konfiguriert ist, bearbeiten Sie
<filename>/etc/rc.conf</filename> auf dem Client:</para>
<programlisting>syslogd_enable="YES"
syslogd_flags="-s -v -v"</programlisting>
<para>Der erste Eintrag aktiviert den
<command>syslogd</command>-Dienst während des Systemstarts.
Der zweite Eintrag erhöht die Anzahl der
Protokollnachrichten. Die Option <option>-s</option>
verhindert, dass dieser Client Protokolle von anderen
Hosts akzeptiert.</para>
<para>Als nächstes muss der Protokollserver in der
<filename>/etc/syslog.conf</filename> des Clients
eingetragen werden. In diesem Beispiel wird das
<literal>@</literal>-Symbol benutzt, um sämtliche
Protokolldaten an einen bestimmten Server zu senden:</para>
<programlisting>*.* @logserv.example.com</programlisting>
<para>Nachdem die Änderungs gespeichert wurden, muss
<command>syslogd</command> neu gestartet werden, damit die
Änderungen wirksam werden:</para>
<screen>&prompt.root; <userinput>service syslogd restart</userinput></screen>
<para>Um zu testen, ob Protokollnachrichten über das Netzwerk
gesendet werden, kann &man.logger.1; auf dem Client benutzt
werden, um eine Nachricht an
<application>syslogd</application> zu schicken:</para>
<screen>&prompt.root; <userinput><command>logger</command> "<replaceable>Test message from logclient</replaceable>"</userinput></screen>
<para>Diese Nachricht sollte jetzt sowohl in
<filename>/var/log/messages</filename> auf dem Client, als
auch in <filename>/var/log/logclient.log</filename> auf dem
Server vorhanden sein.</para>
</sect3>
<sect3>
<title>Fehlerbehebung beim Protokollserver</title>
<para>Wenn der Server keine Nachrichten empfängt, ist die
Ursache wahrscheinlich ein Netzwerkproblem, ein Problem bei
der Namensauflösung oder ein Tippfehler in einer
Konfigurationsdatei. Um die Ursache zu isolieren, müssen
Sie sicherstellen, dass sich Server und Client über den in
<filename>/etc/rc.conf</filename> konfigurierten Hostnamen
mit <command>ping</command> erreichen lässt. Falls dies
nicht gelingt sollten Sie die Netzwerkverkablung überprüfen,
außerdem Firewallregeln sowie die Einträge für Hosts im
<acronym>DNS</acronym> und <filename>/etc/hosts</filename>.
Überprüfen Sie diese Dinge auf dem Server und dem Client,
bis der <command>ping</command> von beiden Hosts erfolgreich
ist.</para>
<para>Wenn sich die Hosts gegenseitig mit
<command>ping</command> erreichen können, der Server aber
immer noch keine Nachrichten empfängt, können Sie
vorübergehend die Ausführlichkeit der Protokollierung
erhöhen, um die Ursache für das Problem weiter einzugrenzen.
In dem folgenden Beispiel ist auf dem Server die Datei
<filename>/var/log/logclient.log</filename> leer und in der
Datei <filename>/var/log/messages</filename> auf dem Client
ist keine Ursache für das Problem erkennbar. Um nun die
Ausführlichkeit der Protokollierung zu erhöhen, passen Sie
auf dem Server den Eintrag <literal>syslogd_flags</literal>
an. Anschließend starten Sie den Dienst neu:</para>
<programlisting>syslogd_flags="-d -a logclien.example.com -v -v"</programlisting>
<screen>&prompt.root; <userinput>service syslogd restart</userinput></screen>
<para>Informationen wie diese werden sofort nach dem Neustart
auf der Konsole erscheinen:</para>
<screen>logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
Logging to FILE /var/log/messages
syslogd: kernel boot file is /boot/kernel/kernel
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
rejected in rule 0 due to name mismatch.</screen>
<para>In diesem Beispiel werden die Nachrichten aufgrund eines
fehlerhaften Namens abgewiesen. Der Hostname sollte
<literal>logclient</literal> und nicht
<literal>logclien</literal> sein. Beheben Sie den
Tippfehler, starten Sie den Dienst neu und überprüfen Sie
das Ergebnis:</para>
<screen>&prompt.root; <userinput>service syslogd restart</userinput>
logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
syslogd: kernel boot file is /boot/kernel/kernel
logmsg: pri 166, flags 17, from logserv.example.com,
msg Dec 10 20:55:02 &lt;syslog.err&gt; logserv.example.com syslogd: exiting on signal 2
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
accepted in rule 0.
logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2
Logging to FILE /var/log/logclient.log
Logging to FILE /var/log/messages</screen>
<para>Zu diesem Zeitpunkt werden die Nachrichten korrekt
empfangen und in die richtige Datei geschrieben.</para>
</sect3>
<sect3>
<title>Sicherheitsbedenken</title>
<para>Wie mit jedem Netzwerkdienst, müssen
Sicherheitsanforderungen in Betracht gezogen werden, bevor ein
Protokollserver eingesetzt wird. Manchmal enthalten
Protokolldateien sensitive Daten über aktivierte Dienste auf
dem lokalen Rechner, Benutzerkonten und Konfigurationsdaten.
Daten, die vom Client an den Server geschickt werden, sind
weder verschlüsselt noch mit einem Passwort geschützt. Wenn
ein Bedarf für Verschlüsselung besteht, ist es möglich
<package>security/stunnel</package> zu verwenden, welches die
Protokolldateien über einen verschlüsselten Tunnel
versendet.</para>
<para>Lokale Sicherheit ist ebenfalls ein Thema.
Protokolldateien sind während der Verwendung oder nach ihrer
Rotation nicht verschlüsselt. Lokale Benutzer versuchen
vielleicht, auf diese Dateien zuzugreifen, um zusätzliche
Einsichten in die Systemkonfiguration zu erlangen. Es ist
absolut notwendig, die richtigen Berechtigungen auf diesen
Dateien zu setzen. Das Werkzeug &man.newsyslog.8; unterstützt
das Setzen von Berechtigungen auf gerade erstellte oder
rotierte Protokolldateien. Protokolldateien mit Zugriffsmodus
<literal>600</literal> sollten verhindern, dass lokale
Benutzer darin herumschnüffeln. Zusätzliche Informationen
finden Sie in &man.newsyslog.conf.5;.</para>
</sect3>
</sect2>
</sect1>

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: r44276
basiert auf: r44341
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
<!--
@ -92,12 +92,6 @@
installieren können.</para>
</listitem>
<listitem>
<para>Wissen, wie man den Standard-Protokollienst,
<command>syslogd</command>, konfiguriert, um Protokolle von
anderen Hosts zu akzeptieren.</para>
</listitem>
<listitem>
<para>Wissen, wie <acronym>iSCSI</acronym> eingerichtet
wird.</para>
@ -484,7 +478,7 @@ server-program-arguments</programlisting>
</sect2>
<sect2 xml:id="network-inetd-security">
<title>Überlegungen zur Sicherheit</title>
<title>Sicherheitsbedenken</title>
<para>Viele Daemonen, die von <application>inetd</application>
verwaltet werden, sind nicht auf Sicherheit bedacht. Einige
@ -5591,278 +5585,6 @@ set filter alive 2 permit 0/0 0/0</programlisting>
</sect2>
</sect1>
<sect1 xml:id="network-syslogd">
<!--
<info>
<command>syslogd</command></title>
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Beigetragen von </contrib></author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Benedict</firstname><surname>Reuschling</surname></personname><contrib>Übersetzt von </contrib></author>
</authorgroup>
</info>
-->
<title>Protokollierung von anderen Hosts mit
<command>syslogd</command></title>
<para>Die Interaktion mit Systemprotokollen ist ein wichtiger Aspekt,
sowohl was Sicherheit als auch Systemadministration anbelangt.
Die Überwachung der Protokolldateien von mehreren Hosts kann
sehr unhandlich werden. Die zentralisierte Protokollierung auf
einen bestimmten Protokollserver kann manche der
administrativen Belastungen bei der Verwaltung von
Protokolldateien reduzieren.</para>
<para>Die Aggregation, Zusammenführung und Rotation von
Protokolldateien kann an zentraler Stelle mit den
&os;-eigenen Werkzeugen wie &man.syslogd.8; und
&man.newsyslog.8; konfiguriert werden. In der folgenden
Beispielkonfiguration sammelt Host <systemitem>A</systemitem>,
genannt <systemitem
class="fqdomainname">logserv.example.com</systemitem>,
Protokollinformationen für das lokale Netzwerk. Host
<systemitem>B</systemitem>, genannt <systemitem
class="fqdomainname">logclient.example.com</systemitem> wird
seine Protokollinformationen an den Server weiterleiten.</para>
<sect2>
<title>Konfiguration des Protokollservers</title>
<para>Ein Protokollserver ist ein System, das
konfiguriert ist, Protokollinformationen von anderen Hosts zu
akzeptieren. Bevor Sie diesen Server konfigurieren, prüfen
Sie folgendes:</para>
<itemizedlist>
<listitem>
<para>Falls eine Firewall zwischen dem
Protokollserver und den -Clients steht, muss das
Regelwerk der Firewall <acronym>UDP</acronym> auf Port 514
sowohl auf Client- als auch auf Serverseite freigegeben
werden.</para>
</listitem>
<listitem>
<para>Der <command>syslogd</command>-Server und alle
Clientrechner müssen gültige Einträge für sowohl
Vorwärts- als auch Umkehr-<acronym>DNS</acronym> besitzen.
Falls im Netzwerk kein <acronym>DNS</acronym>-Server
vorhanden ist, muss auf jedem System die Datei
<filename>/etc/hosts</filename> mit den richtigen
Einträgen gepflegt werden. Eine funktionierende
Namensauflösung ist zwingend erforderlich, ansonsten würde
der Server die Protokollnachrichten ablehnen.</para>
</listitem>
</itemizedlist>
<para>Bearbeiten Sie <filename>/etc/syslog.conf</filename> auf
dem Server. Tragen Sie den Namen des Clients ein, den
Verbindungsweg und den Namen der Protokolldatei. Dieses
Beispiel verwendet den Rechnernamen
<systemitem>B</systemitem>, alle Verbindungswege, und die
Protokolle werden in
<filename>/var/log/logclient.log</filename>
gespeichert.</para>
<example>
<title>Einfache Server Konfiguration</title>
<programlisting>+logclient.example.com
*.* /var/log/logclient.log</programlisting>
</example>
<para>Fügen Sie für jeden Client zwei Zeilen hinzu, falls Sie
mehrere Clients in diese Datei aufnehmen. Weitere
Informationen über die verfügbaren Verbindungswege finden Sie
in &man.syslog.conf.5;.</para>
<para>Konfigurieren Sie als nächstes
<filename>/etc/rc.conf</filename>:</para>
<programlisting>syslogd_enable="YES"
syslogd_flags="-a logclient.example.com -v -v"</programlisting>
<para>Der erste Eintrag startet <command>syslogd</command>
während des Bootens. Der zweite Eintrag erlaubt es, Daten
von dem spezifizierten Client auf diesem Server zu
akzeptieren. Die Verwendung von <option>-v -v</option> erhöht
die Anzahl von Protokollnachrichten. Dies ist hilfreich für
die Feineinstellung der Verbindungswege, da Administratoren
auf diese Weise erkennen, welche Arten von Nachrichten von
welchen Verbindungswegen protokolliert werden.</para>
<para>Mehrere <option>-a</option>-Optionen können angegeben werden,
um die Protokollierung von mehreren Clients zu erlauben.
<acronym>IP</acronym>-Adressen und ganze Netzblöcke können
ebenfalls spezifiziert werden. Eine vollständige Liste der
Optionen finden Sie in &man.syslogd.8;.</para>
<para>Zum Schluss muss die Protokolldatei erstellt
werden:</para>
<screen>&prompt.root; <userinput><command>touch</command> /var/log/logclient.log</userinput></screen>
<para>Zu diesem Zeitpunkt sollte <command>syslogd</command> neu
gestartet und überprüft werden:</para>
<screen>&prompt.root; <userinput>service <command>syslogd</command> restart</userinput>
&prompt.root; <userinput><command>pgrep</command> syslog</userinput></screen>
<para>Wenn eine <acronym>PID</acronym> zurückgegeben wird, wurde
der Server erfolgreich neu gestartet und die
Clientkonfiguration kann beginnen. Wenn der Server nicht neu
gestartet wurde, suchen Sie in
<filename>/var/log/messages</filename> nach eventuellen
Fehlermeldungen.</para>
</sect2>
<sect2>
<title>Konfiguration des Protokollclients</title>
<para>Ein Protokollclient sendet Protokollinformationen
an einen Protokollserver. Zusätzlich behält er eine
lokale Kopie seiner eigenen Protokolle.</para>
<para>Sobald der Server konfiguriert ist, bearbeiten Sie
<filename>/etc/rc.conf</filename> auf dem Client:</para>
<programlisting>syslogd_enable="YES"
syslogd_flags="-s -v -v"</programlisting>
<para>Der erste Eintrag aktiviert den
<command>syslogd</command>-Dienst während des Systemstarts.
Der zweite Eintrag erhöht die Anzahl der Protokollnachrichten. Die Option
<option>-s</option> verhindert, dass dieser Client Protokolle von anderen
Hosts akzeptiert.</para>
<para>Als nächstes muss der Protokollserver in der
<filename>/etc/syslog.conf</filename> des Clients eingetragen
werden. In diesem Beispiel wird das
<literal>@</literal>-Symbol benutzt, um sämtliche
Protokolldaten an einen bestimmten Server zu senden:</para>
<programlisting>*.* @logserv.example.com</programlisting>
<para>Nachdem die Änderungs gespeichert wurden, muss
<command>syslogd</command> neu gestartet werden, damit die
Änderungen wirksam werden:</para>
<screen>&prompt.root; <userinput>service syslogd restart</userinput></screen>
<para>Um zu testen, ob Protokollnachrichten über das Netzwerk
gesendet werden, kann &man.logger.1; auf dem Client benutzt werden, um
eine Nachricht an <application>syslogd</application> zu schicken:</para>
<screen>&prompt.root; <userinput><command>logger</command> "<replaceable>Test message from logclient</replaceable>"</userinput></screen>
<para>Diese Nachricht sollte jetzt sowohl in
<filename>/var/log/messages</filename> auf dem Client, als auch in
<filename>/var/log/logclient.log</filename> auf dem Server vorhanden
sein.</para>
</sect2>
<sect2>
<title>Fehlerbehebung beim Protokollserver</title>
<para>Wenn der Server keine Nachrichten empfängt, ist die
Ursache wahrscheinlich ein Netzwerkproblem, ein Problem bei
der Namensauflösung oder ein Tippfehler in einer
Konfigurationsdatei. Um die Ursache zu isolieren, müssen Sie
sicherstellen, dass sich Server und Client über den in
<filename>/etc/rc.conf</filename> konfigurierten Hostnamen per
<command>ping</command> erreichen können. Falls dies nicht
gelingt sollten Sie die Netzwerkverkablung überprüfen,
außerdem Firewallregeln sowie die Einträge für Hosts im
<acronym>DNS</acronym> und <filename>/etc/hosts</filename>.
Überprüfen Sie diese Dinge auf dem Server und dem Client, bis
der <command>ping</command> von beiden Hosts erfolgreich
ist.</para>
<para>Wenn sich die Hosts gegenseitig per
<command>ping</command> erreichen können, der Server aber
immer noch keine Nachrichten empfängt, können Sie
vorübergehend die Ausführlichkeit der Protokollierung erhöhen,
um die Ursache für das Problem weiter einzugrenzen. In dem
folgenden Beispiel ist auf dem Server die Datei
<filename>/var/log/logclient.log</filename> leer und in der
Datei <filename>/var/log/messages</filename> auf dem Client
ist keine Ursache für das Problem erkennbar. Um nun die
Ausführlichkeit der Protokollierung zu erhöhen, passen Sie
auf dem Server den Eintrag <literal>syslogd_flags</literal>
an. Anschließend starten Sie den Dienst neu:</para>
<programlisting>syslogd_flags="-d -a logclien.example.com -v -v"</programlisting>
<screen>&prompt.root; <userinput>service syslogd restart</userinput></screen>
<para>Informationen wie diese werden sofort nach dem Neustart
auf der Konsole erscheinen:</para>
<screen>logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
Logging to FILE /var/log/messages
syslogd: kernel boot file is /boot/kernel/kernel
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
rejected in rule 0 due to name mismatch.</screen>
<para>In diesem Beispiel werden die Nachrichten aufgrund eines
fehlerhaften Namens abgewiesen. Der Hostname sollte
<literal>logclient</literal> und nicht
<literal>logclien</literal> sein. Beheben Sie den Tippfehler,
starten Sie den Dienst neu und überprüfen Sie die
Ergebnisse:</para>
<screen>&prompt.root; <userinput>service syslogd restart</userinput>
logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
syslogd: kernel boot file is /boot/kernel/kernel
logmsg: pri 166, flags 17, from logserv.example.com,
msg Dec 10 20:55:02 &lt;syslog.err&gt; logserv.example.com syslogd: exiting on signal 2
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
accepted in rule 0.
logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2
Logging to FILE /var/log/logclient.log
Logging to FILE /var/log/messages</screen>
<para>Zu diesem Zeitpunkt werden die Nachrichten korrekt empfangen und in
die richtige Datei geschrieben.</para>
</sect2>
<sect2>
<title>Sicherheitsbedenken</title>
<para>Wie mit jedem Netzwerkdienst, müssen
Sicherheitsanforderungen in Betracht gezogen werden, bevor ein
Protokollserver eingesetzt wird. Manchmal enthalten
Protokolldateien sensitive Daten über aktivierte Dienste auf
dem lokalen Rechner, Benutzerkonten und Konfigurationsdaten.
Daten, die vom Client an den Server geschickt werden, sind
weder verschlüsselt noch mit einem Passwort geschützt. Wenn
ein Bedarf für Verschlüsselung besteht, ist es möglich
<package>security/stunnel</package> zu verwenden, welches die
Protokolldateien über einen verschlüsselten Tunnel
versendet.</para>
<para>Lokale Sicherheit ist ebenfalls ein Thema. Protokolldateien sind
während der Verwendung oder nach ihrer Rotation nicht
verschlüsselt. Lokale Benutzer versuchen vielleicht, auf diese
Dateien zuzugreifen, um zusätzliche Einsichten in die
Systemkonfiguration zu erlangen. Es ist absolut notwendig,
die richtigen Berechtigungen auf diesen Dateien zu setzen.
Das &man.newsyslog.8;-Werkzeug unterstützt das Setzen von
Berechtigungen auf gerade erstellte oder rotierte Protokolldateien.
Protokolldateien mit Zugriffsmodus <literal>600</literal> sollten
verhindern, dass lokale Benutzer darin herumschnüffeln.
Zusätzliche Informationen finden Sie in
&man.newsyslog.conf.5;.</para>
</sect2>
</sect1>
<sect1 xml:id="network-iscsi">
<!--
<info>