Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

21.08.2006, 00:11

GFTP & TLS LOGINS & TLS TRANSFERS (v0.1)

v 0.1- 20.08.2006 – 22:55:23

Hier nun mein erstes HOWTO 8)

Vorwort

Dieses HOWTO beschreibt ein Einsatzszenario von gFTP (gftp-2.0.18-r4) in Verbindung mit tlswrap (tlswrap-1.02).
Wer gerne gFTP benutzt, welches sich zum einen visuel durch gtk Unterstützung sowol in KDE als auch unter Gnome schön einbinden lässt, zum anderen relativ viele Optionen, u.a. auch FXP (Server2Server Transfer, ohne Zwischenstop auf dem lokalem Rechner) bietet, für den könnte dieses HOWTO interessant sein.
Was mich bei der alleinigen Verwendung von gFTP gestört hat, war das fehlende Feature, sich nicht nur per TLS einloggen zu können, sondern eben auch den Transfer durch TLS verschlüsseln zu lassen.
Hier schliesst das Paket tlswrap die Lücke, welches sich im Grunde wie ein FTP-Proxy verhält, aber gleichzeitig die TLS Verbindung incl. TLS Transfer für gFTP mit dem jeweiligem FTP-Server aushandelt.
Die Verbindung zu tlswrap auf localhost wird nicht verschlüsselt, was aber bei einer Verbindung innerhalb der selben Maschine verschmerzt werden kann.
Übrigends kann man tlswrap nicht nur mit gFTP verwenden, sondern ist universell einsetzbar, d.h. es kann mit jedem x-beliebigem FTP-Client kombiniert werden.
Eine Lücke wird dennoch nicht geschlossen, der FXP-Transfer funktioniert auch mit tlswrap leider nicht verschlüsselt (zumindest bei meinen bisherigen Versuchen hat es nicht funktioniert. Auch ist diese Info in der README von tlswrap zu finden).

Installation von gFTP

Möchte man sich nun auf einen FTPS-Server einloggen, welcher ausschliesslich TLS-Logins und TLS-Transfers erlaubt, sollte man folgendermassen vorgehen.
Zunächst installieren wir gFTP als User root. Die beiden USE-Flags „gtk ssl“ sollten von Haus aus gesetzt sein. Falls nicht schiebt man die beiden Flags einfach in das File /etc/portage/package.use:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
# echo "net-ftp/gftp gtk ssl" >> /etc/portage/package.use
# emerge -av gftp
#
# These are the packages that would be merged, in order:
#
# Calculating dependencies... done!
# [ebuild   R   ] net-ftp/gftp-2.0.18-r4  USE="gtk ssl" 1,342 kB
#
# Total size of downloads: 1,342 kB
#
# Would you like to merge these packages? [Yes/No] y

Im Startmenü des jeweiligen Desktopmanagers (ich gehe von KDE oder Gnome aus) sollte ein Icon für gFTPangelegt worden sein. Falls nicht legt man sich wie gewohnt ein Icon an oder startet das Tool über das Terminal mit dem simplen Befehl gftp.


Installation von tlswrap

Nun werden wir das Paket tlswrap in unser System schmelzen :)

Quellcode

1
2
3
4
5
6
7
8
9
10
# emerge -av tlswrap
#
# These are the packages that would be merged, in order:
#
# Calculating dependencies... done!
# [ebuild   R   ] net-ftp/tlswrap-1.02  0 kB
#
# Total size of downloads: 0 kB
#
# Would you like to merge these packages? [Yes/No] y

tlswrap wird per init-Script gestartet. Damit tlswrap jederzeit angesprochen werden kann, fügen wir den Dienst gleich zum Runlevel „default“ hinzu. Somit wird der Dienst auch beim nächsten Reboot automatisch gestartet.

Quellcode

1
2
3
4
# /etc/init.d/tlswrap start
# * Starting tlswrap ...                                    [ ok ]
# rc-update -a tlswrap default
# * tlswrap added to runlevel default

