Zertifikate: Unterschied zwischen den Versionen
K (→Anleitung =) |
|||
Zeile 40: | Zeile 40: | ||
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). | ||
=== Anleitung | === Anleitung === | ||
: <code>pkg install -y letsencrypt.sh openssl</code> | : <code>pkg install -y letsencrypt.sh openssl</code> |
Version vom 29. April 2016, 15:51 Uhr
An der HTW Dresden werden über das das Rechenzentrum durch das DFN auch Zertifikate für Server sowie Nutzerinnen und Nutzer unter Verwendung von x.509 ausgestellt.
Die Beantragung wird durch das RZ dokumentiert und über die Seiten des DFN bereitgestellt.
Handlungsbedarf auch ohne eigene Zertifikate
Es ist allgemein zu empfehlen Zertifikate zu überprüfen.
Häufig wird folgendes Fehlen:
- CACert-Stammzertifikate der Freien CA CACert
Die Hierarchie des DFN verlangt folgende Zertifikate in der Trustchain (Bundle) eurer Anwendungen:
Quelle: https://pki.pca.dfn.de/htw-dresden-ca/cgi-bin/pub/pki?cmd=getStaticPage;name=index;id=2
TLS
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.)
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.
Alternativ wäre es möglich dies mit Let's Encrypt zu lösen, die offene Beta beginnt im Dezember 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
- RZ-Leiter wurde von Wolf und Norman angesprochen
- Warten auf Rückmeldung RZ
Zertifikate von Let'sEncrypt
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).
Anleitung
pkg install -y letsencrypt.sh openssl
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"
Apache (Webserver) neustarten!
Und Jetzt ausprobieren:
cd /usr/local/etc/letsencrypt.sh
su -m _letsencrypt -c 'bash /usr/local/bin/letsencrypt.sh --cron'
Und freuen :D
Nun alle Certs einbinden
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:
In den Bereich wo der Directory angegeben wird kommt rein:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
nach RewriteEngine ON