Schlagwort-Archive: Verschlüsselung

Kennzeichen der asymmetrischen Verschlüsselung ist, dass zur Verschlüsselung ein völlig anderer Schlüssel als zur Entschlüsselung benutzt wird.

E-Mail Verschlüsselung mit PGP und S/MIME

OpenPGP Verschlüsseln und Signieren von E-Mails mit Outlook in Windows 10

Verschlüsselte E-Mails zum Schutz der Privatsphäre sollte zur Selbstverständlichkeit gehören, um die Authentizität der Absender und die Unveränderlichkeit zu garantieren, wie verschlüsselte Webseiten über Transport Layer Security (TLS) heute fast überall der Standard ist, vor allem dank der freien und offenen X.509-Zertifizierungsstelle, Let’s Encrypt was kostenlos und einfach auf vielen Plattformen implementiert werden kann. Zum Verschlüsseln und Signieren von E-Mails, Dateien und Ordnern unter Windows bietet sich Gpg4win (GNU Privacy Guard for Windows) an, eine freie Software die mit nur wenigen Mausklicks installiert werden kann.

  OpenPGP ist der am häufigste verwendete E-Mail-Verschlüsselungsstandard mit asymmetrischen Schlüsseln. OpenPGP wird von der Arbeitsgruppe der Internet Engineering Task Force (IETF) als vorgeschlagener Standard in RFC 4880 definiert.

INSTALLATION

Voraussetzung ist ein Windows 10 und Microsoft Outlook 2010, 2013, 2016 oder 2019 (32bit oder 64bit). Die in dieser Anleitung in Anwendung gebrachte Gpg4win Software kann hier herunter-geladen werden. Die Installation ist unspektakulär und vollzieht sich mit wenigen Maus klickst.

Nach dem Gpg4win auf dem Windows 10 Computer Installiert ist, findet sich das Outlook-Plugin GpgOL im Outlook Ribbon.

Weiter findet sich die Schlüsselverwaltung Kleopatra unter dem Start Programme Menü, aus diesem man sich erst ein Schlüsselpaar generieren lässt. Nach erzeugen eines Schlüsselpaares, dem privaten geheimen Schlüssel, kann der öffentliche Schlüssel den Empfängern bekannt gegeben werden. Es handelt sich hier um sogenannte asymmetrische Schlüssel.

Hat man eine eigene Webseite, empfiehlt es sich der öffentliche Schlüssel darauf zu publizieren, beispielsweise zur E-Mail in der Kontaktseite. Aus Kleopatra wird mit einem rechts klick über seiner E-Mail Adresse das Kontextmenü geöffnet, darin wählt man Exportieren, oder über die Option Details.

Der in der asc-Datei exportierte öffentliche Schlüssel kann in Notepad geöffnet werden, den Inhalt mit Copy & Paste in ein E-Mail einfügen, oder als Anlage an den Empfänger versenden, mit diesem man verschlüsselte E-Mail austauschen möchte. Grundsätzliche kann man mit jedem E-Mail Empfänger verschlüsselt kommunizieren, sobald Absender und Empfänger ihre PGP Public Keys untereinander ausgetauscht haben, und die E-Mail in Kleopatra beglaubigt wurde, können E-Mails untereinander entschlüsselt werden.

Beim verfassen einer Nachricht die Signiert und verschlüsselt werden soll, klickt man die Option Absichern im Outlook Ribbon.

PGP Verschlüsselte Email mit Outlook

Für Nutzer von Thunderbird gibt es das Enigmail Add-on, dieses hier heruntergeladen werden kann. Enigmail ist ein nahtlos integriertes Sicherheits-Add-on für Mozilla Thunderbird. Es verwendet OpenPGP um E-Mails zu verschlüsseln und digital zu signieren sowie empfangene Nachrichten zu entschlüsseln und zu überprüfen.

LINUX GnuPG

Für GNU/Linux basierte Systeme kann direkt GnuPG über den Paketmanager installiert werden.

$ sudo apt install -y gnupg

Unter MacOS X kann die GPG Suite verwendet werden.

Let’s Encrypt auf CentOS 7 mit Apache

Installation von Let’s Encrypt auf CentOS 7 mit Apache

Let’s Encrypt ist eine Zertifizierungsstelle, die kostenlose X.509-Zertifikate für Transport Layer Security (TLS) anbietet. In diesem Tutorial wird erläutert, wie man Let´s Encrypt SSL anhand des ACME Vorgang mit certbot durchführt, und Let’s Encrypt auf einem CentOS 7 Host mit Apache-Webserver implementiert.

  Vorausgesetzt wird hier, das der Apache-Webserver bereits installiert ist, die Domain als Apache VirtualHost konfiguriert ist, und die Domain im DNS auflösbar ist, mit einem A-Record in der Forward-Zone dieser Domain, oder für IPv6 ein Quad-A-Record für den Server eingetragen ist. Weiter muss für das ACME Challenge der Server über Port 80 erreichbar sein.

Zur installation wollen wir root werden.

~]$ su -
Password:
Last login: Tue Jan 15 06:25:52 CET 2019 on pts/0
~]# yum -y install epel-release
~]# yum -y install mod_ssl python-certbot-apache

Nun den Apache-Webserver neu starten.

~]# systemctl restart httpd

Die Firewall für SSL mit dem Service Port 443 öffnen.

~]# firewall-cmd --add-service=https
~]# firewall-cmd --runtime-to-permanent

Jetzt durch den certbot das SSL-Zertifikat generieren lassen.

~]# certbot --apache -d mydomain.com -d www.mydomain.com

  Die erste Domäne sollte die Basis Domain sein. In diesem Beispiel heißt sie mydomain.com, diese durch den tatsächlichen Domain-Name ersetzen.

Die Ausgabe des certbot sieht in etwa wie folgt aus.

~]# certbot --apache -d mydomain.com -d www.mydomain.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for mydomain.com
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-v02.api.letsencrypt.org
Created an SSL vhost at /etc/httpd/conf.d/mydomain-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/mydomain-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/httpd/conf.d/mydomain.conf to ssl vhost in /etc/httpd/conf.d/mydomain-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://mydomain.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=mydomain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/mydomain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/mydomain.com/privkey.pem
   Your cert will expire on 2019-04-14. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Abschließend kann die URL getestet werden.

~]# curl -k https://mydomain.com

Die URL im Browser abrufen und bei SSL Labs verifizieren.

https://www.ssllabs.com/ssltest/analyze.html?d=mydomain.com
SSL Labs SSL Analyzing Report

Das Let’s Encrypt Zertifikat ist 90 Tage gültig. Für die automatische Erneuerung des Zertifikats, erstellen wir ein neuen Cron-Job.

~]# crontab -e
 
0 0 * * 0 /usr/bin/certbot renew >> /var/log/certbot.log

Das Zertifikat wird einmal in der Woche um Mitternacht zur Erneuerung überprüft.