Changeset View
Changeset View
Standalone View
Standalone View
head/de_DE.ISO8859-1/books/handbook/security/chapter.xml
- This file uses an unknown character encoding.
<?xml version="1.0" encoding="iso-8859-1"?> | <?xml version="1.0" encoding="iso-8859-1"?> | ||||
<!-- | <!-- | ||||
The FreeBSD Documentation Project | The FreeBSD Documentation Project | ||||
The FreeBSD German Documentation Project | The FreeBSD German Documentation Project | ||||
$FreeBSD$ | $FreeBSD$ | ||||
$FreeBSDde: de-docproj/books/handbook/security/chapter.xml,v 1.178 2012/04/30 17:07:41 bcr Exp $ | $FreeBSDde: de-docproj/books/handbook/security/chapter.xml,v 1.178 2012/04/30 17:07:41 bcr Exp $ | ||||
basiert auf: r44530 | basiert auf: r44593 | ||||
--> | --> | ||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security"> | <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security"> | ||||
<info><title>Sicherheit</title> | <info><title>Sicherheit</title> | ||||
<authorgroup> | <authorgroup> | ||||
<author> | <author> | ||||
<personname> | <personname> | ||||
<firstname>Tom</firstname> | <firstname>Tom</firstname> | ||||
<surname>Rhodes</surname> | <surname>Rhodes</surname> | ||||
Show All 40 Lines | von &os; kennen.</para> | ||||
</listitem> | </listitem> | ||||
<listitem> | <listitem> | ||||
<para>Wissen, wie Sie ein Einmalpasswörter | <para>Wissen, wie Sie ein Einmalpasswörter | ||||
zur Authentifizierung verwenden.</para> | zur Authentifizierung verwenden.</para> | ||||
</listitem> | </listitem> | ||||
<listitem> | <listitem> | ||||
<para><acronym>TCP</acronym>-Wrapper für &man.inetd.8; | <para><application>TCP Wrapper</application> für &man.inetd.8; | ||||
einrichten können.</para> | einrichten können.</para> | ||||
</listitem> | </listitem> | ||||
<listitem> | <listitem> | ||||
<para>Wissen, wie Sie <application>Kerberos</application> | <para>Wissen, wie Sie <application>Kerberos</application> | ||||
unter &os; einrichten.</para> | unter &os; einrichten.</para> | ||||
</listitem> | </listitem> | ||||
▲ Show 20 Lines • Show All 920 Lines • ▼ Show 20 Lines | kann.</para> | ||||
<para>Findet sich in <filename>opieaccess</filename> kein | <para>Findet sich in <filename>opieaccess</filename> kein | ||||
passender Eintrag, muss die Anmeldung mit | passender Eintrag, muss die Anmeldung mit | ||||
<acronym>OPIE</acronym> erfolgen.</para> | <acronym>OPIE</acronym> erfolgen.</para> | ||||
</sect2> | </sect2> | ||||
</sect1> | </sect1> | ||||
<sect1 xml:id="tcpwrappers"> | <sect1 xml:id="tcpwrappers"> | ||||
<info><title>TCP-Wrapper</title> | <info><title>TCP Wrapper</title> | ||||
<authorgroup> | <authorgroup> | ||||
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Beigetragen von </contrib></author> | <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Beigetragen von </contrib></author> | ||||
</authorgroup> | </authorgroup> | ||||
</info> | </info> | ||||
<indexterm> | <indexterm> | ||||
<primary>TCP-Wrapper</primary> | <primary>TCP Wrapper</primary> | ||||
</indexterm> | </indexterm> | ||||
<para><acronym>TCP</acronym>-Wrapper erweitern die Fähigkeiten von | <para><application>TCP Wrapper</application> ist ein | ||||
<xref linkend="network-inetd"/>. Beispielsweise können | rechnerbasiertes Zugriffskontrollsystem, das die Fähigkeiten von | ||||
Verbindungen protokolliert, Nachrichten zurückgesandt oder nur | <xref linkend="network-inetd"/> erweitert. Beispielsweise | ||||
interne Verbindungen angenommen werden. Einige dieser | können Verbindungen protokolliert, Nachrichten zurückgesandt | ||||
Fähigkeiten können auch über eine Firewall implementiert werden, | oder nur interne Verbindungen angenommen werden. Weitere | ||||
<acronym>TCP</acronym>-Wrapper fügen jedoch noch eine weitere | Informationen über <application>TCP Wrapper</application> und | ||||
Sicherheitsschicht und Kontrollmöglichkeiten hinzu, die eine | dessen Funktionen finden Sie in &man.tcpd.8;.</para> | ||||
Firewall nicht bieten kann.</para> | |||||
<para><acronym>TCP</acronym>-Wrapper sollten nicht als Ersatz für | <para><application>TCP Wrapper</application> sollten nicht als | ||||
eine ordentlich konfigurierte Firewall angesehen werden, sondern | Ersatz für eine ordentlich konfigurierte Firewall angesehen | ||||
stattdessen in Verbindung mit einer Firewall und anderen | werden. Stattdessen sollten | ||||
Sicherheitsmechanismen eingesetzt werden.</para> | <application>TCP Wrapper</application> in Verbindung mit einer | ||||
Firewall und anderen Sicherheitsmechanismen eingesetzt werden, | |||||
um bei der Umsetzung einer Sicherheitsrichtlinie eine weitere | |||||
Sicherheitsschicht zu bieten.</para> | |||||
<sect2> | <sect2> | ||||
<title>TCP-Wrapper einrichten</title> | <title>Konfiguration</title> | ||||
<para>Um <acronym>TCP</acronym>-Wrapper unter &os; zu benutzen, | <para>Um <application>TCP Wrapper</application> unter &os; zu | ||||
muss der &man.inetd.8;-Server aus <filename>rc.conf</filename> | aktivieren, fügen Sie die folgenden Zeilen in | ||||
mit den Optionen <option>-Ww</option> gestartet werden. | <filename>/etc/rc.conf</filename> ein:</para> | ||||
Anschließend muss <filename>/etc/hosts.allow</filename> | |||||
<programlisting>inetd_enable="YES" | |||||
inetd_flags="-Ww"</programlisting> | |||||
<para>Anschließend muss <filename>/etc/hosts.allow</filename> | |||||
richtig konfiguriert werden.</para> | richtig konfiguriert werden.</para> | ||||
<note> | <note> | ||||
<para>Im Gegensatz zu anderen Implementierungen der | <para>Im Gegensatz zu anderen Implementierungen der | ||||
<acronym>TCP</acronym>-Wrapper wird vom Gebrauch | <application>TCP Wrapper</application> wird unter &os; vom | ||||
der Datei <filename>hosts.deny</filename> abgeraten. | Gebrauch der Datei <filename>hosts.deny</filename> | ||||
Die Konfiguration sollte sich vollständig in der | abgeraten. Die Konfiguration sollte sich vollständig in | ||||
Datei <filename>/etc/hosts.allow</filename> befinden.</para> | <filename>/etc/hosts.allow</filename> befinden.</para> | ||||
</note> | </note> | ||||
<para>In der einfachsten Konfiguration werden Dienste | <para>In der einfachsten Konfiguration werden Dienste | ||||
abhängig vom Inhalt der Datei | abhängig von den Optionen in | ||||
<filename>/etc/hosts.allow</filename> erlaubt oder | <filename>/etc/hosts.allow</filename> erlaubt oder | ||||
gesperrt. Unter &os; wird in der Voreinstellung | gesperrt. Unter &os; wird in der Voreinstellung | ||||
jeder von &man.inetd.8; gestartete Dienst | jeder von <application>inetd</application> gestartete Dienst | ||||
erlaubt.</para> | erlaubt.</para> | ||||
<para>Eine Konfigurationszeile ist wie folgt aufgebaut: | <para>Eine Konfigurationszeile ist wie folgt aufgebaut: | ||||
<literal>Dienst : Adresse : Aktion</literal>. | <literal>Dienst : Adresse : Aktion</literal>. | ||||
<literal>Dienst</literal> ist der von &man.inetd.8; | <literal>Dienst</literal> ist der von | ||||
<application>inetd</application> | |||||
gestartete Dienst (auch Daemon genannt). Die | gestartete Dienst (auch Daemon genannt). Die | ||||
<literal>Adresse</literal> ist ein gültiger | <literal>Adresse</literal> ist ein gültiger | ||||
Rechnername, eine <acronym>IP</acronym>-Adresse oder | Rechnername, eine <acronym>IP</acronym>-Adresse oder | ||||
eine <acronym>IPv6</acronym>-Adresse in Klammern | eine <acronym>IPv6</acronym>-Adresse in Klammern | ||||
(<literal>[</literal> <literal>]</literal>). | (<literal>[</literal> <literal>]</literal>). | ||||
Der Wert <literal>allow</literal> im Feld | Der Wert <literal>allow</literal> im Feld | ||||
<literal>Aktion</literal> erlaubt Zugriffe, der Wert | <literal>Aktion</literal> erlaubt Zugriffe, der Wert | ||||
<literal>deny</literal> verbietet Zugriffe. | <literal>deny</literal> verbietet Zugriffe. | ||||
Die Zeilen in <filename>hosts.allow</filename> | Die Zeilen in <filename>hosts.allow</filename> | ||||
werden für jede Verbindung der Reihe nach | werden für jede Verbindung der Reihe nach | ||||
abgearbeitet. Trifft eine Zeile auf eine Verbindung | abgearbeitet. Trifft eine Zeile auf eine Verbindung | ||||
zu, wird die entsprechende Aktion ausgeführt | zu, wird die entsprechende Aktion ausgeführt | ||||
und die Abarbeitung ist beendet.</para> | und die Abarbeitung ist beendet.</para> | ||||
<para>Um beispielsweise einkommende | <para>Um beispielsweise einkommende | ||||
<acronym>POP</acronym>3-Verbindungen für den Dienst | <acronym>POP</acronym>3-Verbindungen für den Dienst | ||||
<package>mail/qpopper</package> zu erlauben, sollte | <package>mail/qpopper</package> zu erlauben, sollte | ||||
<filename>hosts.allow</filename> um die nachstehende Zeile | <filename>hosts.allow</filename> um die nachstehende Zeile | ||||
erweitert werden:</para> | erweitert werden:</para> | ||||
<programlisting># This line is required for POP3 connections: | <programlisting># This line is required for POP3 connections: | ||||
qpopper : ALL : allow</programlisting> | qpopper : ALL : allow</programlisting> | ||||
<para>Nachdem Sie die Zeile hinzugefügt haben, muss | <para>Jedes Mal, wenn diese Datei bearbeitet wird, muss | ||||
&man.inetd.8; neu gestartet werden:</para> | <application>inetd</application> neu gestartet werden:</para> | ||||
<screen>&prompt.root; <userinput>service inetd restart</userinput></screen> | <screen>&prompt.root; <userinput>service inetd restart</userinput></screen> | ||||
</sect2> | </sect2> | ||||
<sect2> | <sect2> | ||||
<title>Erweiterte Konfiguration</title> | <title>Erweiterte Konfiguration</title> | ||||
<para><acronym>TCP</acronym>-Wrapper besitzen | <para><application>TCP Wrapper</application> besitzen | ||||
weitere Optionen, die bestimmen, wie Verbindungen | weitere Optionen, die bestimmen, wie Verbindungen | ||||
behandelt werden. In einigen Fällen ist es | behandelt werden. In einigen Fällen ist es | ||||
gut, wenn bestimmten Rechnern oder Diensten eine | gut, wenn bestimmten Rechnern oder Diensten eine | ||||
Nachricht geschickt wird. In anderen Fällen | Nachricht geschickt wird. In anderen Fällen | ||||
soll vielleicht der Verbindungsaufbau protokolliert | soll vielleicht der Verbindungsaufbau protokolliert | ||||
oder eine E-Mail an einen Administrator versandt | oder eine E-Mail an einen Administrator versandt | ||||
werden. Oder ein Dienst soll nur für das | werden. Oder ein Dienst soll nur für das | ||||
lokale Netz bereitstehen. Dies alles ist mit so genannten | lokale Netz bereitstehen. Dies alles ist mit so genannten | ||||
Wildcards, Metazeichen und der Ausführung externer | Wildcards, Metazeichen und der Ausführung externer | ||||
Programme möglich.</para> | Programme möglich.</para> | ||||
<sect3> | |||||
<title>Externe Kommandos</title> | |||||
<para>Stellen Sie sich vor, eine Verbindung soll | <para>Stellen Sie sich vor, eine Verbindung soll | ||||
verhindert werden und gleichzeitig soll demjenigen, | verhindert werden und gleichzeitig soll dem Rechner, | ||||
der die Verbindung aufgebaut hat, eine Nachricht | der die Verbindung aufgebaut hat, eine Nachricht | ||||
geschickt werden. Solch eine Aktion ist mit | geschickt werden. Solch eine Aktion ist mit | ||||
<option>twist</option> möglich. <option>twist</option> | <option>twist</option> möglich. <option>twist</option> | ||||
führt beim Verbindungsaufbau ein Kommando oder ein Skript | führt beim Verbindungsaufbau ein Kommando oder ein Skript | ||||
aus. Ein Beispiel ist in <filename>hosts.allow</filename> | aus. Ein Beispiel ist in <filename>hosts.allow</filename> | ||||
enthalten:</para> | enthalten:</para> | ||||
<programlisting># Alle anderen Dienste sind geschützt | <programlisting># Alle anderen Dienste sind geschützt | ||||
ALL : ALL \ | ALL : ALL \ | ||||
: severity auth.info \ | : severity auth.info \ | ||||
: twist /bin/echo "You are not welcome to use %d from %h."</programlisting> | : twist /bin/echo "You are not welcome to use %d from %h."</programlisting> | ||||
<para>Für jeden Dienst, der nicht vorher in | <para>Für jeden Dienst, der nicht vorher in | ||||
<filename>hosts.allow</filename> konfiguriert wurde, wird | <filename>hosts.allow</filename> konfiguriert wurde, wird | ||||
die Meldung <quote>You are not allowed to use | die Meldung <quote>You are not allowed to use | ||||
<literal>daemon</literal> from | <replaceable>daemon name</replaceable> from | ||||
<literal>hostname</literal>.</quote> zurückgegeben. | <replaceable>hostname</replaceable>.</quote> zurückgegeben. | ||||
Dies ist nützlich, wenn die Gegenstelle sofort | Dies ist nützlich, wenn die Gegenstelle sofort | ||||
benachrichtigt werden soll, nachdem die Verbindung getrennt | benachrichtigt werden soll, nachdem die Verbindung getrennt | ||||
wurde. Der Text der Meldung <emphasis>muss</emphasis> in | wurde. Der Text der Meldung <emphasis>muss</emphasis> in | ||||
Anführungszeichen (<literal>"</literal>) stehen.</para> | Anführungszeichen (<literal>"</literal>) stehen.</para> | ||||
<warning> | <warning> | ||||
<para>Ein so konfigurierter Server ist anfällig | <para>Ein so konfigurierter Server ist anfällig | ||||
für Denial-of-Service-Angriffe. Ein Angreifer | für Denial-of-Service-Angriffe. Ein Angreifer | ||||
kann die gesperrten Dienste mit Verbindungsanfragen | kann die gesperrten Dienste mit Verbindungsanfragen | ||||
überfluten.</para> | überfluten.</para> | ||||
</warning> | </warning> | ||||
<para>Eine weitere Möglichkeit bietet <option>spawn</option>. | <para>Eine weitere Möglichkeit bietet <option>spawn</option>. | ||||
Wie <option>twist</option> verbietet <option>spawn</option> | Wie <option>twist</option> verbietet <option>spawn</option> | ||||
die Verbindung und führt externe Kommandos aus. Allerdings | die Verbindung und führt externe Kommandos aus. Allerdings | ||||
sendet <option>spawn</option> der Gegenstelle keine | sendet <option>spawn</option> dem Rechner keine | ||||
Rückmeldung. Sehen Sie sich die nachstehende | Rückmeldung. Sehen Sie sich die nachstehende | ||||
Konfigurationsdatei an:</para> | Konfigurationsdatei an:</para> | ||||
<programlisting># Verbindungen von example.com sind gesperrt: | <programlisting># Verbindungen von example.com sind gesperrt: | ||||
ALL : .example.com \ | ALL : .example.com \ | ||||
: spawn (/bin/echo %a from %h attempted to access %d >> \ | : spawn (/bin/echo %a from %h attempted to access %d >> \ | ||||
/var/log/connections.log) \ | /var/log/connections.log) \ | ||||
: deny</programlisting> | : deny</programlisting> | ||||
<para>Damit sind Verbindungen von der Domain | <para>Damit sind Verbindungen von der Domain | ||||
<systemitem class="fqdomainname">*.example.com</systemitem> gesperrt. | <systemitem class="fqdomainname">*.example.com</systemitem> gesperrt. | ||||
Jeder Verbindungsaufbau wird zudem in | Jeder Verbindungsaufbau wird zudem in | ||||
<filename>/var/log/connections.log</filename> | <filename>/var/log/connections.log</filename> | ||||
protokolliert. Das Protokoll enthält den | protokolliert. Das Protokoll enthält den | ||||
Rechnernamen, die <acronym>IP</acronym>-Adresse | Rechnernamen, die <acronym>IP</acronym>-Adresse | ||||
und den Dienst, der angesprochen wurde.</para> | und den Dienst, der angesprochen wurde. In diesem Beispiel | ||||
wurden die Metazeichen <literal>%a</literal> und | |||||
<literal>%h</literal> verwendet. Eine vollständige Liste | |||||
der Metazeichen finden Sie in &man.hosts.access.5;.</para> | |||||
<para>In diesem Beispiel wurden die Metazeichen | |||||
<literal>%a</literal> und <literal>%h</literal> verwendet. | |||||
Eine vollständige Liste der Metazeichen finden Sie in | |||||
&man.hosts.access.5;.</para> | |||||
</sect3> | |||||
<sect3> | |||||
<title>Wildcards</title> | |||||
<para>Die Wildcard <literal>ALL</literal> passt auf jeden | <para>Die Wildcard <literal>ALL</literal> passt auf jeden | ||||
Dienst, jede Domain oder jede <acronym>IP</acronym>-Adresse. | Dienst, jede Domain oder jede <acronym>IP</acronym>-Adresse. | ||||
Eine andere Wildcard ist <literal>PARANOID</literal>. Sie | Eine andere Wildcard ist <literal>PARANOID</literal>. Sie | ||||
passt auf jeden Rechner, dessen | passt auf jeden Rechner, dessen | ||||
<acronym>IP</acronym>-Adresse möglicherweise gefälscht ist. | <acronym>IP</acronym>-Adresse möglicherweise gefälscht ist. | ||||
Dies ist beispielsweise der Fall, wenn der Verbindungsaufbau | Dies ist beispielsweise der Fall, wenn der Verbindungsaufbau | ||||
von einer <acronym>IP</acronym>-Adresse erfolgt, die nicht | von einer <acronym>IP</acronym>-Adresse erfolgt, die nicht | ||||
zu dem übermittelten Rechnernamen passt. In diesem Beispiel | zu dem übermittelten Rechnernamen passt. In diesem Beispiel | ||||
werden alle Verbindungsanfragen zu &man.sendmail.8; | werden alle Verbindungsanfragen zu <application>Sendmail</application> | ||||
abgelehnt, wenn die <acronym>IP</acronym>-Adresse nicht zum | abgelehnt, wenn die <acronym>IP</acronym>-Adresse nicht zum | ||||
Rechnernamen passt:</para> | Rechnernamen passt:</para> | ||||
<programlisting># Block possibly spoofed requests to sendmail: | <programlisting># Block possibly spoofed requests to sendmail: | ||||
sendmail : PARANOID : deny</programlisting> | sendmail : PARANOID : deny</programlisting> | ||||
<caution> | <caution> | ||||
<para>Die Wildcard <literal>PARANOID</literal> | <para>Die Wildcard <literal>PARANOID</literal> wird | ||||
kann einen Dienst unbrauchbar machen, wenn der | Verbindungen ablehnen, wenn der | ||||
Client oder der Server eine fehlerhafte | Client oder der Server eine fehlerhafte | ||||
<acronym>DNS</acronym>-Konfiguration besitzt. | <acronym>DNS</acronym>-Konfiguration besitzt.</para> | ||||
Seien Sie daher besonders vorsichtig, wenn Sie diese Wildcard | |||||
in Ihre Konfiguration aufnehmen wollen.</para> | |||||
</caution> | </caution> | ||||
<para>Weitere Informationen über Wildcards und deren Funktion | <para>Weitere Informationen über Wildcards und deren Funktion | ||||
finden Sie in &man.hosts.access.5;.</para> | finden Sie in &man.hosts.access.5;.</para> | ||||
<para>Damit die gezeigten Beispiele funktionieren, muss die | <note> | ||||
erste Konfigurationszeile in | <para>Wenn Sie neue Einträge zur Konfiguration hinzufügen, | ||||
<filename>hosts.allow</filename> auskommentiert | sollten Sie sicherstellen, dass nicht benötigte Einträge | ||||
in <filename>hosts.allow</filename> auskommentiert | |||||
werden.</para> | werden.</para> | ||||
</sect3> | </note> | ||||
</sect2> | </sect2> | ||||
</sect1> | </sect1> | ||||
<sect1 xml:id="kerberos5"> | <sect1 xml:id="kerberos5"> | ||||
<info><title><application>Kerberos</application></title> | <info><title><application>Kerberos</application></title> | ||||
<authorgroup> | <authorgroup> | ||||
<author><personname><firstname>Tillman</firstname><surname>Hodgson</surname></personname><contrib>Beigetragen von </contrib></author> | <author><personname><firstname>Tillman</firstname><surname>Hodgson</surname></personname><contrib>Beigetragen von </contrib></author> | ||||
</authorgroup> | </authorgroup> | ||||
▲ Show 20 Lines • Show All 2,622 Lines • Show Last 20 Lines |