]> git.mxchange.org Git - friendica.git/blob - doc/de/SSL.md
some icons were added to the ShaShape iconset
[friendica.git] / doc / de / SSL.md
1 Friendica mit SSL nutzen
2 =====================================
3
4 * [Zur Startseite der Hilfe](help)
5
6 Wenn du deine eigene Friendica-Seite betreibst, willst du vielleicht SSL (https) nutzen, um die Kommunikation zwischen dir und deinem Server zu verschlüsseln (die Kommunikation zwischen den Servern ist bereits verschlüsselt).
7
8 Wenn du das auf deiner eigenen Domain machen willst, musst du ein Zertifikat von einer anerkannten Organisation beschaffen (sogenannte selbst-signierte Zertifikate, die unter Computerfreaks beliebt sind, arbeiten nicht sehr gut mit Friendica, weil sie Warnungen im Browser hervorrufen können).
9
10 Wenn du dieses Dokument liest, bevor du Friendica installierst, kannst du eine sehr einfache Option in Betracht ziehen: suche dir ein geteiltes Hosting-Angebot (shared hosting) ohne eigene Domain. 
11 Dadurch wirst du eine Adresse in der Form deinName.deinAnbietername.de erhalten, was nicht so schön wie deinName.de ist. 
12 Aber es wird trotzdem deine ganz persönliche Seite sein und du wirst unter Umständen die Möglichkeit haben, das SSL-Zertifikat deines Anbieters mitzubenutzen. 
13 Das bedeutet, dass du SSL überhaupt nicht konfigurieren musst - es wird einfach sofort funktionieren, wenn die Besucher deiner Seite https statt http eingeben. 
14
15 Wenn dir diese Lösung nicht gefällt, lies weiter...
16
17 **Geteilte Hosting-Angebote/Shared hosts**
18
19 Wenn du ein geteiltes Hosting-Angebot mit einer eigenen Domain nutzt, dann wird dir dein Anbieter ggf. anbieten, dir das Zertifikat zu besorgen und zu installieren. 
20 Du musst es nur beantragen und bezahlen und alles wird eingerichtet. 
21 Wenn das die Lösung für dich ist, musst du das weitere Dokument nicht lesen. 
22 Gehe nur sicher, dass das Zertifikat auch für die Domain gilt, die du für Friendica nutzt: z.B. meinfriendica.de oder friendica.meinserver.de.
23
24 Das Vorangehende wird die häufigste Art sein, eine Friendica-Seite zu betreiben, so dass der Rest des Artikels für die meisten Leute nicht von Bedeutung ist.
25
26 **Beschaffe dir das Zertifikat selbst**
27
28 Alternativ kannst du dir auch selbst ein Zertifikat besorgen und hochladen, falls dein Anbieter das unterstützt.
29
30 Der nächste Abschnitt beschreibt den Ablauf, um ein Zertifikat von StartSSL zu erhalten. 
31 Das Gute an StartSSL ist, dass du kostenlos ein einfaches, aber perfekt ausreichendes Zertifikat erhältst. 
32 Das ist bei vielen anderen Anbietern nicht so, weshalb wir uns in diesem Dokument auf StartSSL konzentrieren werden. 
33 Wenn du ein Zertifikat eines anderen Anbieters nutzen willst, musst du die Vorgaben dieser Organisation befolgen. 
34 Wir können hier nicht jede Möglichkeit abdecken. 
35
36 Die Installation deines erhaltenen Zertifikats hängt von den Vorgaben deines Anbieters ab. 
37 Aber generell nutzen solche Anbieter ein einfaches Web-Tool, um die Einrichtung zu unterstützen.
38
39 Beachte: dein Zertifikat gilt gewöhnlich nur für eine Subdomain. 
40 Wenn du dein Zertifikat beantragst, sorge dafür, dass es für die Domain und die Subdomain gilt, die du für Friendica nutzt: z.B. meinfriendica.de oder friendica.meinserver.de.
41
42 **Erhalte ein kostenloses StartSSL-Zertifikat**
43
44 Die Webseite von StartSSL führt dich durch den Erstellungsprozess, aber manche Leute haben hier trotzdem Probleme. 
45 Wir empfehlen dir ausdrücklich, die Installationsanleitung Schritt für Schritt langsam und sorgfältig zu befolgen. 
46 Lese dir jedes Wort durch und schließe deinen Browser erst, wenn alles läuft. 
47 Es heißt, dass es drei Schritte gibt, die den Nutzer verwirren können:
48
49 Wenn du dich erstmals bei StartSSL anmeldest, erhältst du ein erstes Zertifikat, dass sich einfach in deinem Browser installiert. 
50 Dieses Zertifikat solltest du zur Sicherheit irgendwo speichern, so dass du es für einen neuen Browser neu installieren kannst, wenn du z.B. etwas erneuern musst. 
51 Dieses Authentifizierungszertifikat wird nur für das Login benötigt und hat nichts mit dem Zertifikat zu tun, dass du später für deinen Server benötigst. 
52 Als Anfänger mit StartSSL kannst du [hier starten](https://www.startssl.com/?lang=de) und die "Express Lane" nutzen, um dein Browser-Zertifikiat zu erhalten. 
53 Im nächsten Schritt kannst du die Einrichtung deines Zertifikats fortsetzen.
54
55 Wenn du zuerst nach einer Domain für dein Zertifikat gefragt wirst, musst du die Top-Level-Domain angeben, nicht die Subdomain, die Friendica nutzt. 
56 Im nächsten Schritt kannst du dann die Subdomain spezifizieren. 
57 Wenn du also friendica.deinName.de auf deinem Server hast, musst du zuerst deinName.de angeben. 
58
59 Höre nicht zu früh auf, wenn du am Ende der Einrichtung dein persönliches Server-Zertifikat erhalten hast. 
60 Abhängig von deiner Server-Software benötigst du ein oder zwei generische Dateien, die du mit deinem kostenlosen StartSSL-Zertifikat nutzen musst. 
61 Diese Dateien sind sub.class1.server.ca.pem und ca.pem. 
62 Wenn du diesen Schritt bereits übersprungen hast, kannst du die Dateien hier finden: [http://www.startssl.com/?app=21](http://www.startssl.com/?app=21). 
63 Aber am besten funktioniert es, wenn du StartSSL nicht beendest, bevor du den Vorgang komplett abgeschlossen hast und dein https-Zertifikat hochgeladen ist und funktioniert. 
64
65 **Virtuelle private und dedizierte Server (mit StartSSL free)**
66
67 Der Rest dieses Dokuments ist etwas komplizierter, aber es ist auch nur für Personen, die Friendica auf einem virtuellen oder dedizierten Server nutzen. 
68 Jeder andere kann an dieser Stelle mit dem Lesen aufhören.
69
70 Folge den weiteren Anleitungen [hier](http://www.startssl.com/?app=20), um den Webserver, den du benutzt (z.B. Apache), für dein Zertifikat einzurichten.
71
72 Um die nötigen Schritte zu verdeutlichen, setzen wir nun voraus, dass Apache aktiv ist. 
73 Im Wesentlichen kannst du einfach einen zweiten httpd.conf-Eintrag für Friendica erstellen. 
74
75 Um das zu machen, kopiere den existierenden Eintrag und ändere das Ende der ersten Zeile auf "lesen" :443> anstelle von :80> und trage dann die folgenden Zeilen ein, wie du es auch in der Anleitung von StartSSL finden kannst:
76
77         SSLEngine on
78         SSLProtocol all -SSLv2
79         SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
80
81         SSLCertificateFile /usr/local/apache/conf/ssl.crt
82         SSLCertificateKeyFile /usr/local/apache/conf/ssl.key
83         SSLCertificateChainFile /usr/local/apache/conf/sub.class1.server.ca.pem
84         SSLCACertificateFile /usr/local/apache/conf/ca.pem
85         SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
86         CustomLog /usr/local/apache/logs/ssl_request_log \ 
87         "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
88
89 (Beachte, dass das Verzeichnis /usr/local/apache/conf/ möglicherweise nicht in deinem System existiert. 
90 In Debian ist der Pfad bspw. /etc/apache2/, in dem du ein SSL-Unterverzeichnis erstellen kannst, wenn dieses noch nicht vorhanden ist. 
91 Dann hast du /etc/apache2/ssl/… statt /usr/local/apache/conf/…)
92
93 Du solltest nun zwei Einträgen für deine Friendica-Seite haben - einen für einfaches http und eines für https.
94
95 Ein Hinweis für diejenigen, die SSL steuern wollen: setze keine Weiterleitung deines SSL in deine Apache-Einstellung. Friendicas Admin-Panel hat eine spezielle Einstellung für die SSL-Methode. 
96 Bitte nutze diese Einstellungen. 
97
98 **Vermische Zertifikate in Apache – StartSSL und andere (selbst-signierte)**
99
100 Viele Leute nutzen einen virtuellen privaten oder einen dedizierten Server, um mehr als Friendica darauf laufen zu lassen. 
101 Sie wollen möglicherweise SSL auch für andere Seiten nutzen, die auf dem Server liegen. 
102 Um das zu erreichen, wollen sie mehrere Zertifikate für eine IP nutzen, z.B. ein Zertifikat eines anerkannten Anbieters für Friendica und ein selbst-signiertes für eine persönliche Inhalte (möglw. ein Wildcard-Zertifikat für mehrere Subdomains).
103
104 Um das zum Laufen zu bringen, bietet Apache eine NameVirtualHost-Direktive. 
105 Du findest Informationen zur Nutzung in httpd.conf in den folgenden Ausschnitten. 
106 Beachte, dass Wildcards (*) in httpd.conf dazu führen, dass die NameVirtualHost-Methode nicht funktioniert; du kannst diese in dieser neuen Konfiguration nicht nutzen. 
107 Das bedeutet, dass *80> oder *443> nicht funktionieren. 
108 Und du musst unbedingt die IP definieren, selbst wenn du nur eine hast. 
109 Beachte außerdem, dass du bald zwei Zeilen zu Beginn der Datei hinzufügen musst, um NameVirtualHost für IPv6 vorzubereiten.
110
111         NameVirtualHost 12.123.456.1:443
112         NameVirtualHost 12.123.456.1:80
113
114         <VirtualHost www.anywhere.net:80>
115         DocumentRoot /var/www/anywhere
116         Servername www.anywhere.net
117         </VirtualHost>
118
119         <VirtualHost www.anywhere.net:443>
120         DocumentRoot /var/www/anywhere
121         Servername www.anywhere.net 
122         SSLEngine On
123         <pointers to a an eligible cert>
124         <more ssl stuff >
125         <other stuff>
126         </VirtualHost>
127
128         <VirtualHost www.somewhere-else.net:80>
129         DocumentRoot /var/www/somewhere-else
130         Servername www.somewhere-else.net
131         </VirtualHost>
132
133         <VirtualHost www.somewhere-else:443>
134         DocumentRoot /var/www/somewhere-else
135         Servername www.somewhere-else.net
136         SSLEngine On
137         <pointers to another eligible cert>
138         <more ssl stuff >
139         <other stuff>
140         </VirtualHost>
141
142 Natürlich kannst du auch andere Verzeichnisse auf deinem Server nutzen, um Apache zu konfigurieren. 
143 In diesem Fall müssen nur einige Zeilen in httpd.conf oder ports.conf angepasst werden - vor allem die NameVirtualHost-Zeilen. 
144 Aber wenn du sicher im Umgang mit solchen Alternativen bist, wirst du sicherlich die nötigen Anpassungen herausfinden.
145
146 Starte dein Apache abschließend neu. 
147
148 **StartSSL auf Nginx**
149
150 Führe zunächst ein Update auf den neuesten Friendica-Code durch. 
151 Folge dann der Anleitung oben, um dein kostenloses Zertifikat zu erhalten. 
152 Aber statt der Apache-Installationsanleitung zu folgen, mache das Folgende:
153
154 Lade dein Zertifikat hoch. 
155 Es ist nicht wichtig, wohin du es lädst, solange Nginx es finden kann. 
156 Einige Leute nutzen /home/verschiedeneNummernundBuchstaben, du kannst aber auch z.B. etwas wie /foo/bar nutzen.
157
158 Du kannst das Passwort entfernen, wenn du willst. 
159 Es ist zwar möglicherweise nicht die beste Wahl, aber wenn du es nicht machst, wirst du das Passwort immer wieder eingeben müssen, wenn du Ngingx neustartest. 
160 Um es zu entfernen, gebe Folgendes ein: 
161
162         openssl rsa -in ssl.key-pass -out ssl.key
163
164 Nun hole dir das Hifs-Zertifikat:
165
166         wget http://www.startssl.com/certs/sub.class1.server.ca.pem
167
168 Nun vereinige die Dateien:
169
170         cat ssl.crt sub.class1.server.ca.pem > ssl.crt
171
172 In manchen Konfigurationen ist ein Bug enthalten, weshalb diese Schritte nicht ordentlich arbeiten. 
173 Du musst daher ggf. ssl.crt bearbeiten:
174
175         nano /foo/bar/ssl.crt
176
177 Du wirst zwei Zertifikate in der gleichen Date sehen. In der Mitte findest du:
178
179         -----END CERTIFICATE----------BEGIN CERTIFICATE-----
180
181 Das ist schlecht. Du brauchst die folgenden Einträge:
182
183         -----END CERTIFICATE-----
184         -----BEGIN CERTIFICATE-----
185
186
187 Du kannst den Zeilenumbruch manuell eingeben, falls dein System vom Bug betroffen ist. 
188 Beachte, dass nach -----BEGIN CERTIFICATE----- nur ein Zeilenumbruch ist. 
189 Es gibt keine leere Zeile zwischen beiden Einträgen.
190
191 Nun musst du Nginx über die Zertifikate informieren.
192
193 In /etc/nginx/sites-available/foo.com.conf benötigst du etwas wie:
194
195         server {
196         
197         listen 80;
198         
199         listen 443 ssl;
200
201         listen [::]:80;
202
203         listen [::]:443 ipv6only=on ssl;
204
205         ssl_certificate /foo/bar/ssl.crt;
206
207         ssl_certificate_key /foo/bar/ssl.key;
208
209         ...
210
211 Nun starte Nginx neu:
212
213         /etc/init.d/nginx restart
214
215 Und das war es schon. 
216
217 Für multiple Domains ist es mit Nginx einfacher als mit Apache. 
218 Du musst du oben genannten Schritte nur für jedes Zertifikat wiederholen und die spezifischen Informationen im eigenen {server...}-Bereich spezifizieren.