<?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>Soziotechnische Integration &#187; Zertifikat</title>
	<atom:link href="https://test.soziotech.org/tag/zertifikat/feed/" rel="self" type="application/rss+xml" />
	<link>https://test.soziotech.org</link>
	<description>Ein Projekt mit der Forschungsgruppe Kooperationssysteme an der Universität der Bundeswehr München</description>
	<lastBuildDate>Mon, 15 Jun 2015 15:24:48 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Apache2 SSL-Zertifikat vom DFN</title>
		<link>https://test.soziotech.org/apache2-ssl-zertifikat-vom-dfn/</link>
		<comments>https://test.soziotech.org/apache2-ssl-zertifikat-vom-dfn/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 13:31:47 +0000</pubDate>
		<dc:creator><![CDATA[Florian Ott]]></dc:creator>
				<category><![CDATA[Dienstintegration]]></category>
		<category><![CDATA[Internet & Web 2.0]]></category>
		<category><![CDATA[Linux / Apache]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[DFN]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PEM]]></category>
		<category><![CDATA[PKI]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[X.509]]></category>
		<category><![CDATA[Zertifikat]]></category>

		<guid isPermaLink="false">http://sevastyanova.cscwlab.de/?p=138</guid>
		<description><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/223_crop_940x198_dfn-apache.jpg" width="618" height="130" alt="Apache2 SSL-Zertifikat vom DFN" /></p>Wie viele andere wissenschaftliche Einrichtungen nutzen wir in der Foschungsgruppe Kooperationssysteme die Möglichkeit, unsere SSL-Serverzertifikate durch die Zertifizierungsstelle (CA) des Deutschen Forschungsnetzes (DFN) zertifizieren zu lassen. Die Zertifizierung findet durch die lokale Zwischenzertifizierungsstelle innerhalb der DFN Public Key Infrastruktur (PKI), &#8230; <a href="https://test.soziotech.org/apache2-ssl-zertifikat-vom-dfn/">Weiterlesen <span class="meta-nav">&#8594;</span></a><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fapache2-ssl-zertifikat-vom-dfn%2F&amp;action_name=Apache2+SSL-Zertifikat+vom+DFN&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/nicht-lesbare-thumbnails-bei-wordpress-buddypress-mit-suphp/" rel="bookmark" title="Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP">Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p><img src="https://test.soziotech.org/wp-content/uploads/cache/223_crop_940x198_dfn-apache.jpg" width="618" height="130" alt="Apache2 SSL-Zertifikat vom DFN" /></p>