Jetzt sollte tlswrap auf Port 7000 lauschen. Dies überprüfen wir kurz mit folgendem Befehl: (sollte nmap nicht vorhanden sein, einfach ein „emerge -av nmap“ in das Terminal jagen ^^)

Quellcode

1
2
3
4
5
6
# nmap 127.0.0.1
# Starting Nmap 4.01 ( http://www.insecure.org/nmap/ ) at 2006-08-20 21:49 CEST
# Interesting ports on localhost (127.0.0.1):
# (The 1661 ports scanned but not shown below are in state: closed)
# PORT      STATE SERVICE
# 7000/tcp  open  afs3-fileserver


Alternativ sollte auch folgendes genügen:

Quellcode

1
netstat -l


Konfiguration von gFTP

Möchte man sich nun mit gFTP verbinden muss an dem Client über den Menüpunkt „FTP“ -> „Optionen“ unter dem Reiter „FTP“ als Proxy die IP „127.0.0.1“ mit dem Port „7000“ eingetragen werden. Bei „Typ des ProxyServers“ wählt man im Aufklappmenü das Muster „user@host:port“.
Anschliessen „Anwenden“ und „OK“ klicken. Untenangehängt findet Ihr einen Screenshot für die Settings in gFTP.
Da ja ab jetzt tlswrtap für den FTP-Client die TLS-Verbindung und Übertragung aushandeln soll, gibt man in gFTP selbst jetzt nicht mehr wie gewohnt die IP des FTP-Servers an, sondern die des Localhost, d.h. „127.0.0.1“. In das Feld Port tragen wir „7000“ ein. Als Username wird nun das vormals ausgewähltes Muster auf den eigenen Login übertragen, d.h. man verwendet als Username nun folgendes: user@host:port. Auch hierzu gibt es einen angehängten Screenshot.
Das Voreingestellte Protokoll soll dabei einfach nur „FTP“ sein.


Test

Hat alles funktioniert sollte man sich erfolgreich mit TLS-Verschlüsselung auf den Server verbinden können:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Suche IP Adresse von 127.0.0.1
# Versuche 127.0.0.1:7000
# Verbindung mit 127.0.0.1 erfolgreich:7000
# 220 TLSWrap FTP Proxy Server (v1.02) ready.
# USER test@xxx.xxx.xxx.xxx:xx@localhost:7000
# 331 Password required for test.
# PASS xxxx
# 230- No dead connections found.
# 230 User test logged in.
# SYST
# 215 UNIX Type: L8
# TYPE I
# 200 Type set to I.
# PWD
# 257 "/" is current directory.
# Lade Verzeichnisliste / von der Gegenstelle (LC_TIME=de_DE@euro)
# PASV
# 227 Entering Passive Mode (127,0,0,1,183,20)
# LIST -aL
# 150 Opening BINARY mode data connection for directory listing using SSL/TLS.

Auch der verschlüsselte Transfer sollte nun funktionieren:

Quellcode

1
2
3
4
5
6
# PASV
# 227 Entering Passive Mode (127,0,0,1,132,36)
# RETR /incoming/zoom.bmp
# 150 Opening BINARY mode data connection for /incoming/zoom.bmp (2359350 bytes) using SSL/TLS.
# /incoming/zoom.bmp erfolgreich mit 416,93 KB/s übertragen
# Erfolgreich den Modus von /home/test/Desktop/zoom.bmp nach 644 geändert

Weitere Infos zu tlswrap findet Ihr unter /usr/share/doc/tlswrap-1.02/README, per tlswrap –help im Terminal oder unter http://tlswrap.sunsite.dk/.

Viel Spass beim verschlüsseltem Filetransfer :D

p.s. verbesserungsvorschläge sind wie immer gerne willkommen ;)

Dieser Beitrag wurde bereits 13 mal editiert, zuletzt von »hal2050« (21.08.2006, 20:54)