<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Börngen-Schmidt IT Consulting &#187; FTP</title>
	<atom:link href="http://www.boerngen-schmidt.de/tag/ftp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.boerngen-schmidt.de</link>
	<description>Die Summe der Kleinigkeiten ergibt das Ganze.</description>
	<lastBuildDate>Mon, 07 Nov 2011 20:00:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>ProFTPd mit TLS</title>
		<link>http://www.boerngen-schmidt.de/2008/08/howto-proftpd-tls/</link>
		<comments>http://www.boerngen-schmidt.de/2008/08/howto-proftpd-tls/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 16:06:01 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.freakbynature.de/archives/23</guid>
		<description><![CDATA[Wie heißte es heute zu tage immer so schon, man kann nie sicher genug sein. Gleiches gilt auch für das traditionelle FTP Protokoll, was nun langsam in die Jahre kommt, aber immer noch _DAS_ Protokoll Nummer 1 ist, wenn es um Dateiübertragungen geht. Eines der Probleme des FTP Protokoll ist es, dass es Benutzernamen und <a href='http://www.boerngen-schmidt.de/2008/08/howto-proftpd-tls/'>[...]</a>


Keine verwandten Artikel gefunden.]]></description>
			<content:encoded><![CDATA[<p>Wie heißte es heute zu tage immer so schon, man kann nie sicher genug sein. Gleiches gilt auch für das traditionelle FTP Protokoll, was nun langsam in die Jahre kommt, aber immer noch _DAS_ Protokoll Nummer 1 ist, wenn es um Dateiübertragungen geht.</p>
<p>Eines der Probleme des FTP Protokoll ist es, dass es Benutzernamen und Passwort als &#8220;plain text&#8221; also als für jeden sicht- und lesbaren Text überträgt. Wohnt man nun zum Beispiel in einem Studentenwohnheim und jemand dort schafft es, wie auch immer, unseren Netzwerkverkehr mitzuhöhren, so wäre er in der Lage unseren Benutzernamen und das Passwort heraus zu finden.<br />
Um dem entgegenzuwirken müssen wir eine sichere Verbindung aufbauen, welches wir auch wie bei HTTP bekannt über SSL bzw. TLS machen.</p>
<p><span id="more-23"></span></p>
<p>Konfiguration von proFTPd:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># TLS</span>
&nbsp;
  TLSEngine on
  TLSLog <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>proftpd_tls.log
  TLSProtocol SSLv23
  TLSCipherSuite ALL:<span style="color: #000000; font-weight: bold;">!</span>ADH:-LOW:-MEDIUM:-SSLv2
  TLSRequired off
  TLSVerifyClient off
  TLSRSACertificateFile <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>proftpd<span style="color: #000000; font-weight: bold;">/</span>host.cert
  TLSRSACertificateKeyFile <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>proftpd<span style="color: #000000; font-weight: bold;">/</span>host.key</pre></div></div>

<p>Weiter Konfigurationsdirektiven für ProFTPd können auf der Webseite<sup><a href="http://www.boerngen-schmidt.de/2008/08/howto-proftpd-tls/#footnote_0_23" id="identifier_0_23" class="footnote-link footnote-identifier-link" title="http://www.proftpd.org/docs/howto/TLS.html">1</a></sup></p>
<p>Zertifikate erstellen:</p>
<p>Nun brauchen wir noch Zertifikate, damit die Verbindung auch verschlüsselt werden kann. Der einfachste Weg ist sich selber solche Zertifikate auszustellen. Dies bedeutet allerdings für den Benutzer, dass er sich nicht sicher sein kann, dass beim Authentifizieren mit dem Server der Server auch wirklich derjenige ist, mit dem sich der Nutzer verbinden will. Deswegen gibt es sogenannte Signing Authorities wie Versign und Co.. Eine kostenlose Signing Authority is http://www.cacert.org. Hat der Benutzer deren Zertifikate als vertrauenswert eingestuft, dann kommt auch kein Warnhinweis, dass das Zertifikat nicht vertrauenswürdig ist.</p>
<p>Nun aber zur Erstellung der Zertifikate<sup><a href="http://www.boerngen-schmidt.de/2008/08/howto-proftpd-tls/#footnote_1_23" id="identifier_1_23" class="footnote-link footnote-identifier-link" title="Mehr zum Erstellen von Zertifikaten, http://www.akadia.com/services/ssh_test_certificate.html">2</a></sup> dazu benutzen wir openSSH<sup><a href="http://www.boerngen-schmidt.de/2008/08/howto-proftpd-tls/#footnote_2_23" id="identifier_2_23" class="footnote-link footnote-identifier-link" title="http://openssl.org/docs/">3</a></sup></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl genrsa <span style="color: #660033;">-des3</span> <span style="color: #660033;">-out</span> host.key <span style="color: #000000;">1024</span>
&nbsp;
Generating RSA private key, <span style="color: #000000;">1024</span> bit long modulus
.........................................................++++++
........++++++
e is <span style="color: #000000;">65537</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>0x10001<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:</pre></div></div>

<p>Hierbei lassen wir die pass phrase leer!</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl req <span style="color: #660033;">-new</span> <span style="color: #660033;">-key</span> host.key <span style="color: #660033;">-out</span> host.csr</pre></div></div>

<p>Hier ist es wichtig, dass der &#8220;<em>Common Name (eg, your name or your server&#8217;s hostname) []</em>&#8221; mit der Domain über einstimmt für die das Zertifikat genutzt werden soll. bsp. ssl.freakbynature.de</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl x509 <span style="color: #660033;">-req</span> <span style="color: #660033;">-days</span> <span style="color: #000000;">365</span> <span style="color: #660033;">-in</span> server.csr <span style="color: #660033;">-signkey</span> host.key <span style="color: #660033;">-out</span> host.crt</pre></div></div>

<p>Voila fertig sind die Zertifikate. Nun noch den proFTPd restarten und dann testen.</p>
<ol class="footnotes"><li id="footnote_0_23" class="footnote">http://www.proftpd.org/docs/howto/TLS.html</li><li id="footnote_1_23" class="footnote">Mehr zum Erstellen von Zertifikaten, http://www.akadia.com/services/ssh_test_certificate.html</li><li id="footnote_2_23" class="footnote">http://openssl.org/docs/</li></ol>

<p>Keine verwandten Artikel gefunden.</p>]]></content:encoded>
			<wfw:commentRss>http://www.boerngen-schmidt.de/2008/08/howto-proftpd-tls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

