Update to r44524:
Finish editorial review of OpenSSH chapter. Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D6441
This commit is contained in:
parent
aea8b161eb
commit
ca13a6bc6e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48831
1 changed files with 96 additions and 81 deletions
|
@ -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: r44520
|
||||
basiert auf: r44524
|
||||
-->
|
||||
<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>
|
||||
|
@ -2687,6 +2687,11 @@ COPYRIGHT 100% |*****************************| 4735
|
|||
<option>user@host:<path_to_remote_file></option>
|
||||
besitzen.</para>
|
||||
|
||||
<para>Mit <command>sftp</command> können Dateien über eine
|
||||
interaktive Sitzung kopiert werden. &man.sftp.1; beschreibt
|
||||
die verfügbaren Befehle, die während einer
|
||||
<command>sftp</command>-Sitzung zur Verfügung stehen.</para>
|
||||
|
||||
<sect3 xml:id="security-ssh-keygen">
|
||||
<title>Schlüsselbasierte Authentifizierung</title>
|
||||
|
||||
|
@ -2808,8 +2813,8 @@ Identity added: /usr/home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
|
|||
einen Tunnel zu erstellen, in dem ein anderes Protokoll
|
||||
verschlüsselt übertragen wird.</para>
|
||||
|
||||
<para>Das folgende Kommando erzeugt einen Tunnel für
|
||||
&man.telnet.1;:</para>
|
||||
<para>Im folgenden Kommando erzeugt <command>ssh</command> einen
|
||||
Tunnel für <command>telnet</command>:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5023:localhost:23 user@foo.example.com</replaceable></userinput>
|
||||
&prompt.user;</screen>
|
||||
|
@ -2821,8 +2826,8 @@ Identity added: /usr/home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
|
|||
<term><option>-2</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>Zwingt &man.ssh.1; dazu, die Version 2 des
|
||||
Protokolls zu verwenden, um sich mit dem Server zu
|
||||
<para>Zwingt <command>ssh</command> dazu, die Version 2
|
||||
des Protokolls zu verwenden, um sich mit dem Server zu
|
||||
verbinden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -2832,8 +2837,8 @@ Identity added: /usr/home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
|
|||
|
||||
<listitem>
|
||||
<para>Zeigt an, dass ein Tunnel erstellt werden soll.
|
||||
Ohne diese Option würde &man.ssh.1; eine normale Sitzung
|
||||
öffnen.</para>
|
||||
Ohne diese Option würde <command>ssh</command> eine
|
||||
normale Sitzung öffnen.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -2841,7 +2846,8 @@ Identity added: /usr/home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
|
|||
<term><option>-f</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>Zwingt &man.ssh.1; im Hintergrund zu laufen.</para>
|
||||
<para>Zwingt <command>ssh</command> im Hintergrund zu
|
||||
laufen.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -2869,26 +2875,24 @@ Identity added: /usr/home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
|
|||
|
||||
<para>Ein <acronym>SSH</acronym>-Tunnel erzeugt einen Socket
|
||||
auf <systemitem>localhost</systemitem> und dem angegebenen
|
||||
Port. Jede Verbindung, die auf dem angegebenen Socket
|
||||
aufgemacht wird, wird dann auf den spezifizierten entfernten
|
||||
Rechner und Port weitergeleitet.</para>
|
||||
|
||||
<para>Im Beispiel wird der Port <replaceable>5023</replaceable>
|
||||
auf die entfernte Maschine und dort auf
|
||||
<systemitem>localhost</systemitem> Port
|
||||
<replaceable>23</replaceable> weitergeleitet. Da der Port
|
||||
<replaceable>23</replaceable> für &man.telnet.1; reserviert
|
||||
ist, erzeugt das eine sichere &man.telnet.1;-Verbindung durch
|
||||
lokalen Port. Jede Verbindung, die auf dem angegebenen
|
||||
Socket aufgemacht wird, wird dann auf den spezifizierten
|
||||
entfernten Rechner und Port weitergeleitet. Im Beispiel wird
|
||||
der lokale Port <literal>5023</literal> an die entfernte
|
||||
Maschine auf Port <literal>23</literal> weitergeleitet. Da
|
||||
der Port 23 für <command>telnet</command> reserviert ist,
|
||||
erzeugt das eine sichere &man.telnet.1;-Verbindung durch
|
||||
einen <acronym>SSH</acronym>-Tunnel.</para>
|
||||
|
||||
<para>Diese Vorgehensweise kann genutzt werden, um jedes
|
||||
unsichere <acronym>TCP</acronym>-Protokoll wie
|
||||
<para>Wie in den folgenden Beispielen zu sehen ist, kann diese
|
||||
Vorgehensweise genutzt werden, um jedes unsichere
|
||||
<acronym>TCP</acronym>-Protokoll, wie
|
||||
<acronym>SMTP</acronym>, <acronym>POP3</acronym> und
|
||||
<acronym>FTP</acronym> weiterzuleiten.</para>
|
||||
<acronym>FTP</acronym>, weiterzuleiten.</para>
|
||||
|
||||
<example>
|
||||
<title>Mit &man.ssh.1; einen sicheren Tunnel für
|
||||
<acronym>SMTP</acronym> erstellen</title>
|
||||
<title>Einen sicheren Tunnel für <acronym>SMTP</acronym>
|
||||
erstellen</title>
|
||||
|
||||
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5025:localhost:25 user@mailserver.example.com</replaceable></userinput>
|
||||
user@mailserver.example.com's password: <userinput>*****</userinput>
|
||||
|
@ -2898,11 +2902,11 @@ Connected to localhost.
|
|||
Escape character is '^]'.
|
||||
220 mailserver.example.com ESMTP</screen>
|
||||
|
||||
<para>Zusammen mit &man.ssh-keygen.1; und zusätzlichen
|
||||
Benutzer-Accounts können leicht benutzbare SSH-Tunnel
|
||||
aufgebaut werden. Anstelle von Passwörtern können
|
||||
Schlüssel benutzt werden und jeder Tunnel kann unter einem
|
||||
eigenen Benutzer laufen.</para>
|
||||
<para>Zusammen mit <command>ssh-keygen</command> und
|
||||
zusätzlichen Benutzer-Accounts können leicht benutzbare
|
||||
<acronym>SSH</acronym>-Tunnel aufgebaut werden. Anstelle
|
||||
von Passwörtern können Schlüssel benutzt werden und jeder
|
||||
Tunnel kann unter einem eigenen Benutzer laufen.</para>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
|
@ -2931,18 +2935,20 @@ user@ssh-server.example.com's password: <userinput>******</userinput></screen>
|
|||
</example>
|
||||
|
||||
<example>
|
||||
<title>Umgehen einer strengen Firewall</title>
|
||||
<title>Umgehen einer Firewall</title>
|
||||
|
||||
<para>Einige Netzwerkadministratoren stellen sehr
|
||||
drakonische Firewall-Regeln auf, die nicht nur einkommende
|
||||
Verbindungen filtern, sondern auch ausgehende. Es kann
|
||||
sein, dass Sie externe Maschinen nur über die Ports 22 und
|
||||
80 (<acronym>SSH</acronym> und Web) erreichen.</para>
|
||||
<para>Einige Firewalls filtern sowohl eingehende als auch
|
||||
ausgehende Verbindungen. Zum Beispiel könnte eine
|
||||
Firewall den Zugriff auf entfernte Rechner auf die Ports
|
||||
22 und 80 beschränken, um lediglich <acronym>SSH</acronym>
|
||||
und Web-Inhalte zu erlauben. Dies würde den Zugriff auf
|
||||
Dienste verhindern, die nicht die Ports 22 oder 80
|
||||
benutzen.</para>
|
||||
|
||||
<para>Die Lösung hier ist es, eine
|
||||
<acronym>SSH</acronym>-Verbindung zu einer Maschine
|
||||
außerhalb der Firewall aufzumachen und durch diese zum
|
||||
gewünschten Dienst zu tunneln.</para>
|
||||
gewünschten Dienst zu tunneln:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>8888:music.example.com:8000 user@unfirewalled-system.example.org</replaceable></userinput>
|
||||
user@unfirewalled-system.example.org's password: <userinput>*******</userinput></screen>
|
||||
|
@ -2965,20 +2971,42 @@ user@unfirewalled-system.example.org's password: <userinput>*******</userinput><
|
|||
<secondary>aktivieren</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Um zu überprüfen, ob &man.sshd.8; auf dem System aktiviert
|
||||
ist, suchen Sie in <filename>rc.conf</filename> nach der
|
||||
folgenden Zeile:</para>
|
||||
<para>Neben den integrierten
|
||||
<acronym>SSH</acronym> Client-Werkzeugen, die zur Verfügung
|
||||
stehen, kann ein &os;-System auch als
|
||||
<acronym>SSH</acronym>-Server konfiguriert werden, um
|
||||
Verbindungen von anderen <acronym>SSH</acronym>-Clients zu
|
||||
akzeptieren.</para>
|
||||
|
||||
<para>Benutzen Sie den Kommando &man.service.8;, um zu prüfen
|
||||
ob der <application>sshd</application> ausgeführt wird:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service sshd status</userinput></screen>
|
||||
|
||||
<para>Wenn der Dienst nicht ausgeführt wird, fügen Sie folgende
|
||||
Zeile in <filename>/etc/rc.conf</filename> ein:</para>
|
||||
|
||||
<programlisting>sshd_enable="YES"</programlisting>
|
||||
|
||||
<para>Ist diese Zeile vorhanden, wird &man.sshd.8;, der
|
||||
<application>OpenSSH</application>-Daemon, beim
|
||||
Systemstart automatisch aktiviert. Alternativ kann
|
||||
<application>OpenSSH</application> auch über &man.service.8;
|
||||
gestartet werden:</para>
|
||||
<para>Diese Zeile startet <command>sshd</command>, den
|
||||
<application>OpenSSH</application>-Daemon, beim nächsten
|
||||
Systemstart. Geben Sie folgendes ein, um den Dienst jetzt
|
||||
zu starten:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service sshd start</userinput></screen>
|
||||
|
||||
<para>Wenn <command>sshd</command> erstmalig gestartet wird,
|
||||
werden die Host-Schlüssel des Systems erzeugt und der
|
||||
Fingerabdruck wird auf der Konsole angezeigt. Stellen Sie den
|
||||
Fingerabdruck den Benutzern zur Verfügung, sodass sie ihn
|
||||
überprüfen können, wenn sie das erste Mal eine Verbindung mit
|
||||
dem Server herstellen.</para>
|
||||
|
||||
<para>&man.sshd.8; enthält die verfügbaren Optionen für den
|
||||
Start von <command>sshd</command> und weitere Informationen
|
||||
zur Authentifizierung, den Anmeldeprozess und die
|
||||
verschiedenen Konfigurationsdateien.</para>
|
||||
|
||||
<para>Es ist in der Regel ein gute Idee, festzulegen, welche
|
||||
Benutzer sich von welchem Rechner aus anmelden können.
|
||||
Dies lässt sich beispielsweise über die Option
|
||||
|
@ -3002,49 +3030,36 @@ user@unfirewalled-system.example.org's password: <userinput>*******</userinput><
|
|||
|
||||
<programlisting>AllowUsers root@192.168.1.32 admin</programlisting>
|
||||
|
||||
<note>
|
||||
<para>Nur Benutzer, die in dieser Liste aufgeführt ist,
|
||||
dürfen sich auf diesem Rechner anmelden.</para>
|
||||
</note>
|
||||
|
||||
<para>Nachdem Sie <filename>/etc/ssh/sshd_config</filename>
|
||||
angepasst haben, muss &man.sshd.8; seine Konfigurationsdateien
|
||||
neu einlesen. Dazu geben Sie Folgendes ein:</para>
|
||||
angepasst haben, muss <command>sshd</command> seine
|
||||
Konfigurationsdateien neu einlesen. Dazu geben Sie Folgendes
|
||||
ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>/etc/rc.d/sshd reload</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Konfiguration</title>
|
||||
<note>
|
||||
<para>Wenn die Option <literal>AllowUsers</literal> verwendet
|
||||
wird, ist es wichtig, jeden Benutzer aufzulisten, der sich
|
||||
an diesem Rechner anmelden muss. Benutzer, die nicht in
|
||||
dieser Liste aufgeführt sind, dürfen sich nicht anmelden.
|
||||
Die Optionen für die Konfigurationsdatei von
|
||||
<application>OpenSSH</application> unterscheiden zwischen
|
||||
Groß- und Kleinschreibung. Wenn Sie eine Option falsch
|
||||
schreiben, so wird sie ingnoriert. Testen Sie immer
|
||||
die Änderungen, um sicherzustellen, dass sie wie erwartet
|
||||
funktionieren. Weitere Informationen zu den verfügbaren
|
||||
Optionen finden Sie in &man.sshd.config.5;.</para>
|
||||
</note>
|
||||
|
||||
<indexterm>
|
||||
<primary>OpenSSH</primary>
|
||||
<secondary>Konfiguration</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Die für das ganze System gültigen Konfigurationsdateien
|
||||
des <application>OpenSSH</application>-Daemons und des
|
||||
Clients befinden sich in <filename>/etc/ssh</filename>.</para>
|
||||
|
||||
<para>Die Client-Konfiguration befindet sich in
|
||||
<filename>ssh_config</filename>, die des Servers befindet sich
|
||||
in <filename>sshd_config</filename>. Für beide Dateien
|
||||
existieren Manualpages, welche die einzelnen
|
||||
Konfigurationsoptionen beschreiben.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Weiterführende Informationen</title>
|
||||
|
||||
<para><link
|
||||
xlink:href="http://www.openssh.com/">OpenSSH</link></para>
|
||||
|
||||
<para>&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
|
||||
&man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5; für
|
||||
Client Optionen.</para>
|
||||
|
||||
<para>&man.sshd.8; &man.sftp-server.8; &man.sshd.config.5; für
|
||||
Server Optionen.</para>
|
||||
<tip>
|
||||
<para>Verwechseln Sie nicht
|
||||
<filename>/etc/ssh/sshd_config</filename> mit
|
||||
<filename>/etc/ssh/ssh_config</filename> (beachten Sie das
|
||||
zusätzliche <literal>d</literal> im ersten Dateinamen). Die
|
||||
erste Datei konfiguriert den Server und die zweite Datei
|
||||
konfiguriert den Client. &man.ssh.config.5; enthält eine
|
||||
Auflistung der verfügbaren Client-Einstellungen.</para>
|
||||
</tip>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
|
|
Loading…
Reference in a new issue