This file is indexed.

/usr/share/doc/HOWTO/de-html/DE-UUCP-HOWTO-16.html is in doc-linux-de 2003.10-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
 <TITLE>Linux UUCP HOWTO: UUCP &uuml;ber IP mit ssh sicherer machen</TITLE>
 <LINK HREF="DE-UUCP-HOWTO-15.html" REL=previous>
 <LINK HREF="DE-UUCP-HOWTO.html#toc16" REL=contents>
</HEAD>
<BODY>
<IMG SRC="next.png" ALT="Weiter">
<A HREF="DE-UUCP-HOWTO-15.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-UUCP-HOWTO.html#toc16"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="s16">16.</A> <A HREF="DE-UUCP-HOWTO.html#toc16">UUCP &uuml;ber IP mit ssh sicherer machen</A></H2>

<H2><A NAME="ss16.1">16.1</A> <A HREF="DE-UUCP-HOWTO.html#toc16.1">Sicherheitsl&uuml;cken</A>
</H2>


<P>UUCP &uuml;ber IP baut im Normalfall eine Verbindung zu Port 540 des UUCP-Servers
auf. Diese Verbindung ist unverschl&uuml;sselt und somit kann rein theoretisch
jeder Rechner auf dem Weg der Daten diese abfangen und das Pa&szlig;wort im
Klartext lesen. Ein sogenannter Sniffer ist fast unsichtbar, da er nur
passiv den Datenstrom mitliest und keine eigenen Pakete verschickt.</P>
<P>Das Pa&szlig;wort erm&ouml;glicht dem Angreifer, E-Mails und News von UUCP-Server 
zu holen, als sei er der echte Client.
Oft wird f&uuml;r einen eventuell vorhandenen FTP-Zugang, Shell-Account oder
sogar f&uuml;r den PPP-Zugang das selbe Pa&szlig;wort verwendet, so da&szlig;
der Angreifer auf Kosten des Benutzers surfen kann.</P>

<H2><A NAME="ss16.2">16.2</A> <A HREF="DE-UUCP-HOWTO.html#toc16.2">Die Verbindung verschl&uuml;sseln</A>
</H2>


<P>Es ist m&ouml;glich, die komplette Verbindung so zu verschl&uuml;sseln, da&szlig;
niemand den Inhalt erkennen kann. Als Nebeneffekt ist eine Kompression
zuschaltbar, um bei DialUp-Leitungen Kosten zu sparen. Diese Kompression
wirkt meist nur bei Mails, da News-Batches meist schon komprimiert sind.</P>
<P>Ihr Provider mu&szlig; den SSH-Server <CODE>sshd</CODE> laufen haben und Sie 
ben&ouml;tigen den SSH-Client <CODE>ssh</CODE>.</P>
<P>So testen Sie, ob Ihr Provider den <CODE>sshd</CODE> laufen hat. 
<CODE>uucp.netuse.de</CODE> ersetzen Sie nat&uuml;rlich durch den Namen des 
UUCP-Servers Ihres Providers:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ telnet uucp.netuse.de 22
Trying 193.98.110.140...
Connected to uucp.netuse.de.
Escape character is '^]'.
SSH-1.5-1.2.27
quit
Connection closed by foreign host.
$
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Geben Sie <CODE>quit</CODE> ein, um die Verbindung zu beenden oder benutzen 
Sie die Escape-Sequenz <CODE>^]</CODE>. Auf dem Server in diesem Beispiel 
l&auml;uft der im Moment aktuelle SSH-Daemon Version 1.2.27. Falls Sie eine 
einigerma&szlig;en aktuelle Distribution nutzen, haben sie
wahrscheinlich auch diese Version.</P>
<P>&Uuml;berpr&uuml;fen Sie, ob Sie den SSH-Client installiert haben:
Wenn Sie folgenden Befehl eingeben, sollten sie den Pfad zu dem
Programm erhalten:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ which ssh
/usr/local/bin/ssh
$
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Ist dies nicht der Fall, sollten Sie das SSH-Paket Ihrer Distribution
installieren. RedHat-Pakete bekommen Sie z.B. hier:</P>
<P>
<BLOCKQUOTE><CODE>
<A HREF="ftp://ftp.replay.com/pub/crypto/">ftp.replay.com:/pub/crypto/</A></CODE></BLOCKQUOTE>
</P>


<H2><A NAME="ss16.3">16.3</A> <A HREF="DE-UUCP-HOWTO.html#toc16.3">SSH-Tunnel starten</A>
</H2>


<P>Der SSH-Tunnel kann z.B. so gestartet werden:</P>
<P>
<BLOCKQUOTE><CODE>
$ ssh -f -C uucp.netuse.de 5400:uucp.netuse.de:540 sleep 120
</CODE></BLOCKQUOTE>
</P>
<P>Die Optionen haben folgende Bedeutung:</P>
<P>
<DL>
<DT><B>-f</B><DD>
<P>Diese Option sorgt daf&uuml;r, da&szlig; <CODE>ssh</CODE> sich nach der Authentisierung in
den Hintergrund »forkt«.</P>

