Bearbeiten von „Server/Transport Layer Security

Zur Navigation springen Zur Suche springen
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 1: Zeile 1:
Die [[Server/Anwendung]]en (beim [[StuRa]]) sind seit 2016 einigermaßen ordentlich verschlüsselt verfügbar.
== TLS ==


== zu erledigende Dinge ==
Die Webservices des StuRa sind aktuell gar nicht, oder nicht ordentlich verschlüsselt erreichbar. Hierfür fehlt uns ein X509-Zertifikat, dass auch in den Browsern verankert ist um die Nutzerinnen nicht mit Warnungen zum Zertifikat abzuschrecken. (Die Ausnahme ist https://umfragen.stura.htw-dresden.de.)
* [[aufgabe:301]]


== Geschichte ==
Möglich wäre das über [[StuRa HTW Dresden]] ([[Bereich Administration Rechentechnik]]) -> [[HTW Dresden]] ([[Rechenzentrum HTW Dresden]]) -> [[DFN]] -> Telekom. Leider wird zur Beantragung eine verantwortliche Person benötigt, die das Zertifikat dann auch verlängert. Der Leiter des [[RZ]] prüft beim [[DFN]], ob Körperschaften ggf. auch andere Antragswege offen stehen.
Sehr lange - bis 2016 - waren die Webservices gar nicht, oder nicht ordentlich verschlüsselt erreichbar.


Es fehlte dem StuRa ein X509-Zertifikat, dass auch in den Browsern verankert ist, um die Nutzerinnen nicht mit Warnungen zum Zertifikat abzuschrecken. Die Ausnahme war https://umfragen.stura.htw-dresden.de ([[Server/Umfragen]]).
Alternativ wäre es möglich dies mit [https://letsencrypt.org/ Let's Encrypt] zu lösen, die offene Beta beginnt im Dezember 2015.


; 2015:
== Aktueller Stand ==
 
* Nutzer misstrauen berechtigt Passworteingabe auf unverschlüsselten Seiten
* Datenkultur stimmt darüber ein, dass möglichst jede Kommunikation verschlüsselt werden soll
* PT hat Wolf gebeten das aufzunehmen
* PT hat Wolf gebeten das aufzunehmen
* Leiter vom [[RZ]] wurde von Wolf und Norman angesprochen (Es ging um [[#Rechenzentrum HTW Dresden als Quelle für taugliche Zertifikate]].)
* RZ-Leiter wurde von Wolf und Norman angesprochen
* Warten auf Rückmeldung [[RZ]]
* Warten auf Rückmeldung RZ
* (Irgendwann erfolgte eine Rückmeldung, dass selbstverständlich Zertifikate bereitgestellt werden könnten. Eine Realisierung erfolgte (beim StuRa) nicht.)
 
; 2016:
* [[user:Bommix]] rockt!
* Das Zertifikat für [https://umfragen.stura.htw-dresden.de umfragen.stura.htw-dresden.de] lief 2016-04 aus.
* Es fand die Einführung (und der Ersatz) mit [[#Let's Encrypt]] statt.
 
== Quellen für taugliche Zertifikate ==
 
=== [[Rechenzentrum HTW Dresden]] als Quelle für taugliche Zertifikate ===
 
Möglich ist es für den Weg [[StuRa HTW Dresden]] ([[Bereich Administration Rechentechnik]]) -> [[HTW Dresden]] ([[Rechenzentrum HTW Dresden]]) -> [[DFN]] -> Telekom ordentliche Zertifikate zu bekommen. (Leider wird zur Beantragung eine verantwortliche Person benötigt, die das Zertifikat dann auch verlängert. Die Leitung vom [[RZ]] prüft beim [[DFN]], ob Körperschaften gegebenenfalls auch andere Antragswege offen stehen.)
 
=== [[#Let's Encrypt]] als Quelle für taugliche Zertifikate ===
 
[[wikipedia:de:Let's Encrypt|Let's Encrypt]] ist eine andere Möglichkeit (als Stelle mit Verfahren) für den StuRa ordentliche Zertifikate zu verwenden.
 
; Weblinks:
* [https://letsencrypt.org/ Let's Encrypt]
 
== Zweckmäßigkeit ==
 
; "[[wikipedia:de:State of the Art|State of the Art]]":
* Ansonsten (ohne Verschlüsselung) müssen Nutzerinnen und Nutzer berechtigt der [[Server/Anwendung]] bei der Verwendung ihres Passwortes misstrauen.
* Der [[Bereich Datenkultur]] hat selbstverständlich den Anspruch, dass möglichst jede Kommunikation verschlüsselt sein soll.


== Let's Encrypt ==
== Let's Encrypt ==


 
Aufgrund der schwierigen Implementierung der Zertifikate über das Rechnenzentrum wurde nun von Bommel auf Zertifikate von Let's Encrypt gesetzt.
=== Entscheidung für Let's Encrypt ===
Hier die Anleitung.
 
Alle Server/Seiten, welche nun dieses neue Zertifikat von Let's Encrypt besitzen haben einen automatische Aktivierung der Verschlüsselung(header redirect to ssl).
Aufgrund der schwierigen Implementierung der Zertifikate über das Rechnenzentrum wurde 2016-04 von Bommel auf Zertifikate von Let's Encrypt gesetzt.
 
=== Verwendung von Let's Encrypt ===
 
* https://letsencrypt.org/docs/client-options/
 
=== Installation Let's Encrypt ===
 
Alle [[Server/Anwedung]]en, die ein Zertifikat von Let's Encrypt besitzen sollen eine automatische Aktivierung der Verschlüsselung (header redirect to ssl) haben.


==== Installation für Let's Encrypt bei [[FreeBSD]] ====
==== Installation für Let's Encrypt bei [[FreeBSD]] ====
: [[i.V.m.]] Apache als [[Server/Webserver]]
: [[i.V.m.]] Apache als Webbrowser
<!--
<!--
----
----
Zeile 64: Zeile 31:


: <code>pkg install -y letsencrypt.sh openssl</code>
: <code>pkg install -y letsencrypt.sh openssl</code>
:: Achtung! Das [[freshports:security/letsencrypt.sh|Paket ''letsencrypt.sh'']] wurde durch [[freshports:security/dehydrated|Paket ''dehydrated'']] ersetzt!
:: Achtung! Das [[freshports:security/acme.sh | Paket ''acme.sh'']], [[freshports:security/py-certbot | Paket ''py-certbot'']] oder [[freshports:security/acme-client | Paket ''acme-client'']] können eine Alternative sein.
<pre></pre>
<pre></pre>
<pre>
<pre>
Zeile 109: Zeile 74:
: <code>chgrp _letsencrypt /usr/local/www/.well-known/acme-challenge</code>
: <code>chgrp _letsencrypt /usr/local/www/.well-known/acme-challenge</code>


: <code>$EDITOR /usr/local/etc/letsencrypt.sh/domains.txt</code>
Es werden alle Hosts, getrennt durch ein Leerzeichen, eingetragen.
Bei Zeilenumbruch wird ein weiteres zusätzliches Zertifikat erstellt.
: <code>$EDITOR /usr/local/etc/letsencrypt.sh/config.sh</code>
<pre>
BASEDIR="/usr/local/etc/letsencrypt.sh"
WELLKNOWN="/usr/local/www/.well-known/acme-challenge"
alias openssl='/usr/local/bin/openssl'
</pre>
Für das automatische Aktualisieren:
: <code>$EDITOR /etc/periodic.conf</code>
<pre>
weekly_letsencrypt_enable="YES"
weekly_letsencrypt_user="_letsencrypt"
weekly_letsencrypt_deployscript="/usr/local/etc/letsencrypt.sh/deploy.sh"
</pre>
; Apache24
: <code>$EDITOR /usr/local/etc/apache24/httpd.conf</code>
: <code>$EDITOR /usr/local/etc/apache24/httpd.conf</code>
<pre></pre>
<pre></pre>
Zeile 145: Zeile 90:
</pre>
</pre>
<pre></pre>
<pre></pre>
: <code>$EDITOR /usr/local/etc/letsencrypt.sh/domains.txt</code>
Es sind alle Hosts, getrennt durch ein Leerzeichen, eintragen.
Bei Zeiklenumbruuch wird ein weiteres zusätzliches Zretifikat erstellt.
: <code>$EDITOR /usr/local/etc/letsencrypt.sh/config.sh</code>
<pre>
BASEDIR="/usr/local/etc/letsencrypt.sh"
WELLKNOWN="/usr/local/www/.well-known/acme-challenge"
alias openssl='/usr/local/bin/openssl'
</pre>
Für das automatisch Aktualisieren:
: <code>$EDITOR /etc/periodic.conf</code>
<pre>
weekly_letsencrypt_enable="YES"
weekly_letsencrypt_user="_letsencrypt"
weekly_letsencrypt_deployscript="/usr/local/etc/letsencrypt.sh/deploy.sh"
</pre>


Neustarten vom Webserver (hier Apache&nbsp;2.4)
Neustarten vom Webserver (hier Apache&nbsp;2.4)
Zeile 172: Zeile 134:
Und freuen :D
Und freuen :D


Nun alle Zerts in die Konfiguration vom Webserver einbinden:
Nun alle Certs in die Konfiguration vom Webserver einbinden:
: Das kann in der zentralen Datei zur Konfiguration geschehen, aber auch an anderen (geeigneteren) Stellen.
: Das kann in der zentralen Datei zur Konfiguration geschehen, aber auch an anderen (geeigneteren) Stellen.
: <code>$EDITOR /usr/local/etc/apache24/httpd.conf</code>
: <code>$EDITOR /usr/local/etc/apache24/httpd.conf</code>
Zeile 226: Zeile 188:
* [https://letsencrypt.readthedocs.io/en/latest/using.html#operating-system-packages letsencrypt.readthedocs.io/en/latest/using.html#operating-system-packages]
* [https://letsencrypt.readthedocs.io/en/latest/using.html#operating-system-packages letsencrypt.readthedocs.io/en/latest/using.html#operating-system-packages]
* [https://letsencrypt.readthedocs.io/en/latest/using.html#plugins letsencrypt.readthedocs.io/en/latest/using.html#plugins]
* [https://letsencrypt.readthedocs.io/en/latest/using.html#plugins letsencrypt.readthedocs.io/en/latest/using.html#plugins]
== Ändern von Domains ==
Hier Domais ändern:  <br>
<code>$EDITOR /usr/local/etc/letsencrypt.sh/domains.txt</code>  <br><br>
Das hier ausführen zum aktualisieren: <br>
<code>su -m _letsencrypt -c 'bash /usr/local/bin/letsencrypt.sh --cron'</code>
== Bekannte Probleme ==
==== Probleme bei Plone ====
Bei der Instanz mit Plone ist die ganze Sache etwas komplizierter. Dort wurde ein Weiterleitung (Redirect) aller nicht bekannten Anfragen aus dem Plone direkt gemacht.<br />
Falls es Probleme beim Erstellen der Zertifikate geben sollte, gibt es eine angepasste Konfiguration für Apache.
Für das (automatische) Laden der angepasste Konfiguration für das Erstellen eines neuen Zertifikates wurde ein kleines Skript geschrieben, das benutzt werden kann.
: <s><code>cd /usr/local/etc/apache24/ && ./dehydrated_script.sh && cd -</code></s>
: <code>cd /usr/local/etc/apache24/ && ./dehydrated_by-stura_without-proxy.sh && cd -</code>
==== fehlende Erledigung der automatisierten Tätigkeit zur notwendigen Erneuerung des Zertifikates ====
Es kann passieren, dass der [[wikipedia:de:Cron|Cron]]job (automatisierte Tätigkeit zur Erledigung der wiederkehrenden Aufgabe) nicht ausgeführt wird. Es kann daran leigen, dass etwas zu [[#Let's Encrypt]] geändert wurde und es notwendig ist,  dass das Paket zur Verwaltung von [[#Let's Encrypt]] aktualisert werden muss.
Hier zwei kleine Tutorials
; Das erste wenn sowieso die Updates gezogen werden müssen:
<pre>
pkg update
pkg upgrade -y
cd /usr/local/etc/letsencrypt.sh/
mv certs certsalt
su -m _letsencrypt -c 'bash /usr/local/bin/letsencrypt.sh --cron'
service apache24 restart
</pre>
Wie zu sehen ist habe ich die alten Zertifikate in Certalt gelegt. Falls es klappen sollte kann der Ordner certsalt auch gelöscht werden.
<pre>
rmdir cd /usr/local/etc/letsencrypt.sh/certsalt
</pre>
; Dieses Tutorial ist nur zu verwenden, wenn keine neue Pakete via PKG gezogen werden sollen:
<pre>
pkg update
pkg upgrade pkg
</pre>
mit y und enter bestätigen
<pre>
pkg upgrade letsencrypt.sh
</pre>
Wieder mit y und Enter bestätigen
<pre>
cd /usr/local/etc/letsencrypt.sh/
mv certs certsalt
su -m _letsencrypt -c 'bash /usr/local/bin/letsencrypt.sh --cron'
service apache24 restart
</pre>
Wie zu sehen ist habe ich die alten Zertifikate in Certalt gelegt. Falls es klappen sollte kann der Ordner certsalt auch gelöscht werden.
<pre>
rmdir cd /usr/local/etc/letsencrypt.sh/certsalt
</pre>
== Vorschläge für die beste Lösung ==
* [https://bettercrypto.org/ BetterCrypto⋅org]
== Interessierte ==
* ([[user:PaulRiegel|PaulRiegel]])
* ([[user:vv01f|vv01f]])
* [[user:Bommix|Bommix]]


== Siehe auch ==
== Siehe auch ==
* [[Server/Zertifikate]]
* [[Server/Zertifikate]]
* [[Server#Zertifikate]]
* [[website:stura/ref/verwaltung/admin/zertifikate/]]
* [[website:stura/ref/verwaltung/admin/zertifikate/]]
== Weblinks ==
* [[CCC]]: [https://media.ccc.de/v/eh16-62-zeitgemasse_webserver-konfiguration_--_ein_serviervorschlag Talk ''Zeitgemäße Webserver-Konfiguration -- Ein Serviervorschlag'']


[[Kategorie:Projekt]]
[[Kategorie:Projekt]]

Bitte beachte, dass alle Beiträge zu Wiki StuRa HTW Dresden von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter StuRa HTW Dresden:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)