Date: Tue, 21 Jun 2016 20:44:03 +0000 (UTC) From: Bjoern Heidotting <bhd@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r48976 - head/de_DE.ISO8859-1/books/handbook/security Message-ID: <201606212044.u5LKi4wk046725@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606212044.u5LKi4wk046725>