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.)
| | == Zertifikate von Let's Encrypt == |
|
| |
|
| === [[#Let's Encrypt]] als Quelle für taugliche Zertifikate ===
| | Aufgrund der schwierigen Implementierung der Zertifikate über das Rechnenzentrum wurde nun von Bommel auf Zertifikate von Let's Encrypt gesetzt. |
| | 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). |
|
| |
|
| [[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.
| | === Anleitung === |
| | |
| ; 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 == | |
| | |
| | |
| === Entscheidung für Let's Encrypt ===
| |
| | |
| 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]] ====
| |
| : [[i.V.m.]] Apache als [[Server/Webserver]]
| |
| <!--
| |
| ----
| |
| ---- Eigentlich sollte es ja einen speziellen Abschnitt zu Apache geben (müssen), da es auch andere Lösungen, wie nginx als Webbrowser oder HAProxy als load balancer fürs Ausliefern gibt.
| |
| ----
| |
| ===== Einrichtung von Let's Encrypt für Apache bei [[FreeBSD]] =====
| |
| !-->
| |
|
| |
|
| : <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 108: |
Zeile 66: |
| : <code>mkdir -p -m 775 /usr/local/www/.well-known/acme-challenge</code> | | : <code>mkdir -p -m 775 /usr/local/www/.well-known/acme-challenge</code> |
| : <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 82: |
| </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 2.4) | | Neustarten vom Webserver (hier Apache 2.4) |
Zeile 172: |
Zeile 126: |
| 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 198: |
Zeile 152: |
| <pre></pre> | | <pre></pre> |
|
| |
|
| : <code>$EDITOR /usr/local/etc/apache24/Includes/ssl.conf</code>
| | |
| <pre>
| | |
| | vim /usr/local/etc/apache24/Includes/ssl.conf |
| <VirtualHost *:443> | | <VirtualHost *:443> |
| DocumentRoot "/usr/local/www/wordpress" | | DocumentRoot "/usr/local/www/wordpress" |
Zeile 218: |
Zeile 173: |
|
| |
|
| </VirtualHost> | | </VirtualHost> |
| </pre>
| |
|
| |
| * ggf. Listen 443 in der httpd.conf nachtragen
| |
|
| |
| ===== Installation für Let's Encrypt bei [[FreeBSD]] Siehe auch =====
| |
| * [[freebsd:BernardSpil/LetsEncrypt]]
| |
| * [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]
| |
|
| |
|
| |
| == Ä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 ==
| | ggf Listen 443 in der httpd.conf nachtragen |
| * [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]] |