<p>Wie viele andere wissenschaftliche Einrichtungen nutzen wir in der <a href="http://www.kooperationssysteme.de" title="Zur Website der Forschungsgruppe Kooperationssysteme" target="_blank" class="link-external">Foschungsgruppe Kooperationssysteme</a> die Möglichkeit, unsere SSL-Serverzertifikate durch die Zertifizierungsstelle (<a href="https://test.soziotech.org/glossar/ca/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für CA zu springen." onmouseover="tooltip.show('Certificate Authority; bezeichnet die Organisationseinheit (Zertifizierungsstelle) innerhalb einer PKI, die das CA-Zertifikat bereitstellt und die Signatur von Zertifikatsanträgen übernimmt.');" onmouseout="tooltip.hide();">CA</a>) des <a href="http://www.dfn.de/" title="Zur Website des Deutschen Forschungsnetzes" target="_blank" class="link-external">Deutschen Forschungsnetzes</a> (<a href="https://test.soziotech.org/glossar/dfn/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für DFN zu springen." onmouseover="tooltip.show('Deutsche Forschungsnetz; das von der Wissenschaft selbst organisierte Kommunikationsnetz für Wissenschaft und Forschung in Deutschland. Es verbindet Hochschulen und Forschungseinrichtungen miteinander und ist nahtlos in den europäischen und weltweiten Verbund der Forschungs- und Wissenschaftsnetze integriert. Über mehrere leistungsstarke Austauschpunkte ist das DFN mit dem allgemeinen Internet verbunden.');" onmouseout="tooltip.hide();">DFN</a>) zertifizieren zu lassen. Die Zertifizierung findet durch die lokale Zwischenzertifizierungsstelle innerhalb der DFN Public Key Infrastruktur (<a href="https://test.soziotech.org/glossar/pki/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für PKI zu springen." onmouseover="tooltip.show('Public Key Infrastructure; bezeichnet die Gesamtheit der für die Verschlüsselung mit öffentlichen Schlüsseln spwie die Vergabe digitaler Signaturen erforderlichen Technologien. Zu den notwendigen Einrichtungen gehören typischerweise Registrierungsinstanzen (Registration Authority, RA), Zertifizierungsinstanzen (Certification Authority, CA) sowie Verzeichnisdienste (Directory Service, Repository).');" onmouseout="tooltip.hide();">PKI</a>), unsere <a href="http://www.unibw.de" title="Zur Website der Universität der Bundeswehr München" target="_blank" class="link-external">Universität der Bundeswehr München</a> (<a href="https://test.soziotech.org/glossar/unibwm/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für UniBwM zu springen." onmouseover="tooltip.show('Abkürzung für Universität der Bundeswehr München. Die UniBwM ist die südliche der zwei deutschen Bundeswehr Universitäten. Anschrift: Werner-Heisenberg-Weg 39, 85577 Neubiberg.');" onmouseout="tooltip.hide();">UniBwM</a>), statt . Großer Vorteil ist, dass die CA des DFN-Vereins (&#8222;DFN-Verein PCA Global &#8211; G01&#8243;) als Root-Zertifikat das in gängigen Browsern enthaltene &#8222;Deutsche Telekom Root CA 2&#8243; des T-TeleSec Trust Center der Deutschen Telekom AG für seine Zertifizierung verwendet. Somit wird der Zertifizierungspfad der ausgestellten Zertifikate ohne Zusatzinstallation eines Root-Zertifikats validiert.</p>
<h2>Beantragen eines Serverzertifikats</h2>
<p>Zur Zertifizierung lässt man sich unter ausführlicher Prüfung der persönlichen Daten und der Zugehörigkeit zur jeweils ausstellenden Einrichtung sowie der Sicherheit des zu zertifizierdenden Systems für einen ausgewählten Hostnamen ein Apache-taugliches PEM-Zertifikat generieren. Dabei handelt es sich um ein <a href="https://test.soziotech.org/glossar/base64/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für Base64 zu springen." onmouseover="tooltip.show('Verfahren zur plattformübergreifenden Kodierung von Binärdaten in eine Zeichenfolge, die nur aus lesbaren Codepage-unabhängigen ASCII-Zeichen besteht.');" onmouseout="tooltip.hide();">Base64</a>-kodiertes <a href="https://test.soziotech.org/glossar/x-509/" class="glossaryLink" title="Klicken Sie, um zum detaillierten Glossareintrag für X.509 zu springen." onmouseover="tooltip.show('Von der Internationalen Fernmeldeunion alias International Telecommunication Union (ITU) herausgegebener Standard für eine Public Key Infrastruktur (PKI). ');" onmouseout="tooltip.hide();">X.509</a> Zertifikat im Format:</p>
<pre class="brush:plain">-----BEGIN CERTIFICATE-----

Zertifkatinhalt

-----END CERTIFICATE-----</pre>
<h2>Einbinden in die Apache-Konfiguration</h2>
<p>Dieses Zertifikat kann anschließend in die Webserver-Konfiguration integriert werden. Bisher haben wir hierzu das Zertifikat sowie den von Apache benötigten privaten Schlüssel (Private Key) auf folgende einfache und der <a href="http://httpd.apache.org/docs/2.0/mod/mod_ssl.html" title="Zur Dokumentation von Apache2 mod_ssl" target="_blank" class="link-external">Standard-Dokumentation</a> entsprechende Art in die Konfiguration des jeweiligen vHosts unter /etc/apache2/sites-enabled eingebunden:</p>
<pre class="brush:plain">SSLEngine on
SSLCertificateFile /etc/ssl/certs/ZERTIFIKATSNAME.pem
SSLCertificateKeyFile /etc/ssl/private/PRIVATE_KEY.key</pre>
<p>Hierzu ist natürlich das Apache2 SSL-Modul erforderlich, das sich bei Bedarf über</p>
<pre class="brush:plain">a2enmod ssl
</pre>
<p>aktivieren lässt.</p>
<p>Anschließend muss Apache neu gestartet werden:</p>
<pre class="brush:plain">/etc/init.d/apache2 restart</pre>
<h2>Probleme bei der bisherigen Nutzung</h2>
<p>In gängigen Browsern, wie Firefox, Internet Explorer, Chrome oder Safari  hatten wir damit nie Probleme und das Zertifikat wurde immer  als gültig angezeigt. Dies ist darauf zurückzuführen, dass diese Browser beim Validieren des Zertifikats im lokalen Cache nach den verschiedenen in der Zertifikatskette enthaltenen Authority-Zertifikaten suchen und sie &#8211; sofern vorhanden &#8211; für die Validierung verwenden. Allerdings gelten in größeren Unternehmen oder bestimmten öffentlichen Einrichtungen häufig erhöhte Sicherheitsrichtlinien. Dort werden häufig Web-Proxies eingesetzt, die bei der Validierung des Zertifizierungspfades nicht auf einen lokalen Zertifikats-Cache zurückgreifen können (oder sollen), sondern für die alle Informationen direkt über den Webserver erreichbar sein müssen. In unserem Fall hat dies auf einigen Verwaltungsrechnern dazu geführt, dass bestimmte SSL-verschlüsselte Login-Seiten über den genutzten Web-Proxy nicht erreichbar waren, da die Verbindung als nicht sicher angezeigt wurde.</p>
<h2>Zertifikat-Validierung mit openSSL</h2>
<p>Grundsätzlich lassen sich ausgestellte Zertifikate mit dem Linux-Programm openSSL relativ einfach validieren. Hierzu verwendet man einfach den s_client mit der entsprechenden Adresse des Apache vHosts:</p>
<pre class="brush:plain">openssl s_client -connect vhost-adresse.de:443</pre>
<p>Resultat sollte bei gültigen Zertifikaten ein</p>
<pre>Verify return code: 0 (ok)</pre>
<p>sein. In unserem Fall bekamen wir allerdings trotz der Gültigkeitsanzeige in Brwosern von openSSL ein</p>
<pre>Verify return code: 21 (unable to verify the first certificate)</pre>
<p>weshalb das Zertifikat auch vom Web-Proxy abgelehnt wurde.</p>
<h2>Korrektur durch Einfügen eines SLCACertificateFile</h2>
<p>Beseitigen ließ sich das Problem schließlich durch Nutzung eines SLCACertificateFile in der Apache-Konfiguration. Nachdem der Weg dorthin allerdings etwas steinig war, hier ein paar kurze Erläuterungen.</p>
<p>Zunächst muss das &#8222;Chain-File&#8220; der jeweils genutzten DFN-Zwischenzertifizierungsstelle heruntergeladen werden, das die CA-Zertifikate aller Zwischenzertifizierungsstellen sowie der Root-CA in einem File enthält. Die jeweilige Datei ist auf den öffentlich zugänglichen Servern des DFN-Vereins verfügbar. In unserem Fall beispielsweise unter dem Link <a href="https://pki.pca.dfn.de/uni-bundeswehr-muenchen-ca/pub/cacert/chain.txt" title="DFN-CA Chain-File der UniBwM" target="_blank" class="link-internal broken_link">https://pki.pca.dfn.de/uni-bundeswehr-muenchen-ca/pub/cacert/chain.txt</a>.</p>
<p>Diese Datei muss mit der Endung PEM (streng genommen spielt die Endung in Linux keine Rolle) in den Zertifikatsordner auf den Server (in Debian- und Ubuntu-basierten Distributionen i.d.R. /etc/ssl/certs) geladen und in der vHost-Konfiguration mittels SSLCertificateChainFile entsprechend ergänzt werden. Außerdem war es in unserem Fall erforderlich, Apache den Pfad, in dem die CA-Zertifikate zu finden sind, ebenfalls mitzuteilen:</p>
<pre class="brush:plain">SSLCertificateChainFile /etc/ssl/certs/CHAIN-FILE.pem
SSLCACertificatePath /etc/ssl/certs</pre>
<p>Anschließend muss Apache wieder neu gestartet werden:</p>
<pre class="brush:plain">/etc/init.d/apache2 restart</pre>
<h2>Erneute Validierung</h2>
<p>Interessant ist das Ergebnis der erneuten Validierung, denn hier liefert openSSL im Falle eines DFN-Zertifikats:</p>
<pre>Verify return code: 19 (self signed certificate in certificate chain)</pre>
<p>oder in anderen Worten, dass ein selbst-signiertes Zertifikat im Zertifizierungspfad gefunden wurde. Dies ist darauf zurückzuführen, dass das openssl nichts vom oben bereits erwähnten Root-CA-Zertifikat (&#8222;Deutsche Telekom Root CA 2&#8243;) weiß. Durch Anhängen des CAfile-Parameters lässt sich das Zertifikat allerdings doch noch validieren:</p>
<pre class="brush:plain">openssl s_client -connect vhost-adresse.de:443 -CAfile /etc/ssl/certs/deutsche-telekom-root-ca2.pem
</pre>
<p>Das Resultat ist nun wie gewünscht ein</p>
<pre>Verify return code: 0 (ok)</pre>
<p>Auch von Clients, die den Web-Proxy nutzen, ließ sich die Seite damit problemlos validieren.</p><img src="https://analytics.flottmedia.com/piwik/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Ftest.soziotech.org%2Fapache2-ssl-zertifikat-vom-dfn%2F&amp;action_name=Apache2+SSL-Zertifikat+vom+DFN&amp;urlref=http%3A%2F%2Ffeeds.feedburner.com%2Fsoziotech" style="border:0;width:0;height:0" width="0" height="0" alt="" /><div class='yarpp-related-rss'>
<h3>Verwandte Artikel:</h3><ol>
<li><a href="https://test.soziotech.org/nicht-lesbare-thumbnails-bei-wordpress-buddypress-mit-suphp/" rel="bookmark" title="Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP">Nicht lesbare Thumbnails bei WordPress / Buddypress mit suPHP </a></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>https://test.soziotech.org/apache2-ssl-zertifikat-vom-dfn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
