svn commit: r48976 - head/de_DE.ISO8859-1/books/handbook/security
Bjoern Heidotting
bhd at FreeBSD.org
Tue Jun 21 20:44:05 UTC 2016
Author: bhd
Date: Tue Jun 21 20:44:03 2016
New Revision: 48976
URL: https://svnweb.freebsd.org/changeset/doc/48976
Log:
Update to r48670:
Add a section on installing sudo and some basic instruction on the use.
Reviewed by: bcr
Differential Revision: https://reviews.freebsd.org/D6909
Modified:
head/de_DE.ISO8859-1/books/handbook/security/chapter.xml
Modified: head/de_DE.ISO8859-1/books/handbook/security/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/security/chapter.xml Tue Jun 21 20:21:59 2016 (r48975)
+++ head/de_DE.ISO8859-1/books/handbook/security/chapter.xml Tue Jun 21 20:44:03 2016 (r48976)
@@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/security/chapter.xml,v 1.178 2012/04/30 17:07:41 bcr Exp $
- basiert auf: r48103
+ basiert auf: r48670
-->
<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>
@@ -4145,4 +4145,213 @@ jail:httpd:memoryuse:deny=2G/jail</progr
in &man.rctl.8;.</para>
</sect2>
</sect1>
+
+ <sect1 xml:id="security-sudo">
+ <info>
+ <title>Gemeinsame Administration mit Sudo</title>
+
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Tom</firstname>
+ <surname>Rhodes</surname>
+ </personname>
+ <contrib>Beigetragen von </contrib>
+ </author>
+ </authorgroup>
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Björn</firstname>
+ <surname>Heidotting</surname>
+ </personname>
+ <contrib>Übersetzt von </contrib>
+ </author>
+ </authorgroup>
+ </info>
+
+ <indexterm>
+ <primary>Sicherheit</primary>
+ <secondary>Sudo</secondary>
+ </indexterm>
+
+ <para>Systemadministratoren benötigen häufig die Möglichkeit,
+ Benutzern erweiterte Berechtigungen zu gewähren, damit
+ diese privilegierte Aufgaben ausführen können. Die Idee, dass
+ Teammitglieder einen Zugang zu einem &os;-System zur Verfügung
+ gestellt bekommen, um ihre spezifischen Aufgaben erledigen zu
+ können, stellt den Administrator vor eine große
+ Herausforderung. Diese Teammitglieder benötigen in der Regel
+ nur einen eingeschränkten Zugang. Für manche Aufgaben werden
+ jedoch die Rechte des Superusers benötigt. Zum Glück gibt es
+ keinen Grund, diesen Mitgliedern einen solchen Zugang zu geben,
+ da es Werkzeuge für genau diesen Anwendungsfall gibt.</para>
+
+ <para>Bislang wurde in diesem Kapitel immer versucht, den Zugriff
+ für autorisierte Benutzer zu gewähren und den Zugriff für
+ nicht autorisierte Benutzer zu verhindern. Ein weiteres Problem
+ entsteht, sobald autorisierte Benutzer Zugriff auf die
+ Ressourcen des Systems haben. In vielen Fällen benötigen einige
+ Benutzer Zugriff auf Startskripte von Anwendungen. In anderen
+ Fällen muss eine Gruppe von Administratoren das System
+ verwalten. Traditionell wird der Zugriff über Benutzer,
+ Gruppen, Dateiberechtigungen und manchmal sogar &man.su.1;
+ verwaltet. Und da immer mehr Anwendungen einen Zugriff brauchen
+ und immer mehr Benutzer Zugriff auf die Systemressourcen
+ benötigen, ist ein besserer Lösungsansatz erforderlich. Die am
+ häufigsten verwendete Anwendung in solchen Fällen ist derzeit
+ <application>Sudo</application>.</para>
+
+ <para><application>Sudo</application> erlaubt dem Administrator
+ eine rigide Konfiguration des Zugriffs auf bestimmte Kommandos
+ und stellt einige erweiterte Protokollfunktionen zur Verfügung.
+ Dieses Werkzeug kann als Port oder Paket
+ <package>security/sudo</package> installiert werden. Das Paket
+ wird wie folgt installiert:</para>
+
+ <screen>&prompt.root; <userinput>pkg install sudo</userinput></screen>
+
+ <para>Nach der Installation können Sie <command>visudo</command>
+ benutzen, um die Konfiguration in einem Texteditor zu öffnen.
+ Es wird ausdrücklich <command>visudo</command> empfohlen, da
+ dieses Programm die Syntax auf Fehler überprüft, bevor die
+ Konfigurationsdatei gespeichert wird.</para>
+
+ <para>Die Konfigurationsdatei besteht aus mehreren kleinen
+ Abschnitten, die eine umfangreiche Konfiguration ermöglichen.
+ Im folgenden Beispiel soll der Webentwickler (<systemitem
+ class="username">user1</systemitem>) den Dienst
+ <replaceable>webservice</replaceable> starten und stoppen
+ dürfen. Um ihm dieses Recht zu gewähren, fügen Sie folgende
+ Zeile an das Ende von
+ <filename>/usr/local/etc/sudoers</filename> ein:</para>
+
+ <programlisting>user1 ALL=(ALL) /usr/sbin/service webservice *</programlisting>
+
+ <para>Der Benutzer kann jetzt
+ <replaceable>webservice</replaceable> über dieses Kommando
+ starten:</para>
+
+ <screen>&prompt.user; <userinput>sudo /usr/sbin/service <replaceable>webservice</replaceable> start</userinput></screen>
+
+ <para>Diese Konfiguration gestattet den Zugriff auf den
+ <application>webservice</application> für einen einzelnen
+ Benutzer. Jedoch ist in den meisten Organisationen ein ganzes
+ Team für die Verwaltung eines solchen Dienstes verantwortlich.
+ Mit einer weiteren Zeile ist es möglich, einer ganzen Gruppe
+ diesen Zugriff zu geben. Die folgenden Schritte erstellen eine
+ Gruppe mit den entsprechenden Benutzern. Der Gruppe wird es
+ dann ermöglicht, diesen Dienst zu verwalten:</para>
+
+ <screen>&prompt.root; <userinput>pw groupadd -g 6001 -n webteam</userinput></screen>
+
+ <para>Nun werden die Benutzer mit Hilfe von &man.pw.8; in die
+ Gruppe <replaceable>webteam</replaceable> hinzugefügt:</para>
+
+ <screen>&prompt.root; <userinput>pw groupmod -m user1 -n webteam</userinput></screen>
+
+ <para>Zuletzt wird folgende Zeile in
+ <filename>/usr/local/etc/sudoers</filename> hinzugefügt, damit
+ jedes Mitglied von <replaceable>webteam</replaceable> den Dienst
+ <replaceable>webservice</replaceable> verwalten kann:</para>
+
+ <programlisting>%webteam ALL=(ALL) /usr/sbin/service webservice *</programlisting>
+
+ <para>Im Gegensatz zu &man.su.1;, benötigt
+ <application>Sudo</application> nur das Passwort des
+ Benutzers.</para>
+
+ <para>Benutzer, die mit Hilfe von <application>Sudo</application>
+ Programme ausführen, müssen lediglich ihr eigenes Passwort
+ eingeben. Dies ist sicherer und bietet eine bessere Kontrolle
+ als &man.su.1;, wo der Benutzer das <systemitem
+ class="username">root</systemitem>-Passwort eingibt und damit
+ alle Rechte von <systemitem class="username">root</systemitem>
+ erlangt.</para>
+
+ <tip>
+ <para>Viele Organisationen haben bereits auf eine
+ Zwei-Faktor-Authentifizierung umgestellt. In diesen Fällen
+ hat der Benutzer möglicherweise gar kein Passwort, welches er
+ eingeben könnte. <application>Sudo</application> bietet für
+ solche Fälle die Variable <literal>NOPASSWD</literal>. Wenn
+ die Variable in die obige Konfiguration hinzugefügt wird,
+ dürfen die Mitglieder der Gruppe
+ <replaceable>webteam</replaceable> den Dienst verwalten, ohne
+ ein Passwort eingeben zu müssen:</para>
+
+ <programlisting>%webteam ALL=(ALL) NOPASSWORD: /usr/sbin/service webservice *</programlisting>
+ </tip>
+
+ <sect2 xml:id="security-sudo-loggin">
+ <title>Protokollierung</title>
+
+ <para>Ein Vorteil von <application>Sudo</application> ist, dass
+ Sitzungen protokolliert werden können. Mit den integrierten
+ Protokollmechanismen und dem Befehl
+ <application>sudoreplay</application> können alle über
+ <application>Sudo</application> ausgelösten Befehle
+ protokolliert und zu einem späteren Zeitpunkt überprüft
+ werden. Um diese Funktion zu aktivieren, fügen Sie einen
+ Eintrag für das Verzeichnis der Protokolle hinzu. Dieses
+ Beispiel verwendet eine Benutzervariable. Weitere
+ Informationen finden Sie in der Manualpage von
+ <application>sudoreplay</application>.</para>
+
+ <programlisting>Defaults iolog_dir=/var/log/sudo-io/%{user}</programlisting>
+
+ <tip>
+ <para>Dieses Verzeichnis wird automatisch nach der
+ Konfiguration erstellt. Um auf der sicheren Seite zu sein,
+ ist es am besten, das System die Verzeichnisse mit
+ Standardberechtigungen erstellen zu lassen. Dieser
+ Eintrag wird auch ein Protokoll für Administratoren
+ erstellen, wenn diese den Befehl
+ <application>sudoreplay</application> benutzen. Um dieses
+ Verhalten zu ändern, kommentieren Sie die entsprechenden
+ Zeilen in <filename>sudoers</filename> aus.</para>
+ </tip>
+
+ <para>Nachdem dieser Eintrag in die Datei
+ <filename>sudoers</filename> hinzugefügt wurde, kann die
+ Konfiguration der Benutzer für die Protokollierung
+ aktualisiert werden. In dem gezeigten Beispiel würde der
+ aktualisierte Eintrag für das
+ <replaceable>webteam</replaceable> zusätzlich folgende
+ Änderung benötigen:</para>
+
+ <programlisting>%webteam ALL=(ALL) NOPASSWD: LOG_INPUT: LOG_OUTPUT: /usr/sbin/service webservice *</programlisting>
+
+ <para>Von nun an wird jede Änderung am
+ <replaceable>webservice</replaceable> protokolliert, wenn sie
+ von einem Mitglied der Gruppe
+ <replaceable>webteam</replaceable> initiiert wurde. Eine
+ Liste der Sitzungen kann wie folgt angezeigt werden:</para>
+
+ <screen>&prompt.root; <userinput>sudoreplay -l</userinput></screen>
+
+ <para>Wenn Sie eine bestimmte Sitzung wiedergeben möchten,
+ suchen Sie in der Ausgabe nach dem Eintrag
+ <literal>TSID=</literal> und übergeben Sie den Wert ohne
+ weitere Optionen an <application>sudoreplay</application>.
+ Zum Beispiel:</para>
+
+ <screen>&prompt.root; <userinput>sudoreplay user1/00/00/02</userinput></screen>
+
+ <warning>
+ <para>Obwohl die Sitzungen protokolliert werden, kann ein
+ böswilliger Administrator wahllos die Sitzungsprotokolle
+ löschen. Daher ist es eine gute Idee, eine tägliche
+ Kontrolle mit einem <foreignphrase>Intrusion Detection
+ System</foreignphrase> (<acronym>IDS</acronym>) oder
+ einer ähnlichen Software durchzuführen, so dass andere
+ Administratoren auf manuelle Änderungen aufmerksam gemacht
+ werden.</para>
+ </warning>
+
+ <para><application>sudoreplay</application> ist extrem
+ erweiterbar. Lesen Sie die Dokumentation für weitere
+ Informationen.</para>
+ </sect2>
+ </sect1>
</chapter>
More information about the svn-doc-head
mailing list