<?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>Alonso.ch &#187; Postfix</title>
	<atom:link href="http://blog.alonso.ch/tag/postfix/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.alonso.ch</link>
	<description>Nonsport Blog</description>
	<lastBuildDate>Wed, 01 Feb 2012 08:33:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Postfix mit TLS erweitern</title>
		<link>http://blog.alonso.ch/tech/sicherheit/postfix-mit-tls-erweitern/</link>
		<comments>http://blog.alonso.ch/tech/sicherheit/postfix-mit-tls-erweitern/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 03:02:12 +0000</pubDate>
		<dc:creator>Alonso</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[Zertifikat]]></category>

		<guid isPermaLink="false">http://blog.alonso.ch/?p=73</guid>
		<description><![CDATA[Aus aktuellem Anlass ist es nun höchste Zeit, Submission idealerweise mit TLS (optional) zu aktivieren. Folgendes Mini HowTo zeigt die Vorgehensweise unter Debian Lenny mit einem selbst signierten Zertifikat Als erstes sollte &#8211; sofern notwendig &#8211; &#8220;submission&#8221; freigeschaltet werden. Dazu müssen folgende Zeilen in der master.cf einkommentiert werden: /etc/postfix/master.cf submission inet n - - - [...]]]></description>
			<content:encoded><![CDATA[<p>Aus <a href="http://blog.alonso.ch/paste-bin/byebye-port-25/">aktuellem Anlass</a> ist es nun höchste Zeit, Submission idealerweise mit TLS (optional) zu aktivieren.</p>
<p>Folgendes Mini HowTo zeigt die Vorgehensweise unter Debian Lenny mit einem selbst signierten Zertifikat<br />
<span id="more-73"></span><br />
Als erstes sollte &#8211; sofern notwendig &#8211; &#8220;submission&#8221; freigeschaltet werden. Dazu müssen folgende Zeilen in der master.cf einkommentiert werden:</p>
<p><strong>/etc/postfix/master.cf</strong></p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">submission inet n       -       -       -       -       smtpd
  -o smtpd_enforce_tls=no
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject</pre></div></div>

<p>Danach legen wir einen neuen Ordner für die benötigten Zertifikate an:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>postfix<span style="color: #000000; font-weight: bold;">/</span>ssl
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>postfix<span style="color: #000000; font-weight: bold;">/</span>ssl</pre></div></div>

<p>Nun können wir einen privaten RSA Key generieren (2048 Bit)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl genrsa <span style="color: #660033;">-out</span> smtp.key <span style="color: #000000;">2048</span></pre></div></div>

<p>Weiter gehts mit dem CSR (Certificate Signing Request)</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> smtp.key <span style="color: #660033;">-out</span> smtp.csr</pre></div></div>

<p>Die entsprechenden Angaben sollten mehr oder weniger seriös ausgefüllt werden. Funktionsbezogen ist allerdings nur der CN (Common Name). Hier muss der Hostname des Mailservers eingetragen werden &#8211; oder ein entsprechender Wildcard (z.B. smtp.beispieldomain.ch oder *.beispieldomain.ch).</p>
<p>Nun können wir unser Zertifikat anlegen (In diesem Beispiel 365 Tage gültig)</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> smtp.csr <span style="color: #660033;">-out</span> smtp.cert <span style="color: #660033;">-signkey</span> smtp.key</pre></div></div>

<p>Nun ergänzen wir noch die main.cf, oder passen die bereits vorhanden Werte an.</p>
<p><strong>/etc/postfix/main.cf</strong></p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">smtpd_tls_auth_only = no
smtpd_enforce_tls = no
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_cert_file = /etc/postfix/ssl/smtp.cert
smtpd_tls_key_file = /etc/postfix/ssl/smtp.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom</pre></div></div>

<p>Mit dem Parameter <em>smtpd_tls_security_level</em> kann bestimmt werden, ob auch unverschlüsselte Verbindungen erlaubt sind. In diesem Beispiel überlassen wir die Entscheidung über eine allfällige Verschlüsselung beim Client und setzten den Wert daher auf &#8220;may&#8221;.</p>
<p>Der Parameter <em>smtpd_tls_auth_only</em> definiert, ob nur noch mittels TLS Authentifiziert werden kann. Dies ist bei allgemeinen Mailservern nicht unbedingt empfehlenswert, da sich sonst massenhaft <em>relay access denied</em> Fehler ansammeln werden durch eine &#8220;fehlgeschlagene&#8221; Authentifizierung von &#8220;dummen&#8221; clients.<br />
Sicherheitstechnisch müsste dieser Wert allerdings defenitiv aktiviert sein.</p>
<p>Danach noch Postfix neu initialisieren &#8211; und testen.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">postfix reload</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.alonso.ch/tech/sicherheit/postfix-mit-tls-erweitern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