<DT><B>-C</B><DD>
<P>Kompression aktivieren (optional)</P>

<DT><B>uucp.netuse.de</B><DD>
<P>Adresse des UUCP-Servers Ihres Providers (z.B.
<CODE>uucp.provider.de</CODE>)</P>

<DT><B>5400:uucp.netuse.de:540</B><DD>
<P><CODE>5400</CODE> ist ein lokaler Port, der fast beliebig gew&auml;hlt werden kann. 
<CODE>uucp.netuse.de</CODE> ist wieder der Hostname des UUCP-Servers und 
<CODE>540</CODE> der Port, auf dem der Server lauscht.</P>

<DT><B>sleep 120</B><DD>
<P>Dies ist ein Shell-Befehl, der daf&uuml;r sorgt, da&szlig; der
Tunnel 2 Minuten auf Daten wartet, bevor er wieder abgebaut wird.</P>
</DL>
</P>
<P>Der lokale Port 5400 ist bewu&szlig;t &uuml;ber 1024 gew&auml;hlt, damit auch ein
Benutzer ohne root-Rechte den Tunnel aufbauen kann.</P>

<H2><A NAME="ss16.4">16.4</A> <A HREF="DE-UUCP-HOWTO.html#toc16.4">UUCP konfigurieren</A>
</H2>


<P>Damit der SSH-Tunnel genutzt wird, mu&szlig; der eigene Client umkonfiguriert werden.
Er darf jetzt keine Verbindung mehr zum UUCP-Server aufbauen, sondern zum
lokalen Port 5400.</P>
<P>Die Dateien <CODE>port</CODE> und <CODE>sys</CODE> werden bearbeitet:</P>
<P><B>port</B></P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
port tcpssh
type tcp
service 5400
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Es wird ein neuer Port <CODE>tcpssh</CODE> konfiguriert, der statt Port 540 den
Port 5400 nutzt.</P>
<P><B>sys</B></P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
system uucp
port tcpssh
protocol t
address 127.0.0.1
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Dieser Abschnitt sollte Ihnen schon bekannt vorkommen. Vielleicht haben Sie
die UUCP-&uuml;ber-IP-Variante auch nur als <CODE>Alternate</CODE> konfiguriert. Die
Verschl&uuml;sselung funktioniert trotzdem.
Im Gegensatz zu Ihrer alten Konfiguration wird der Port und die
<CODE>address</CODE>-Zeile angepasst. Den Port <CODE>tcpssh</CODE> haben wir bereits
in der Datei <CODE>port</CODE> konfiguriert.</P>
<P>Die Adresse wird auf 127.0.0.1 (localhost) gesetzt, damit der SSH-Tunnel die
Daten an den eigentlichen UUCP-Server weiterleiten kann.</P>
<P>Bei einem Aufruf des SSH-Befehls und anschliessendem Pollens sollten Sie
keine Unterschiede in den Logs im Vergleich zu alten Calls feststellen.</P>


<H2><A NAME="ss16.5">16.5</A> <A HREF="DE-UUCP-HOWTO.html#toc16.5">Verschl&uuml;sselung automatisieren</A>
</H2>

<P>Es ist nicht sehr benutzerfreundlich, vor jedem Pollen den SSH-Befehl eintippen
und ein Pa&szlig;wort angeben zu m&uuml;ssen. Ein Skript, welches 
<CODE>uucico</CODE> aufruft, kann also auch ohne
Probleme noch einen zus&auml;tzlichen Befehl vertragen:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/bash
# SSH-Tunnel starten
ssh -f -C uucp.provider.de 5400:uucp.provider.de:540 sleep 120

# Hier kann nochmal schnell ein News-Batchen im 
# Hintergrund angeworfen werden.
# su -c "/usr/bin/sendbatch uucp" news &amp;

# Hier wird uucico gestartet.
/usr/sbin/uucico -Suucp
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H2><A NAME="ss16.6">16.6</A> <A HREF="DE-UUCP-HOWTO.html#toc16.6">SSH ohne Pa&szlig;wort</A>
</H2>

