Server/Transport Layer Security: Unterschied zwischen den Versionen

Aus Wiki StuRa HTW Dresden
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== TLS ==
Die [[Server/Anwendung]]en (beim [[StuRa]]) sind seit 2016 einigermaßen ordentlich verschlüsselt verfügbar.


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.)
== Geschichte ==
Sehr lange -bis 2016 - waren die Webservices gar nicht, oder nicht ordentlich verschlüsselt erreichbar.


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.
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
* RZ-Leiter wurde von Wolf und Norman angesprochen
* RZ-Leiter wurde von Wolf und Norman angesprochen
* Warten auf Rückmeldung RZ
* Warten auf Rückmeldung RZ
; 2016:
* [[user:Bommix]] rockt!
* Das Zertifikat für [https://umfragen.stura.htw-dresden.de umfragen.stura.htw-dresden.de] läuft 2016-04 aus.
== 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.
Aufgrund der schwierigen Implementierung der Zertifikate über das Rechnenzentrum wurde 2016-04 von Bommel auf Zertifikate von Let's Encrypt gesetzt.
Hier die Anleitung.
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).
Alle Server/Seiten, welche nun dieses neue Zertifikat von Let's Encrypt besitzen haben einen automatische Aktivierung der Verschlüsselung(header redirect to ssl).
Zeile 188: Zeile 207:
* [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]
== Interessierte ==
* ([[user:PaulRiegel|PaulRiegel]])
* ([[user:vv01f|vv01f]])
* [[user:Bommix|Bommix]]


== Siehe auch ==
== Siehe auch ==

Version vom 7. Mai 2016, 02:46 Uhr

Die Server/Anwendungen (beim StuRa) sind seit 2016 einigermaßen ordentlich verschlüsselt verfügbar.

Geschichte

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).

2015
  • PT hat Wolf gebeten das aufzunehmen
  • RZ-Leiter wurde von Wolf und Norman angesprochen
  • Warten auf Rückmeldung RZ
2016

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

Let's Encrypt ist eine andere Möglichkeit (als Stelle mit Verfahren) für den StuRa ordentliche Zertifikate zu verwenden.

Weblinks

Zweckmäßigkeit

"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

Aufgrund der schwierigen Implementierung der Zertifikate über das Rechnenzentrum wurde 2016-04 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).

Installation für Let's Encrypt bei FreeBSD

i.V.m. Apache als Webbrowser
pkg install -y letsencrypt.sh openssl

New packages to be INSTALLED:
        letsencrypt.sh: 0.1.0
        openssl: 1.0.2_12

Message from letsencrypt.sh-0.1.0:
To use this script you should copy the examples in
/usr/local/etc/letsencrypt.sh/ and at least add a
domain and a contact mail address.

You should also copy the openssl.cnf.sample file in
/usr/local/openssl so you won't get warnings about
it missing.

In order to run the script regularly to update
the certificates add this line to /etc/periodic.conf

weekly_letsencrypt_enable="YES"

Additionally the following parameters can be added to
/etc/periodic.conf

To run the certification renenewal as a different user
weekly_letsencrypt_user="_letsencrypt"
To run a script after the renewal (as root)
weekly_letsencrypt_deployscript="/usr/local/etc/letsencrypt.sh/deploy.sh"
Message from openssl-1.0.2_12:
Copy /usr/local/openssl/openssl.cnf.sample to /usr/local/openssl/openssl.cnf
and edit it to fit your needs.
cp /usr/local/openssl/openssl.cnf.sample /usr/local/openssl/openssl.cnf
pw groupadd -n _letsencrypt -g 443
pw useradd -n _letsencrypt -u 443 -g 443 -d /usr/local/etc/letsencrypt.sh -w no -s /nonexistent
chown root:_letsencrypt /usr/local/etc/letsencrypt.sh
chmod 770 /usr/local/etc/letsencrypt.sh
mkdir -p -m 775 /usr/local/www/.well-known/acme-challenge
chgrp _letsencrypt /usr/local/www/.well-known/acme-challenge
$EDITOR /usr/local/etc/apache24/httpd.conf

<Directory "/usr/local/www/.well-known/">
   Options None
   AllowOverride None
   Require all granted
   Header add Content-Type text/plain
</Directory>
Alias /.well-known/ /usr/local/www/.well-known/

<Directory "/">

$EDITOR /usr/local/etc/letsencrypt.sh/domains.txt

Es sind alle Hosts, getrennt durch ein Leerzeichen, eintragen. Bei Zeiklenumbruuch wird ein weiteres zusätzliches Zretifikat erstellt.

$EDITOR /usr/local/etc/letsencrypt.sh/config.sh
BASEDIR="/usr/local/etc/letsencrypt.sh"
WELLKNOWN="/usr/local/www/.well-known/acme-challenge"
alias openssl='/usr/local/bin/openssl'

Für das automatisch Aktualisieren:

$EDITOR /etc/periodic.conf
weekly_letsencrypt_enable="YES"
weekly_letsencrypt_user="_letsencrypt"
weekly_letsencrypt_deployscript="/usr/local/etc/letsencrypt.sh/deploy.sh"

Neustarten vom Webserver (hier Apache 2.4)

service apache24 restart

Und Jetzt ausprobieren:

cd /usr/local/etc/letsencrypt.sh
su -m _letsencrypt -c 'bash /usr/local/bin/letsencrypt.sh --cron'
# INFO: Using main config file /usr/local/etc/letsencrypt.sh/config.sh
Processing fsr-et.htwdd.de with alternative names: www.fsr-et.htwdd.de
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting challenge for fsr-et.htwdd.de...
 + Requesting challenge for www.fsr-et.htwdd.de...
 + Responding to challenge for fsr-et.htwdd.de...
 + Challenge is valid!
 + Responding to challenge for www.fsr-et.htwdd.de...
 + Challenge is valid!
 + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!

Und freuen :D

Nun alle Certs in die Konfiguration vom Webserver einbinden:

Das kann in der zentralen Datei zur Konfiguration geschehen, aber auch an anderen (geeigneteren) Stellen.
$EDITOR /usr/local/etc/apache24/httpd.conf

    SSLCertificateFile /usr/local/etc/letsencrypt.sh/certs/projekt.htw.stura-dresden.de/cert.pem
    SSLCertificateKeyFile /usr/local/etc/letsencrypt.sh/certs/projekt.htw.stura-dresden.de/privkey.pem
    SSLCertificateChainFile /usr/local/etc/letsencrypt.sh/certs/wiki.stura-dresden.de/chain.pem

Und damit nur SSL genommen wird:

$EDITOR /usr/local/etc/apache24/httpd.conf
im Abschnitt für das ensprechende Directory

	RewriteEngine ON
	RewriteCond %{HTTPS} off
	RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

$EDITOR /usr/local/etc/apache24/Includes/ssl.conf
<VirtualHost *:443>
DocumentRoot    "/usr/local/www/wordpress"
<Directory "/usr/local/www/wordpress">

AllowOverride All
</Directory>


ServerName 141.56.50.30:443

        SSLEngine on

        SSLCertificateFile /usr/local/etc/letsencrypt.sh/certs/fsr-et.htwdd.de/cert.pem
        SSLCertificateKeyFile /usr/local/etc/letsencrypt.sh/certs/fsr-et.htwdd.de/privkey.pem
        SSLCertificateChainFile /usr/local/etc/letsencrypt.sh/certs/fsr-et.htwdd.de/chain.pem


</VirtualHost>
  • ggf. Listen 443 in der httpd.conf nachtragen
Installation für Let's Encrypt bei FreeBSD Siehe auch

Interessierte

Siehe auch