<P>Durch Eintragen des <EM>Public Keys</EM> des Clients auf dem 
Server wird eine SSH-Verbindung erm&ouml;glicht, die kein Pa&szlig;wort ben&ouml;tigt. 
Generieren Sie sich dazu einen Public Key f&uuml;r SSH, falls Sie nicht
bereits einen besitzen:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ ssh-keygen
Initializing random number generator...
Generating p:  ........++ (distance 184)
Generating q:  ............++ (distance 210)
Computing the keys...
Testing the keys...
Key generation complete.
Enter file in which to save the key (/home/user/.ssh/identity): 
Enter passphrase: 
Enter the same passphrase again: 
Your identification has been saved in /home/user/.ssh/identity.
Your public key is:
1024 35 127642664008810473190379335529362297128585226778196\
81550133787496336590741138179031632372787523983722146993732\
04821130289447237973952899107810754205502922180340071603017\
45428600832943838422850984029284270667469908839608991926944\
06721675129466163897527649041652188452013063146729141405576\
7033019358488561450739 user@perikles.toppoint.de
Your public key has been saved in /home/user/.ssh/identity.pub
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Der Dateiname ist egal, best&auml;tigen Sie also einfach mit Enter.
Die Pa&szlig;wortabfrage best&auml;tigen Sie zweimal mit Enter, um kein 
Pa&szlig;wort zu setzen.</P>
<P>Im Verzeichis <CODE>~/.ssh/</CODE> sollten Sie nun diese Dateien finden:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ ls -l
total 3 
-rw-------   1 netadmin netadmin      544 May 31 19:56 identity
-rw-rw-r--   1 netadmin netadmin      348 May 31 19:56 identity.pub
-rw-------   1 netadmin netadmin      512 May 31 19:56 random_seed
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Zus&auml;tzliche Dateien wie z.B. <CODE>authorized_keys</CODE> oder <CODE>known_hosts</CODE>
sind nicht st&ouml;rend, sondern enthalten Informationen zu vergangenen
SSH-Verbindungen.</P>
<P>Ihr Public Key mu&szlig; nun auf den UUCP-Server kopiert werden. Nutzen Sie
dazu am besten gleich SSH, damit niemand Ihre Verbindung mitlesen kann.
Sie ben&ouml;tigen dazu einen Shell-Zugang zu dem UUCP-Server Ihres Providers. Oft
ist dies der gleiche Rechner, der auch den Shell-Zugang selbst bereitstellt.
Wenn Sie keinen Shell-Zugang haben, sollten Sie Ihren Provider bitten, die
Datei <CODE>identitiy.pub</CODE> in das entsprechende  Verzeichnis zu kopieren.
Wenn der Provider nichts mit Ihrer Anfrage nichts anfangen kann, dann hat er
wahrscheinlich nicht viel Ahnung von Sicherheit :-).</P>
<P>Der UUCP-Server ist in diesem Beispiel
<CODE>uucp.provider.de</CODE> und der Benutzername ist <CODE>blafasel</CODE>.</P>
<P>Wechseln Sie ins richtige Verzeichnis wechseln:</P>
<P>
<BLOCKQUOTE><CODE>
$ cd &nbsp;/.ssh
</CODE></BLOCKQUOTE>
</P>
<P>Zum Kopieren des Public Keys nutzen wir den Befehl <CODE>scp</CODE>
(Secure Copy) des SSH-Pakets:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ scp identity.pub blafasel@uucp.provider.de:.ssh/
blafasel@uucp.provider.de's password: 
identity.pub              |          1 KB |   7.4 kB/s | ETA: 00:00:00 | 100%
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Diese Verbindung ben&ouml;tigt nat&uuml;rlich noch ein Pa&szlig;wort. Geben Sie 
das Pa&szlig;wort f&uuml;r Ihren Shell-Account ein.</P>
<P>Testen Sie nun, ob ein Login ohne Pa&szlig;wort m&ouml;glich ist:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ ssh blafasel@uucp.provider.de
Last login: Tue May 30 17:44:47 2000
No mail
$ uname -n
uucp.provider.de
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Falls Sie den gleichen Benutzernamen auf Ihrem Client und dem Server 
nutzen, k&ouml;nnen Sie den SSH-Befehl zu <CODE>ssh uucp.provider.de</CODE> 
reduzieren. Die Meldungen nach dem Login k&ouml;nnen stark varieren, 
je nachdem welches Betriebssystem Ihr Provider einsetzt. Kontrollieren 
Sie mit dem Befehl </P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ uname -n
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>ob Sie auf dem richtigen Rechner eingeloggt sind.</P>

<H2><A NAME="ss16.7">16.7</A> <A HREF="DE-UUCP-HOWTO.html#toc16.7">SSH-Tunnel beim Login per PPP aktivieren</A>
</H2>

<P>Wenn ich per SyncPPP online bin, wird automatisch alle 5 Minuten nach 
Mails und News gesucht. Falls sie etwas &auml;hnliches machen, k&ouml;nnen Sie 
die SSH-Zeile f&uuml;r den Tunnel in die Datei <CODE>/etc/ppp/ip-up</CODE> 
eintragen und somit einen permanenten Tunnel aufstellen. Achten Sie 
darauf, da&szlig; der <CODE>sleep</CODE> Befehl einen hohen Wert hat, damit der 
Tunnel lange bestehen bleibt.</P>
<P>Nachteil dieser Version ist, da&szlig; bei Dial on Demand oft Verbindungen aufgebaut
werden k&ouml;nnen oder die Verbindung nicht abgebaut wird, obwohl keine Daten mehr
transferiert werden und das Idle-Timeout &uuml;berschritten ist.</P>
<P>Als L&ouml;sung dieses Problems bietet es sich an, vor jedem UUCP-Call den
SSH-Tunnel f&uuml;r ein paar Sekunden aufzubauen. Wie viele Sekunden Sie ben&ouml;tigen,
h&auml;ngt von Ihrer Anbindung ab. 10 Sekunden sollten allerdings ausreichend sein.</P>


<HR>
<IMG SRC="next.png" ALT="Weiter">
<A HREF="DE-UUCP-HOWTO-15.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-UUCP-HOWTO.html#toc16"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>