Inhaltsverzeichnis
Apache HTTP Server CentOS 7 - mod_ssl - Verschlüsselung (https)
Das Apache HTTP Server-Modul mod_ssl
wird benötigt um HTTP Kommunikation verschlüsselt betreiben zu können. Die Seitenaufrufe werden nicht mehr via http
auf Port 80 erreicht, sonder via https
auf Port 443. Um eine HTTP Kommunikation verschlüsselt betreiben zu können, sind zwei weitere Komponenten erforderlich, nämlich ein Schlüssel und ein Zertifikat.
WICHTIG - Nachfolgende Konfigurationen setzen die Einrichtung eines Apache HTTP Servers, wie unter nachfolgendem internen Link beschrieben, voraus:
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
iptables Regel
Damit der Apache HTTP Server auch erreichbar ist und nicht die verschlüsselten Web-Anfragen vom Paketfilter iptables
blockiert werden, muss nachfolgende Regel zum iptables
-Regelwerk hinzugefügt werden.
Um die aktuellen iptables
-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# iptables -L -nv --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 70 5752 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 6 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Nachfolgender Befehl, fügt folgende iptables
-Regel dem iptables
-Regelwerk nach der Position 6 hinzu, ohne das der Paketfilter angehalten werden muss:
-A INPUT -p tcp --dport 443 -j ACCEPT
und hier die Befehle:
# iptables -I INPUT 6 -p tcp --dport 443 -j ACCEPT
Ein erneute Abfrage des iptables
-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:
# iptables -L -nv --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 70 5752 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 6 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 7 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Die neue Zeile ist an Position 6 (INPUT) zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (nur relevanter Ausschnitt):
... 6 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 ...
Um diese iptables
-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im iptables
-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden:
# /usr/sbin/iptables-save > /etc/sysconfig/iptables
Installation
Zur Installation des Apache HTTP Server-Moduls mod_ssl
muss nachfolgendes Paket
installiert werden.
Mit nachfolgendem Befehl, wird das Pakete mod_ssl
installiert:
# yum install mod_ssl Loaded plugins: changelog, priorities 61 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package mod_ssl.x86_64 1:2.4.6-18.el7.centos will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mod_ssl x86_64 1:2.4.6-18.el7.centos updates 97 k Transaction Summary ================================================================================ Install 1 Package Total download size: 97 k Installed size: 219 k Is this ok [y/d/N]: y Downloading packages: mod_ssl-2.4.6-18.el7.centos.x86_64.rpm | 97 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:mod_ssl-2.4.6-18.el7.centos.x86_64 1/1 Verifying : 1:mod_ssl-2.4.6-18.el7.centos.x86_64 1/1 Installed: mod_ssl.x86_64 1:2.4.6-18.el7.centos Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit dem Paket mod_ssl
installiert wurden.
# rpm -qil mod_ssl Name : mod_ssl Epoch : 1 Version : 2.4.6 Release : 18.el7.centos Architecture: x86_64 Install Date: Wed 26 Nov 2014 05:42:20 AM CET Group : System Environment/Daemons Size : 224652 License : ASL 2.0 Signature : RSA/SHA256, Wed 23 Jul 2014 05:21:47 PM CEST, Key ID 24c6a8a7f4a80eb5 Source RPM : httpd-2.4.6-18.el7.centos.src.rpm Build Date : Wed 23 Jul 2014 04:49:10 PM CEST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://httpd.apache.org/ Summary : SSL/TLS module for the Apache HTTP Server Description : The mod_ssl module provides strong cryptography for the Apache Web server via the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols. /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.modules.d/00-ssl.conf /usr/lib64/httpd/modules/mod_ssl.so /usr/libexec/httpd-ssl-pass-dialog /var/cache/httpd/ssl
Konfiguration
Die Konfiguration des Apache HTTP Server-Moduls mod_ssl
wird primär in nachfolgenden Konfigurationsdateien durchgeführt:
/etc/httpd/conf.modules.d/00-ssl.conf
/etc/httpd/conf.d/ssl.conf
Zusätzlich wurden noch eine Schlüssel und das dazugehörige Zertifikat bei der Installation erstellt. Die Dateien befinden sich in nachfolgenden Verzeichnissen und tragen nachfolgende Namen:
/etc/pki/tls/private/localhost.key
/etc/pki/tls/certs/localhost.crt
/etc/httpd/conf.modules.d/00-ssl.conf
Die Konfigurationsdatei /etc/httpd/conf.modules.d/00-ssl.conf
beinhaltet die Integration des mod_ssl
in den Apache HTTP Server.
HINWEIS - Hier werden aktuell KEINE Anpassungen vorgenommen, da nur das Laden des Apache HTTP Server-Moduls mod_ssl
in dieser Konfigurationsdatei konfiguriert wird!
(komplette Konfigurationsdatei)
LoadModule ssl_module modules/mod_ssl.so
/etc/httpd/conf.d/ssl.conf
Nachfolgend soll die Konfigurationsdatei
Konfigurationsdatei | Beschreibung |
---|---|
ssl.conf | Konfiguration des Einsatzes von Verschlüsselung https . |
entsprechend angepasst werden.
HINWEIS - Die nachfolgenden Anpassungen sind individuell und vom jeweiligen Einsatzzweck abhängig und ggf. den persönlichen Bedürfnissen anzupassen!
Die Anpassungen werden mit einem vorangestellten Kommentar in der Form
# Tachtler
gekennzeichnet.
(komplette Konfigurationsdatei)
# # When we also provide SSL we have to listen to the # the HTTPS port in addition. # # Tachtler # default: Listen 443 https Listen 192.168.1.90:443 https Listen 192.168.0.90:443 https ## ## SSL Global Context ## ## All SSL configuration in this context applies both to ## the main server and all SSL-enabled virtual hosts. ## # Pass Phrase Dialog: # Configure the pass phrase gathering process. # The filtering dialog program (`builtin' is a internal # terminal dialog) has to provide the pass phrase on stdout. SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog # Inter-Process Session Cache: # Configure the SSL Session Cache: First the mechanism # to use and second the expiring timeout (in seconds). SSLSessionCache shmcb:/run/httpd/sslcache(512000) SSLSessionCacheTimeout 300 # Pseudo Random Number Generator (PRNG): # Configure one or more sources to seed the PRNG of the # SSL library. The seed data should be of good random quality. # WARNING! On some platforms /dev/random blocks if not enough entropy # is available. This means you then cannot use the /dev/random device # because it would lead to very long connection times (as long as # it requires to make more entropy available). But usually those # platforms additionally provide a /dev/urandom device which doesn't # block. So, if available, use this one instead. Read the mod_ssl User # Manual for more details. SSLRandomSeed startup file:/dev/urandom 256 SSLRandomSeed connect builtin #SSLRandomSeed startup file:/dev/random 512 #SSLRandomSeed connect file:/dev/random 512 #SSLRandomSeed connect file:/dev/urandom 512 # # Use "SSLCryptoDevice" to enable any supported hardware # accelerators. Use "openssl engine -v" to list supported # engine names. NOTE: If you enable an accelerator and the # server does not start, consult the error logs and ensure # your accelerator is functioning properly. # SSLCryptoDevice builtin #SSLCryptoDevice ubsec ## ## SSL Virtual Host Context ## <VirtualHost _default_:443> # General setup for the virtual host, inherited from global configuration #DocumentRoot "/var/www/html" #ServerName www.example.com:443 # Use separate log files for the SSL virtual host; note that LogLevel # is not inherited from httpd.conf. ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on # SSL Protocol support: # List the enable protocol levels with which clients will be able to # connect. Disable SSLv2 access by default: # Tachtler # default: SSLProtocol all -SSLv2 SSLProtocol all -SSLv2 -SSLv3 # SSL Cipher Suite: # List the ciphers that the client is permitted to negotiate. # See the mod_ssl documentation for a complete list. # Tachtler # default: SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL:!MD5:!DSS # Speed-optimized SSL Cipher configuration: # If speed is your main concern (on busy HTTPS servers e.g.), # you might want to force clients to specific, performance # optimized ciphers. In this case, prepend those ciphers # to the SSLCipherSuite list, and enable SSLHonorCipherOrder. # Caveat: by giving precedence to RC4-SHA and AES128-SHA # (as in the example below), most connections will no longer # have perfect forward secrecy - if the server's key is # compromised, captures of past or future traffic must be # considered compromised, too. #SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5 # Tachtler # default: #SSLHonorCipherOrder on SSLHonorCipherOrder on # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A new # certificate can be generated using the genkey(1) command. SSLCertificateFile /etc/pki/tls/certs/localhost.crt # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) SSLCertificateKeyFile /etc/pki/tls/private/localhost.key # Server Certificate Chain: # Point SSLCertificateChainFile at a file containing the # concatenation of PEM encoded CA certificates which form the # certificate chain for the server certificate. Alternatively # the referenced file can be the same as SSLCertificateFile # when the CA certificates are directly appended to the server # certificate for convinience. #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt # Certificate Authority (CA): # Set the CA certificate verification path where to find CA # certificates for client authentication or alternatively one # huge file containing all of them (file must be PEM encoded) #SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt # Client Authentication (Type): # Client certificate verification type and depth. Types are # none, optional, require and optional_no_ca. Depth is a # number which specifies how deeply to verify the certificate # issuer chain before deciding the certificate is not valid. #SSLVerifyClient require #SSLVerifyDepth 10 # Access Control: # With SSLRequire you can do per-directory access control based # on arbitrary complex boolean expressions containing server # variable checks and other lookup directives. The syntax is a # mixture between C and Perl. See the mod_ssl documentation # for more details. #<Location /> #SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ # and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ # and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ # and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ # and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ # or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ #</Location> # SSL Engine Options: # Set various options for the SSL engine. # o FakeBasicAuth: # Translate the client X.509 into a Basic Authorisation. This means that # the standard Auth/DBMAuth methods can be used for access control. The # user name is the `one line' version of the client's X.509 certificate. # Note that no password is obtained from the user. Every entry in the user # file needs this password: `xxj31ZMTZzkVA'. # o ExportCertData: # This exports two additional environment variables: SSL_CLIENT_CERT and # SSL_SERVER_CERT. These contain the PEM-encoded certificates of the # server (always existing) and the client (only existing when client # authentication is used). This can be used to import the certificates # into CGI scripts. # o StdEnvVars: # This exports the standard SSL/TLS related `SSL_*' environment variables. # Per default this exportation is switched off for performance reasons, # because the extraction step is an expensive operation and is usually # useless for serving static content. So one usually enables the # exportation for CGI and SSI requests only. # o StrictRequire: # This denies access when "SSLRequireSSL" or "SSLRequire" applied even # under a "Satisfy any" situation, i.e. when it applies access is denied # and no other module can change it. # o OptRenegotiate: # This enables optimized SSL connection renegotiation handling when SSL # directives are used in per-directory context. #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> # SSL Protocol Adjustments: # The safe and default but still SSL/TLS standard compliant shutdown # approach is that mod_ssl sends the close notify alert but doesn't wait for # the close notify alert from client. When you need a different shutdown # approach you can use one of the following variables: # o ssl-unclean-shutdown: # This forces an unclean shutdown when the connection is closed, i.e. no # SSL close notify alert is send or allowed to received. This violates # the SSL/TLS standard but is needed for some brain-dead browsers. Use # this when you receive I/O errors because of the standard approach where # mod_ssl sends the close notify alert. # o ssl-accurate-shutdown: # This forces an accurate shutdown when the connection is closed, i.e. a # SSL close notify alert is send and mod_ssl waits for the close notify # alert of the client. This is 100% SSL/TLS standard compliant, but in # practice often causes hanging connections with brain-dead browsers. Use # this only for browsers where you know that their SSL implementation # works correctly. # Notice: Most problems of broken clients are also related to the HTTP # keep-alive facility, so you usually additionally want to disable # keep-alive for those clients, too. Use variable "nokeepalive" for this. # Similarly, one has to force some clients to use HTTP/1.0 to workaround # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and # "force-response-1.0" for this. BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 # Per-Server Logging: # The home of a custom SSL log file. Use this when you want a # compact non-error SSL logfile on a virtual host basis. CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost>
Erklärungen:
Listen
Setzen der IP-Adressen und des jeweiligen Ports, auf denen der Apache HTTP Server lauschen soll. Eine Mehrfachdefinition ist, wie dargestellt, ebenfalls möglich!
# Tachtler # default: Listen 443 https Listen 192.168.1.90:443 https Listen 192.168.0.90:443 https
SSLProtocol
Angabe, welche der SSL-Protokoll-Typen unterstützt werden sollen.
Siehe auch den externen Link: (SSL) - http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslprotocol
Siehe auch den externen Link: (Poodle) - https://access.redhat.com/solutions/1232413
# Tachtler # default: SSLProtocol all -SSLv2 SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite
Angabe, welche Verschlüsselungs-Typen unterstützt werden sollen.
Siehe auch den externen Link: http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslciphersuite
# Tachtler # default: SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL:!MD5:!DSS
SSLHonorCipherOrder
Bestimmt, das die Reihenfolge, in der die unterstützten Verschlüsselungs-Typen aufgeführt sind, bei der Verwendung eingehalten wird. Zuerst genannte werden vor den nachfolgenden angezogen.
# Tachtler # default: #SSLHonorCipherOrder on SSLHonorCipherOrder on
Neustart
Bevor weitere Konfigurationsschritte erfolgen, sollte einem Neustart nichts im Wege stehen:
# systemctl restart httpd.service
HINWEIS - Es erfolgen keine weiteren Ausgaben, wenn der Start erfolgreich war !
Neustart Überprüfung
Ob die Verbindung vom Browser zum Apache HTTP Server nun auch verschlüsselt erfolgt, kann durch nachfolgende Befehle und URL-Aufrufe überprüft werden.
Nachfolgender Befehl listet die IP-Adressen und die Ports auf, auf denen der Apache HTTP Server lauscht und Anfragen beantwortet:
# netstat -tulpen | grep httpd tcp 0 0 192.168.0.90:443 0.0.0.0:* LISTEN 0 111932 16039/httpd tcp 0 0 192.168.1.90:443 0.0.0.0:* LISTEN 0 111930 16039/httpd tcp 0 0 192.168.1.90:80 0.0.0.0:* LISTEN 0 111924 16039/httpd tcp 0 0 192.168.0.90:80 0.0.0.0:* LISTEN 0 111922 16039/httpd
Nachfolgender Befehl gibt die LOG-Meldungen aus, welche den Neustart des Apache HTTP Server protokolliert haben und sind in der LOG-Datei - /var/log/httpd/error_log
- zu finden und sollten in etwa wie nachfolgende Einträge aussehen:
[Wed Nov 26 06:56:59.768849 2014] [mpm_prefork:notice] [pid 15513] AH00170: caught SIGWINCH, shutting down gracefully [Wed Nov 26 06:57:00.865474 2014] [mpm_prefork:notice] [pid 16039] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips configured -- resuming normal operations [Wed Nov 26 06:57:00.865505 2014] [core:notice] [pid 16039] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
Konfiguration überprüfen
In oben gezeigtem Beispiel in der Konfigurationsdatei
/etc/httpd/conf.d/ssl.conf
wurde ein Self-signed-certificate hinterlegt, welches in nachfolgende Konfigurationszeilen konfiguriert wurde:
(nur relevanter Ausschnitt)
... # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A new # certificate can be generated using the genkey(1) command. SSLCertificateFile /etc/pki/tls/certs/localhost.crt # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) SSLCertificateKeyFile /etc/pki/tls/private/localhost.key ...
Mit nachfolgenden Seitenaufrufen kann überprüft werden, ob die Änderungen durch die Einbindung der zusätzlichen Konfigurationsdateien erfolgreich war:
Der Aufruf der URL:
sollte nachfolgende Anzeige zum Vorschein bringen:
HINWEIS - Die Fehlermeldung ist normal, da hier ein selbst erstelltes Zertifikat, welches auch noch einen anderen CN (Common Name) als die aufgerufene URL hat, verwendet wird!
Durch anklicken der Fehlermeldung im Bereich [I Understand the Risks], sollte nachfolgende Seite zur Anzeige kommen:
Hier muss der Aufruf der URL dann noch einmal bestätigt werden, in dem die Schaltfläche [Add Exception…] angeklickt wird und nachfolgendes Dialog-Fenster mit weiteren Informationen, zum präsentiertem Zertifikat, zum Vorschein kommen.
Durch anklicken der Schaltfläche [Confirm Security Exception] wird bestätigt, das die Seite tatsächlich angezeigt werden soll, und nachfolgende Seite sollte dann abschließend auch angezeigt werden:
HINWEIS - In vorangestelltem Bild ist zu erkennen, dass der Aufruf der Seite https://www.tachtler.net/server-status auf Port 443 erfolgt ist und damit auch verschlüsselt durchgeführt wurde.
Self-signed-certificate
Nachfolgend soll beschrieben werden, wie ein eigenes Self-signed-certificate einfach erstellt werden kann.
Schlüssel erzeugen
Nachfolgender Befehl erzeugt dazu zuerst einmal einen Schlüssel, wodurch nur mit diesem, das Zertifikat verwendbar wird.
# openssl genrsa -out /etc/pki/tls/private/tachtler.net.key 2048 Generating RSA private key, 2048 bit long modulus .......................................................+++ .......................................+++ e is 65537 (0x10001)
* Es wird die Datei /etc/pki/tls/private/tachtler.net.key
erzeugt!
HINWEIS - Der Schlüssel kann auch eine Passphrase haben, jedoch kann dann kein automatischer Start des Apache HTTP Server mehr erfolgen. Es sei denn, auch die Passphrase ist in einer Datei auf dem Server hinterlegt und diese wird dann beim Starten des Apache HTTP Server eingelesen. Dieses vorgehen ist jedoch nur Sinnvoll, wenn der Apache HTTP Server durch einen Benutzer, ohne - root
-Rechte gestartet wird!
CSR erzeugen
Als nächster Schritt wird ein sogenannter „Zertifikatsantrag“ (CSR) generiert. Der Zertifikatsantrag (CSR) enthält den Domainnamen, die e-Mail-Adresse usw. Diese Dateien werden dann an die Zertifizierungsstelle gesendet und von dieser wird dann das Zertifikat ausgestellt. Mit nachfolgendem Befehl wird die Erstellung des Zertifikatsantrags (CSR) durchgeführt:
WICHTIG - Nicht benötigte Angaben werden mit Eingabe eines Punktes [.] übersprungen, es sollte KEIN Passwort verwendet werden!
# openssl req -new -key /etc/pki/tls/private/tachtler.net.key -out /etc/pki/tls/certs/tachtler.net.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:DE State or Province Name (full name) []:Bayern (Bavaria) Locality Name (eg, city) [Default City]:Muenchen (Munich) Organization Name (eg, company) [Default Company Ltd]:Klaus Tachtler Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server's hostname) []:www.tachtler.net Email Address []:webmaster@tachtler.net Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:.
* Es wird die Datei /etc/pki/tls/certs/tachtler.net.csr
erzeugt!
Mit folgendem Befehl kann festgestellt werden, ob alle Angaben im Zertifikatsantrag (CSR) korrekt sind:
# openssl req -noout -text -in /etc/pki/tls/certs/tachtler.net.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=DE, ST=Bayern (Bavaria), L=Muenchen (Munich), O=Klaus Tachtler, CN=www.tachtler.net/emailAddress=webmaster@tachtler.net Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:a0:f8:79:f5:ac:11:07:23:a9:6e:17:77:16:40: c3:e8:62:30:b6:21:1b:72:b1:ca:23:85:2d:3a:67: 2b:21:6e:ee:96:cc:62:f3:01:a3:17:87:14:c9:98: d8:2e:d6:d6:d4:2b:06:a9:8b:9f:d6:e2:14:80:32: e3:c7:da:af:6c:b7:9d:32:52:20:39:ed:75:0e:fa: 3e:12:5a:27:e4:71:b8:51:4f:2a:96:55:8e:f6:e4: 8a:07:5b:28:58:ae:4e:17:e7:07:5b:d3:29:30:eb: bd:15:15:ff:78:76:74:d1:2e:ee:5f:bc:a7:fd:1a: b9:dd:e5:a3:3a:27:89:c2:36:30:c0:6b:4d:21:bc: 41:8f:ce:61:6e:06:70:07:66:0b:61:f5:91:f6:71: 94:3e:c3:7e:1b:5f:ef:06:bf:15:d9:d3:a6:7a:38: 76:c6:d7:e4:00:92:08:9d:b2:bc:7a:32:da:57:02: b5:0d:5e:25:73:0b:40:83:e9:03:b9:5c:fa:58:b1: cb:e5:d7:61:7f:12:de:5c:49:b4:d0:5d:bc:8c:b1: 62:01:86:5e:6c:43:5c:3d:62:68:a7:1c:bb:f8:1a: 8f:9d:6e:ce:2b:d7:36:18:b5:6e:a6:3e:cf:94:72: 57:0e:55:7f:c2:dd:43:ab:ea:47:1e:2b:30:1d:97: 81:57 Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha256WithRSAEncryption 48:87:02:ee:8f:f9:7b:17:11:d8:bf:ed:81:c4:1c:e4:3c:ec: 4d:b7:a9:77:19:5c:92:aa:98:67:23:1c:d1:43:ce:3b:1d:e8: 21:1d:f2:76:52:0d:25:75:28:38:d6:87:71:34:ce:d9:7c:c0: 66:b9:d5:ba:08:85:53:61:5a:c2:58:52:02:0a:6e:42:22:61: 3a:e5:e3:8e:88:f3:68:93:64:b0:ca:fc:69:e7:7a:27:3c:f6: 89:ee:07:d2:cd:a7:21:5f:bf:38:7c:4e:a2:7e:84:f9:c8:60: 9a:9c:ce:d0:19:93:22:76:fb:4b:1e:65:a2:8d:ab:b7:8d:ea: da:7a:fa:81:a8:88:d3:f8:31:88:b0:ea:90:92:0e:94:54:7c: 54:26:a7:e9:a3:63:95:a3:e4:00:79:92:fc:f6:e4:3e:82:74: 55:9d:3d:3a:75:04:5b:77:db:8d:e7:43:b5:b5:bf:fb:e6:60: 5f:77:ce:a8:1f:a2:d1:65:5a:2d:f5:11:02:51:91:42:03:5d: a4:f0:b6:67:05:b7:f8:56:34:8a:84:45:1e:49:c5:19:59:6e: 87:47:63:ac:88:03:6c:dd:6c:dd:b8:d8:f4:72:57:f6:c8:5f: 40:62:c7:7e:32:3b:cb:96:88:6d:4e:b9:15:b2:1d:55:be:a1: 86:c0:0b:94
CRT erzeugen
Zum Abschluß wird mit folgendem Befehl ein Self-Signed-Certificate erstellt, welches für 365 Tage gültig ist:
# openssl x509 -req -days 365 -in /etc/pki/tls/certs/tachtler.net.csr -signkey /etc/pki/tls/private/tachtler.net.key -out /etc/pki/tls/certs/tachtler.net.crt Signature ok subject=/C=DE/ST=Bayern (Bavaria)/L=Muenchen (Munich)/O=Klaus Tachtler/CN=www.tachtler.net/emailAddress=webmaster@tachtler.net Getting Private key
* Es wird die Datei /etc/pki/tls/certs/tachtler.net.crt
erzeugt!
Mit folgendem Befehl kann festgestellt werden, ob alle Angaben im Self-Signed-Certificate (CRT) korrekt sind und dies auch korrekt erstellt wurde:
# openssl x509 -noout -text -in /etc/pki/tls/certs/tachtler.net.crt Certificate: Data: Version: 1 (0x0) Serial Number: 13350625740743118842 (0xb946f360662e0ffa) Signature Algorithm: sha1WithRSAEncryption Issuer: C=DE, ST=Bayern (Bavaria), L=Muenchen (Munich), O=Klaus Tachtler, CN=www.tachtler.net/emailAddress=webmaster@tachtler.net Validity Not Before: Nov 26 10:06:21 2014 GMT Not After : Nov 26 10:06:21 2015 GMT Subject: C=DE, ST=Bayern (Bavaria), L=Muenchen (Munich), O=Klaus Tachtler, CN=www.tachtler.net/emailAddress=webmaster@tachtler.net Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:a0:f8:79:f5:ac:11:07:23:a9:6e:17:77:16:40: c3:e8:62:30:b6:21:1b:72:b1:ca:23:85:2d:3a:67: 2b:21:6e:ee:96:cc:62:f3:01:a3:17:87:14:c9:98: d8:2e:d6:d6:d4:2b:06:a9:8b:9f:d6:e2:14:80:32: e3:c7:da:af:6c:b7:9d:32:52:20:39:ed:75:0e:fa: 3e:12:5a:27:e4:71:b8:51:4f:2a:96:55:8e:f6:e4: 8a:07:5b:28:58:ae:4e:17:e7:07:5b:d3:29:30:eb: bd:15:15:ff:78:76:74:d1:2e:ee:5f:bc:a7:fd:1a: b9:dd:e5:a3:3a:27:89:c2:36:30:c0:6b:4d:21:bc: 41:8f:ce:61:6e:06:70:07:66:0b:61:f5:91:f6:71: 94:3e:c3:7e:1b:5f:ef:06:bf:15:d9:d3:a6:7a:38: 76:c6:d7:e4:00:92:08:9d:b2:bc:7a:32:da:57:02: b5:0d:5e:25:73:0b:40:83:e9:03:b9:5c:fa:58:b1: cb:e5:d7:61:7f:12:de:5c:49:b4:d0:5d:bc:8c:b1: 62:01:86:5e:6c:43:5c:3d:62:68:a7:1c:bb:f8:1a: 8f:9d:6e:ce:2b:d7:36:18:b5:6e:a6:3e:cf:94:72: 57:0e:55:7f:c2:dd:43:ab:ea:47:1e:2b:30:1d:97: 81:57 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 82:a1:b2:0c:3a:db:f7:38:b0:a2:26:8a:84:b4:70:4c:2c:68: dc:13:f3:c2:98:c2:b9:03:91:a1:63:1c:02:4a:ae:3c:3c:e5: bb:84:ff:64:f2:22:d4:3a:f7:a8:15:fd:3d:fa:f0:0c:b1:1f: 91:84:70:31:66:e1:c8:9b:e7:a7:a9:2b:5a:10:66:2e:73:7b: 74:fd:ad:af:9f:9d:5d:ca:2b:b0:53:13:e2:b1:ab:dd:4b:b3: b5:8e:16:90:7d:c9:b2:00:a9:ba:dd:d1:60:99:de:0e:84:48: 13:ea:00:57:df:72:e5:a3:9a:c5:c8:ab:2b:33:c3:0d:b5:2d: 28:9e:85:42:9f:40:10:b9:24:29:c5:c0:3f:59:0b:bc:c6:fb: c6:17:4d:22:a9:9f:15:9a:d0:04:27:9b:81:45:0a:b2:03:c8: 85:ae:ad:38:88:2f:24:8d:73:eb:b6:6e:37:7c:44:a8:b4:16: e4:7b:9e:7e:03:82:76:87:f4:8b:dc:b1:17:5f:43:4d:98:1e: bd:41:f0:6f:bf:07:a3:cf:f9:6b:17:16:65:90:10:a4:46:8d: 15:a6:7d:9c:00:8c:05:1b:26:53:26:55:de:13:ee:49:68:c5: c5:45:d5:60:41:9b:3c:c3:fa:66:2b:a6:59:2d:39:af:2d:6f: c5:02:16:42
Dateirechte
Die Installation des gerade erzeugten Self-Signed-Certificate und die Vergabe der richtigen Dateirechte, sind der nächste Schritt zum erfolgreichen Einsatz.
Mit nachfolgenden Befehlen werden die Dateirechte für die Dateien
/etc/pki/tls/private/tachtler.net.key
und/etc/pki/tls/certs/tachtler.net.crt
noch wie folgt gesetzte werden:
Die Dateirechte für /etc/pki/tls/private/tachtler.net.key
, werden mit folgendem Befehl gesetzt:
# chmod 400 /etc/pki/tls/private/tachtler.net.key
Die Dateirechte für /etc/pki/tls/certs/tachtler.net.crt
, werden mit folgendem Befehl gesetzt:
# chmod 400 /etc/pki/tls/certs/tachtler.net.crt
CRT einbinden
Anschließend muss nun noch das erzeugte Drittanbieter Zertifikat in den Apache HTTP Server durch anpassen der Konfigurationsdatei
/etc/httpd/conf.d/ssl.conf
durch nachfolgend gezeigte Änderungen, bekannt gegeben werden:
(Nur relevanter Ausschnitt')
... # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A new # certificate can be generated using the genkey(1) command. # Tachtler # default: SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/pki/tls/certs/tachtler.net.crt # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) # Tachtler # default: SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/pki/tls/private/tachtler.net.key ...
Neustart
nach den vorangegangenen Konfigurationsschritten, sollte einem Neustart nichts im Wege stehen:
# systemctl restart httpd.service
HINWEIS - Es erfolgen keine weiteren Ausgaben, wenn der Start erfolgreich war !
Überprüfung
In oben gezeigtem Beispiel in der Konfigurationsdatei
/etc/httpd/conf.d/ssl.conf
wurde ein eigenes Self-signed-certificate hinterlegt, welches in nachfolgende Konfigurationszeilen konfiguriert wurde:
(nur relevanter Ausschnitt)
... # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A new # certificate can be generated using the genkey(1) command. # Tachtler # default: SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/pki/tls/certs/tachtler.net.crt # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) # Tachtler # default: SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/pki/tls/private/tachtler.net.key ...
Mit nachfolgenden Seitenaufrufen kann überprüft werden, ob die Änderungen durch die Einbindung der zusätzlichen Konfigurationsdateien erfolgreich war:
Der Aufruf der URL:
sollte nachfolgende Anzeige zum Vorschein bringen:
HINWEIS - Die Fehlermeldung ist normal, da hier ein selbst erstelltes Zertifikat, welches auch noch einen anderen CN (Common Name) als die aufgerufene URL hat, verwendet wird!
Durch anklicken der Fehlermeldung im Bereich [I Understand the Risks], sollte nachfolgende Seite zur Anzeige kommen:
Hier muss der Aufruf der URL dann noch einmal bestätigt werden, in dem die Schaltfläche [Add Exception…] angeklickt wird und nachfolgendes Dialog-Fenster mit weiteren Informationen, zum präsentiertem Zertifikat, zum Vorschein kommen.
Durch anklicken der Schaltfläche [View] kann das eigene Self-signed-certificate in einem weiteren Dialog-Fenster zur Anzeige gebracht werden und durch anklicken der Schaltfäche [Close] wieder geschlossen werden:
Durch anklicken der Schaltfläche [Confirm Security Exception] wird bestätigt, das die Seite tatsächlich angezeigt werden soll, und nachfolgende Seite sollte dann abschließend auch angezeigt werden:
HINWEIS - In vorangestelltem Bild ist zu erkennen, dass der Aufruf der Seite https://www.tachtler.net/server-status auf Port 443 erfolgt ist und damit auch verschlüsselt durchgeführt wurde.
Drittanbieter Zertifikate
Zur Einbindung von Zertifikaten von offiziellen Zertifikats Autoritäten, bei denen die sogenannten ROOT-Zertifikate bereits in den Browsern importiert und vorhanden sind, oder wie in nachfolgendem Fall von
in den Browser importiert werden können, sind nachfolgende Schritte notwendig.
Unter diesen Links erhalten Sie mehr Informationen zu
Der Vorteil von CACert gegenüber kostenpflichtigen Zertifikaten von Drittanbietern ist natürlich die kostenlose Bereitstellung von Zertifikaten, auch sogenannten Wildcard-Zertifikaten.
Der Nachteil ist, das die sogenannten ROOT-Zertifikate erst in den entsprechenden Browser manuell importiert werden müssen!
WICHTIG - Eine Registrierung/kostenlose Mitgliedschaft bei CACert ist erforderlich!
ROOT-Zertifikate importieren
Die ROOT-Zertifikate von CACert, können unter nachfolgendem externen Link heruntergeladen und importiert werden:
Nach dem erfolgreichen Importieren der ROOT-Zertifikate, es sollten
- Klasse 1 PKI Schlüssel
- Klasse 3 PKI Schlüssel
je nach Betriebssystem und Browser entsprechend importiert werden.
Nachfolgend wird am Browser Mozilla Firefox dargestellt wie die beiden ROOT-Zertifikate importiert werden können.
Ausgehend davon, das die ROOT-Zeritifkate bereits heruntergeladen wurden und hier als Beispiel im Verzeichnis - /tmp
gespeichert wurden.
Zuerst wird unter dem Browser https://www.mozilla.org/de/firefox/ der Dialog mit den [Einstellungen] geöffnet und auf den [Reiter: Advanced] und den [Unterreiter: Certificates] gewechselt, wie nachfolgende Bildschirmkopie zeigt:
Anschließend sollte dann auf die Schaltfläche [View Certificates] geklickt werden, damit sich nachfolgender Dialog öffnet und der [Reiter: Authorities] ausgewählt sein sollte:
Durch anklicken der Schaltfläche [Import], kann dann im sich öffnenden Dialog-Fenster eine Zertifikatsdatei, hier /tmp/root.crt
ausgewählt werden:
Durch drücken der Schaltfläche [Open] wird dann nachfolgendes Dialog-Fenster angezeigt, in dem der Rahmen festgelegt werden kann, in welchem Umfang dem Zertifikat vertraut wird. Nachfolgend wurden alle Haken entsprechend wie nachfolgend beschrieben gesetzt:
Haken | Bezeichnung |
---|---|
✔ | Trust this CA to identify websites. |
✔ | Trust this CA to identify email users. |
✔ | Trust this CA to identify software developers. |
Zum Abschluss und zum tatsächlichen Import muss dann die Schaltfläche [OK] angeklickt werden.
WICHTIG - Die ist auch für das zweite Zertifikat - Klasse 3 PKI Schlüssel
durchzuführen!
Durch anklicken der Schaltfläche [Import], kann dann im sich öffnenden Dialog-Fenster eine Zertifikatsdatei, hier /tmp/class3.crt
ausgewählt werden:
Durch drücken der Schaltfläche [Open] wird dann nachfolgendes Dialog-Fenster angezeigt, in dem der Rahmen festgelegt werden kann, in welchem Umfang dem Zertifikat vertraut wird. Nachfolgend wurden alle Haken entsprechend wie nachfolgend beschrieben gesetzt:
Haken | Bezeichnung |
---|---|
✔ | Trust this CA to identify websites. |
✔ | Trust this CA to identify email users. |
✔ | Trust this CA to identify software developers. |
Zum Abschluss und zum tatsächlichen Import muss dann die Schaltfläche [OK] angeklickt werden.
Anschließend kann dann in der Liste der importierten Zertifikate überprüft werden ob der jeweilig Importvorgang erfolgreich war und es sollte eine Anzeige wie die nachfolgende zur Anzeige kommen:
Schlüssel erzeugen
Nachfolgender Befehl erzeugt dazu zuerst einmal einen Schlüssel, wodurch nur mit diesem, das Zertifikat verwendbar wird.
# openssl genrsa -out /etc/pki/tls/private/tachtler.net.key 2048 Generating RSA private key, 2048 bit long modulus .......................................................+++ .......................................+++ e is 65537 (0x10001)
* Es wird die Datei /etc/pki/tls/private/tachtler.net.key
erzeugt!
HINWEIS - Der Schlüssel kann auch eine Passphrase haben, jedoch kann dann kein automatischer Start des Apache HTTP Server mehr erfolgen. Es sei denn, auch die Passphrase ist in einer Datei auf dem Server hinterlegt und diese wird dann beim Starten des Apache HTTP Server eingelesen. Dieses vorgehen ist jedoch nur Sinnvoll, wenn der Apache HTTP Server durch einen Benutzer, ohne - root
-Rechte gestartet wird!
CSR erzeugen
Als nächster Schritt wird ein sogenannter „Zertifikatsantrag“ (CSR) generiert. Der Zertifikatsantrag (CSR) enthält den Domainnamen, die e-Mail-Adresse usw. Diese Dateien werden dann an die Zertifizierungsstelle gesendet und von dieser wird dann das Zertifikat ausgestellt. Mit nachfolgendem Befehl wird die Erstellung des Zertifikatsantrags (CSR) durchgeführt:
WICHTIG - Nicht benötigte Angaben werden mit Eingabe eines Punktes [.] übersprungen, es sollte KEIN Passwort verwendet werden!
# openssl req -new -key /etc/pki/tls/private/tachtler.net.key -out /etc/pki/tls/certs/tachtler.net.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:DE State or Province Name (full name) []:Bayern (Bavaria) Locality Name (eg, city) [Default City]:Muenchen (Munich) Organization Name (eg, company) [Default Company Ltd]:Klaus Tachtler Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server's hostname) []:*.tachtler.net Email Address []:webmaster@tachtler.net Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:.
* Es wird die Datei /etc/pki/tls/certs/tachtler.net.csr
erzeugt!
Mit folgendem Befehl kann festgestellt werden, ob alle Angaben im Zertifikatsantrag (CSR) korrekt sind:
# openssl req -noout -text -in /etc/pki/tls/certs/tachtler.net.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=DE, ST=Bayern (Bavaria), L=Muenchen (Munich), O=Klaus Tachtler, CN=*.tachtler.net/emailAddress=webmaster@tachtler.net Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:a0:f8:79:f5:ac:11:07:23:a9:6e:17:77:16:40: c3:e8:62:30:b6:21:1b:72:b1:ca:23:85:2d:3a:67: 2b:21:6e:ee:96:cc:62:f3:01:a3:17:87:14:c9:98: d8:2e:d6:d6:d4:2b:06:a9:8b:9f:d6:e2:14:80:32: e3:c7:da:af:6c:b7:9d:32:52:20:39:ed:75:0e:fa: 3e:12:5a:27:e4:71:b8:51:4f:2a:96:55:8e:f6:e4: 8a:07:5b:28:58:ae:4e:17:e7:07:5b:d3:29:30:eb: bd:15:15:ff:78:76:74:d1:2e:ee:5f:bc:a7:fd:1a: b9:dd:e5:a3:3a:27:89:c2:36:30:c0:6b:4d:21:bc: 41:8f:ce:61:6e:06:70:07:66:0b:61:f5:91:f6:71: 94:3e:c3:7e:1b:5f:ef:06:bf:15:d9:d3:a6:7a:38: 76:c6:d7:e4:00:92:08:9d:b2:bc:7a:32:da:57:02: b5:0d:5e:25:73:0b:40:83:e9:03:b9:5c:fa:58:b1: cb:e5:d7:61:7f:12:de:5c:49:b4:d0:5d:bc:8c:b1: 62:01:86:5e:6c:43:5c:3d:62:68:a7:1c:bb:f8:1a: 8f:9d:6e:ce:2b:d7:36:18:b5:6e:a6:3e:cf:94:72: 57:0e:55:7f:c2:dd:43:ab:ea:47:1e:2b:30:1d:97: 81:57 Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha256WithRSAEncryption 48:87:02:ee:8f:f9:7b:17:11:d8:bf:ed:81:c4:1c:e4:3c:ec: 4d:b7:a9:77:19:5c:92:aa:98:67:23:1c:d1:43:ce:3b:1d:e8: 21:1d:f2:76:52:0d:25:75:28:38:d6:87:71:34:ce:d9:7c:c0: 66:b9:d5:ba:08:85:53:61:5a:c2:58:52:02:0a:6e:42:22:61: 3a:e5:e3:8e:88:f3:68:93:64:b0:ca:fc:69:e7:7a:27:3c:f6: 89:ee:07:d2:cd:a7:21:5f:bf:38:7c:4e:a2:7e:84:f9:c8:60: 9a:9c:ce:d0:19:93:22:76:fb:4b:1e:65:a2:8d:ab:b7:8d:ea: da:7a:fa:81:a8:88:d3:f8:31:88:b0:ea:90:92:0e:94:54:7c: 54:26:a7:e9:a3:63:95:a3:e4:00:79:92:fc:f6:e4:3e:82:74: 55:9d:3d:3a:75:04:5b:77:db:8d:e7:43:b5:b5:bf:fb:e6:60: 5f:77:ce:a8:1f:a2:d1:65:5a:2d:f5:11:02:51:91:42:03:5d: a4:f0:b6:67:05:b7:f8:56:34:8a:84:45:1e:49:c5:19:59:6e: 87:47:63:ac:88:03:6c:dd:6c:dd:b8:d8:f4:72:57:f6:c8:5f: 40:62:c7:7e:32:3b:cb:96:88:6d:4e:b9:15:b2:1d:55:be:a1: 86:c0:0b:94
CRT erzeugen
WICHTIG - Das Zertifikat wird nun durch Hochladen des Zertifikatsantrag (CSR) auf die Homepage von CACert erzeugt und kann dort entsprechen dann heruntergeladen werden!
Mit folgendem Befehl kann festgestellt werden, ob alle Angaben im Drittanbieter Zertifikats (CRT) korrekt sind und dies auch korrekt erstellt wurde:
# openssl x509 -noout -text -in /etc/pki/tls/certs/tachtler.net.crt Certificate: Data: Version: 3 (0x2) Serial Number: 142727 (0x22d87) Signature Algorithm: sha512WithRSAEncryption Issuer: O=CAcert Inc., OU=http://www.CAcert.org, CN=CAcert Class 3 Root Validity Not Before: Apr 10 18:52:29 2014 GMT Not After : Apr 9 18:52:29 2016 GMT Subject: CN=*.tachtler.net Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:f2:29:af:e1:4c:88:b5:e5:1c:3f:b3:ea:7f:d4: 73:41:91:55:9b:37:1d:c6:0a:a6:3e:29:b9:85:a9: 8b:fb:e0:91:9c:c9:33:bf:98:06:02:fc:a9:74:9e: a0:01:91:5e:db:73:93:db:34:2d:d8:dc:94:b8:c5: f7:de:59:28:ab:20:72:95:5f:59:d1:79:18:7f:7b: c3:30:98:65:2b:50:47:5f:4f:5a:d4:97:6a:e2:95: cd:3b:d6:0b:c2:a1:d9:96:64:6a:7a:ff:d2:de:cc: b6:a0:5d:25:dc:57:1c:98:59:22:e0:38:43:d8:e2: 49:65:60:83:3c:7f:5e:80:1b:c5:d2:4d:64:79:d9: b3:21:b7:7e:9b:64:c1:71:4a:fe:7c:a3:13:20:4b: f9:9e:e4:60:e6:d7:71:43:fb:a6:c8:77:11:9c:e7: d5:b9:fa:a2:cb:3d:e6:8c:ab:2d:0c:ae:6f:34:61: 24:0a:c4:a3:d2:68:b2:ab:72:87:57:00:82:7b:e8: 7a:c3:d0:95:b0:3e:07:1b:49:f4:ba:0e:f7:80:5f: 2b:01:70:f4:cc:39:1a:76:e1:c1:b8:f1:b2:0a:ee: ba:1f:8c:97:c0:99:c8:57:db:17:d1:ec:59:1b:91: 6b:5b:32:47:12:04:cc:0f:94:d3:52:e9:de:9d:3f: ba:15 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Key Usage: critical Digital Signature, Key Encipherment, Key Agreement X509v3 Extended Key Usage: TLS Web Client Authentication, TLS Web Server Authentication, Netscape Server Gated Crypto, Microsoft Server Gated Crypto Authority Information Access: OCSP - URI:http://ocsp.cacert.org/ X509v3 CRL Distribution Points: Full Name: URI:http://crl.cacert.org/class3-revoke.crl X509v3 Subject Alternative Name: DNS:*.tachtler.net, othername:<unsupported> Signature Algorithm: sha512WithRSAEncryption 66:a2:6d:30:e0:fb:39:51:1b:e9:56:21:1b:ac:bc:5c:42:a0: f7:38:2b:bf:0f:a3:0f:20:03:e9:e8:5a:80:0f:52:11:20:b0: 17:27:c0:b0:56:03:7b:fd:b2:72:51:2a:b2:67:40:68:19:51: 5d:8e:ba:a4:86:7d:f3:2f:f7:be:66:50:53:5f:93:67:c4:ca: e9:7a:0e:92:ef:53:2f:58:19:13:f0:0e:10:b7:6f:32:51:62: 86:d8:27:ce:3f:66:49:a6:9c:11:68:26:bc:ea:18:f4:42:dd: 0c:da:4a:41:f1:e9:24:11:29:38:97:15:bd:8a:5b:a0:5b:76: f8:b0:74:c6:54:82:6f:3f:3e:f5:90:a9:94:e4:d7:fd:ac:03: df:de:4e:30:5b:83:14:b3:68:6e:09:6b:0c:9c:17:a4:3f:78: 01:97:d3:45:43:76:8c:e8:57:57:61:14:7b:ec:b2:8d:55:55: af:65:a1:18:cd:3b:a4:86:9f:1e:16:21:41:a9:57:cc:b2:08: 63:8d:7a:3b:f3:6d:09:f3:a5:f6:50:93:b7:3a:23:0f:27:95: 76:ab:72:78:13:1c:0c:e6:cf:28:2a:ce:33:2e:dd:c1:0a:05: d8:48:9f:72:27:82:38:34:bf:ec:20:a2:85:53:b3:fd:c2:15: ea:3f:66:08:be:88:77:f1:db:94:04:27:53:31:a7:62:65:00: 7c:b8:de:ef:db:7a:3c:0f:c1:54:e3:a0:d9:31:36:ee:b0:ea: b2:60:f1:7e:3e:be:0d:b8:e2:47:c5:91:aa:ec:e6:06:07:5a: a6:9e:48:fe:6b:bb:28:1e:dc:87:8b:e7:50:9b:cc:b0:0b:b9: ca:f4:35:ef:cb:32:05:46:da:76:14:72:de:5b:25:76:97:13: 83:06:a3:30:2c:9e:bf:6f:bb:72:c4:4a:77:22:85:93:d9:7e: 14:fc:6d:bb:47:eb:1a:6e:82:48:ab:31:2f:ee:fb:dc:f3:7b: 0d:3a:28:60:6d:b8:e7:58:4d:06:74:2f:93:f4:8a:b7:90:1b: 92:73:10:b7:71:55:b6:a9:88:13:89:fb:cd:e9:eb:7a:12:2d: 49:9a:1c:31:d7:77:14:70:3a:2b:a3:8a:91:67:83:bf:53:ba: a8:bd:1b:81:56:3b:61:bf:29:0a:7d:be:fc:ed:a3:bb:1d:f3: b9:9c:1e:1d:ce:b3:16:17:e0:f0:87:d3:2f:a3:0e:95:f6:52: 5a:53:14:fa:ae:39:da:f2:17:9e:82:d5:21:6c:8b:82:62:c6: 71:9c:95:81:76:ae:98:25:57:a2:93:2f:d4:bf:79:be:bb:8c: 69:64:e5:5d:c1:95:61:08
CRT einbinden
Abschließend muss nun noch das erzeugte Drittanbieter Zertifikats in den Apache HTTP Server durch anpassen der Konfigurationsdatei
/etc/httpd/conf.d/ssl.conf
durch nachfolgend gezeigte Änderungen und Ergänzungen, bekannt gegeben werden:
(Nur relevanter Ausschnitt')
... # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A new # certificate can be generated using the genkey(1) command. # Tachtler # default: SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/pki/tls/certs/tachtler.net.crt # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) # Tachtler # default: SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/pki/tls/private/tachtler.net.key ...
ROOT-CRT einbinden
Die ROOT-Zertifikate
- Klasse 1 PKI Schlüssel
- Klasse 3 PKI Schlüssel
in einer Datei, mit Namen CAcert_chain.pem
-Zertifikate können unter folgender Adresse heruntergeladen werden:
Abschließend muss nun noch eine Datei mit den ROOT-Zeritifikaten in den Apache HTTP Server durch anpassen der Konfigurationsdatei
/etc/httpd/conf.d/ssl.conf
durch nachfolgend gezeigte Änderungen, bekannt gegeben werden:
(Nur relevanter Ausschnitt')
# Server Certificate Chain: # Point SSLCertificateChainFile at a file containing the # concatenation of PEM encoded CA certificates which form the # certificate chain for the server certificate. Alternatively # the referenced file can be the same as SSLCertificateFile # when the CA certificates are directly appended to the server # certificate for convinience. # Tachtler # default: #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt SSLCertificateChainFile /etc/pki/tls/certs/CAcert_chain.pem ...
Dateirechte
Die Installation des gerade erzeugten Drittanbieter Zertifikats und die Vergabe der richtigen Dateirechte, sind der nächste Schritt zum erfolgreichen Einsatz.
Mit nachfolgenden Befehlen werden die Dateirechte für die Dateien
/etc/pki/tls/private/tachtler.net.key
,/etc/pki/tls/certs/tachtler.net.crt
und/etc/pki/tls/certs/CAcert_chain.pem
noch wie folgt gesetzte werden:
Die Dateirechte für /etc/pki/tls/private/tachtler.net.key
, werden mit folgendem Befehl gesetzt:
# chmod 400 /etc/pki/tls/private/tachtler.net.key
Die Dateirechte für /etc/pki/tls/certs/tachtler.net.crt
, werden mit folgendem Befehl gesetzt:
# chmod 400 /etc/pki/tls/certs/tachtler.net.crt
Die Dateirechte für /etc/pki/tls/certs/CAcert_chain.pem
, werden mit folgendem Befehl gesetzt:
# chmod 400 /etc/pki/tls/certs/CAcert_chain.pem
Neustart
nach den vorangegangenen Konfigurationsschritten, sollte einem Neustart nichts im Wege stehen:
# systemctl restart httpd.service
HINWEIS - Es erfolgen keine weiteren Ausgaben, wenn der Start erfolgreich war !
Überprüfung
In oben gezeigtem Beispiel in der Konfigurationsdatei
/etc/httpd/conf.d/ssl.conf
wurde ein Drittanbieter Zertifikat hinterlegt, welches in nachfolgende Konfigurationszeilen konfiguriert wurde:
(nur relevanter Ausschnitt)
... # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A new # certificate can be generated using the genkey(1) command. # Tachtler # default: SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/pki/tls/certs/tachtler.net.crt # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) # Tachtler # default: SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/pki/tls/private/tachtler.net.key # Server Certificate Chain: # Point SSLCertificateChainFile at a file containing the # concatenation of PEM encoded CA certificates which form the # certificate chain for the server certificate. Alternatively # the referenced file can be the same as SSLCertificateFile # when the CA certificates are directly appended to the server # certificate for convinience. # Tachtler # default: #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt SSLCertificateChainFile /etc/pki/tls/certs/CAcert_chain.pem ...
Mit nachfolgenden Seitenaufrufen kann überprüft werden, ob die Änderungen durch die Einbindung der zusätzlichen Konfigurationsdateien erfolgreich war:
Der Aufruf der URL:
sollte nachfolgende Anzeige zum Vorschein bringen:
HINWEIS - In vorangestelltem Bild ist zu erkennen, dass der Aufruf der Seite https://www.tachtler.net/server-status auf Port 443 erfolgt ist und damit auch verschlüsselt durchgeführt wurde.
Openssl-Befehle
Nachfolgende Befehle dienen zur Abfrage eines Zertifikats via openssl
Befehl.
Zertifikat: Dateisystem
Nachfolgende Abfrage ermittelt die Zertifikatsdaten aus dem einlesen des Zertifikats aus dem Dateisystem, welches einen Zugriff auf das Dateisystems des Servers bedingt:
# openssl x509 -noout -text -in /opt/dehydrated-master/certs/tachtler.net/cert.pem Certificate: Data: Version: 3 (0x2) Serial Number: 03:bd:ea:18:41:2a:30:70:3e:43:09:0b:cd:6c:ed:b1:07:87 Signature Algorithm: sha256WithRSAEncryption Issuer: C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3 Validity Not Before: Feb 12 05:54:00 2018 GMT Not After : May 13 05:54:00 2018 GMT Subject: CN=tachtler.net Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) Modulus: 00:e9:90:af:bb:09:06:a8:80:87:c5:fd:06:e1:d5: 10:15:a3:4c:8a:95:4b:e9:df:ab:0e:15:e6:f2:fe: 7c:5f:06:69:42:ee:b7:5b:03:90:48:69:3a:0f:98: 0b:e9:d5:83:0a:fe:f7:bc:c1:e1:c8:c0:99:42:6a: 29:0a:d9:40:77:32:07:8c:38:59:9f:9a:10:d1:18: 8f:99:06:68:e0:20:6f:0b:33:2d:f9:1f:d1:84:c2: 7d:66:63:a7:16:0d:66:b6:3e:1a:31:8f:b5:3e:84: a7:12:df:f5:a6:6a:ff:98:ee:11:e9:f5:7e:bd:24: e7:67:12:3b:a2:0a:3f:45:81:40:52:a0:cf:09:29: a9:49:63:5c:4b:d0:1a:65:5a:07:09:21:5a:3d:1d: dd:1b:7f:51:48:46:4d:ca:31:58:ba:f4:9d:b8:40: 41:0d:a0:79:dc:1c:91:fc:6a:6e:46:8f:e2:b9:74: 73:96:88:ac:14:47:6b:e7:fe:22:f9:0a:8f:46:b4: 91:c7:5b:65:ae:0d:7d:de:92:bf:5d:ed:9d:b7:96: 83:1d:a4:8d:75:f3:92:21:83:e0:d9:71:8a:a2:c8: 10:30:1b:1c:a7:d8:cd:75:ae:3d:c0:1b:b8:0e:2d: fc:5f:67:f5:0f:15:ec:05:6c:ec:e2:33:3a:d7:e2: d4:8e:16:e7:60:c1:00:9a:02:41:a2:99:83:6c:90: 46:20:7d:81:53:26:ca:15:9f:75:a5:e0:2f:d1:8c: 03:3c:14:38:80:99:41:2d:84:e9:ac:20:86:90:4f: 2c:86:6c:2e:c5:3c:ce:a2:6b:af:25:5d:49:9b:ce: ab:ca:a4:7d:fd:27:77:a1:55:40:c4:1b:f9:ae:7c: 16:d6:c8:be:b5:ad:6b:c7:0b:59:ed:7a:b9:7b:bf: 48:00:37:e6:f3:92:59:14:4e:14:8a:be:6e:a0:70: bb:8c:39:80:d2:e2:5f:43:14:06:36:f5:6a:a2:e9: 9f:ea:e9:1a:a7:c0:f9:f6:37:3f:7b:32:d6:01:a1: 91:0a:d1:7d:11:b5:70:1f:89:fc:b1:7c:15:fd:16: e7:eb:cc:53:8a:8a:2a:01:44:d5:83:21:15:ef:51: ea:da:05:9b:1d:c5:65:d9:7d:5b:4b:b8:7d:92:a2: 54:ae:a0:f6:37:4f:54:27:e3:4b:57:e8:66:62:cb: db:8c:b3:f9:05:24:dc:0f:95:18:5f:57:1a:2e:e0: 4a:ae:97:45:2c:c3:1b:89:de:c0:de:11:ba:b3:a1: 6e:84:4e:7f:3e:98:e9:6e:cc:f2:46:1e:4b:1a:2a: 36:1d:39:9e:78:a4:99:83:99:9c:d7:b4:8e:83:04: 95:bf:97 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: critical Digital Signature, Key Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Basic Constraints: critical CA:FALSE X509v3 Subject Key Identifier: A9:7D:E3:D4:D5:2A:06:19:1B:43:E2:F7:47:2C:20:BC:91:08:23:00 X509v3 Authority Key Identifier: keyid:A8:4A:6A:63:04:7D:DD:BA:E6:D1:39:B7:A6:45:65:EF:F3:A8:EC:A1 Authority Information Access: OCSP - URI:http://ocsp.int-x3.letsencrypt.org CA Issuers - URI:http://cert.int-x3.letsencrypt.org/ X509v3 Subject Alternative Name: DNS:apache70040.tachtler.net, DNS:apache70050.tachtler.net, DNS:apache70060.tachtler.net, DNS:apache70090.tachtler.net, DNS:apache70100.tachtler.net, DNS:apache70110.tachtler.net, DNS:awstats70060.tachtler.net, DNS:awstats70090.tachtler.net, DNS:buero.tachtler.net, DNS:dmarcreports.tachtler.net, DNS:dokuwiki.tachtler.net, DNS:e2loganalyzer.tachtler.net, DNS:elasticsearch70110.tachtler.net, DNS:fail2map.tachtler.net, DNS:gitlab.tachtler.net, DNS:graphite.tachtler.net, DNS:graylog.tachtler.net, DNS:homepage.tachtler.net, DNS:icinga- classicui.tachtler.net, DNS:icinga-dashing.tachtler.net, DNS:icinga.tachtler.net, DNS:install.tachtler.net, DNS:ipmi.tachtler.net, DNS:mailgraph.tachtler.net, DNS:mysqldumper.tachtler.net, DNS:nutch70100.tachtler.net, DNS:phpldapadmin.tachtler.net, DNS:phpmyadmin.tachtler.net, DNS:postfixadmin.tachtler.net, DNS:proxy.tachtler.net, DNS:psiprobe70100.tachtler.net, DNS:receiver.tachtler.net, DNS:repository.tachtler.net,DNS:router-dg.tachtler.net, DNS:router.tachtler.net, DNS:solr70100.tachtler.net, DNS:squid.tachtler.net, DNS:squidanalyzer.tachtler.net, DNS:switch.tachtler.net, DNS:tachtler.net, DNS:tomcat70100.tachtler.net, DNS:usv.tachtler.net, DNS:webcam.tachtler.net, DNS:webcamarchiv.tachtler.net, DNS:webdav.tachtler.net, DNS:wpad.tachtler.net, DNS:www.dokuwiki.tachtler.net, DNS:www.tachtler.net X509v3 Certificate Policies: Policy: 2.23.140.1.2.1 Policy: 1.3.6.1.4.1.44947.1.1.1 CPS: http://cps.letsencrypt.org User Notice: Explicit Text: This Certificate may only be relied upon by Relying Parties and only in accordance with the Certificate Policy found at https://letsencrypt.org/repository/ Signature Algorithm: sha256WithRSAEncryption 54:a4:1b:7e:5f:7e:22:60:93:9c:d1:cf:cf:9d:ac:f1:3e:e5: 9c:2f:ee:72:57:1a:0d:24:cf:4e:d5:db:38:18:b9:93:2d:c8: d4:c6:53:18:b6:95:b3:09:4a:5d:5d:27:87:53:d4:8e:c1:e3: 18:fc:33:80:b2:ba:6d:21:2a:9e:0a:4f:f1:55:bb:32:cd:cf: a7:0a:c4:f0:b8:b5:f4:c4:4d:f5:72:f5:46:ea:aa:57:cb:56: 99:fe:14:8e:72:1b:27:99:03:b9:6b:5f:b9:ce:c0:ff:a4:46: 82:b4:a4:3a:34:32:a9:56:6e:eb:07:f3:25:ed:be:00:cb:49: 84:e5:a6:47:5c:e0:86:f2:09:8d:f6:c7:7f:57:99:c8:63:78: 81:40:e8:0a:d9:4c:ef:ec:d3:43:06:c6:d0:25:60:d7:f7:ab: 69:2a:a8:f4:7c:b3:9f:1c:ee:da:30:d9:0f:1c:d0:0f:51:3b: a7:c2:3e:8e:3b:f0:15:db:ef:5e:1a:f0:5b:12:fa:76:b5:56: 4b:58:15:77:71:72:da:96:39:db:dd:77:cd:a8:e5:1b:ae:db: 38:6e:c4:8b:56:f8:a3:b8:3d:8c:98:d2:e4:db:cb:c1:41:7a: 78:ac:7b:9b:3e:ea:1c:3d:ed:cb:3d:04:06:e5:de:1c:82:11: 32:6b:c8:d2
Zertifikat: HTTPS-Abfrage
Nachfolgende Abfrage ermittelt das Zertifikat aus dem einlesen des Zertifikats aus eine HTTPS-Anfrage an den Server:
# openssl s_client -showcerts -servername www.tachtler.net -connect 88.217.171.167:443 2>/dev/null CONNECTED(00000003) --- Certificate chain 0 s:/CN=tachtler.net i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 -----BEGIN CERTIFICATE----- MIIKdTCCCV2gAwIBAgISA5wjYH8g820jFJtTOyQ8NnS1MA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzEyMDUwNDA2MDZaFw0x ODAzMDUwNDA2MDZaMBcxFTATBgNVBAMTDHRhY2h0bGVyLm5ldDCCAiIwDQYJKoZI hvcNAQEBBQADggIPADCCAgoCggIBALH7TynGtBgtEIq/mlqQOWh80mmT9XPELo34 vmpkI9hGi4XTcQKzr4pgWoRuGnu9l6mPuw3eVKV9/+K73gogkuOzdxhcGhv6ft4f P4lIDug+mLEeVSTxXKmVATlJdYiO/F+RuTBPhuKQpP4jEWytbhZMsQaiJRMm7FIy 3ja0ORv5NLK0d1DOEGDO9dGsil8TUe8RxTob8ndjeOGVyx0ui9iS4+uxV5ulyibm Mt/Ltg4vYQNEeYavvDx2F36NoZ2fQXVET5IcQOFH1+TCp6cPVN67M7BXN9ETYTHm N3D4IYKWYpsLrHhIp4cKoEIXBRTlklXG+VwQXocVbSoilL3FGaUzeaRseZrS0lI9 kK4M8oGpBP81YztXdAkSEma4UuxtS+yjedWFSA908G46vVWnzVLdZCqtYy94xHmV LpkEZMQOdUwjy+firH8mJDK06cn1CX20KqUoMN3v48wgFBS1IJWvw91H090VgJHt s2iJSAXwfmU9pduALoAoXAP9PQPhoeK+X+rmikNqFbUbMgUzq2QqtDvuq7lnan1b GOPFMTh0PHbXFtDHguvK6Ln9zM8YDlZ2EkVdHaIqzwLpwTOyrapNXAYoJb0Red6m aziVzU99AwZTCbMENHEwu1X4Lkf3jP3mNUz4yguWjCI5XaeriuMOmeDfLkM3yWk3 1Ozs8SGFAgMBAAGjggaGMIIGgjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYI KwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFI+/FptU hTaHrXSLpNNIVmzsh4GeMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyh MG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgz LmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgz LmxldHNlbmNyeXB0Lm9yZy8wggSPBgNVHREEggSGMIIEgoIYYXBhY2hlNzAwNDAu dGFjaHRsZXIubmV0ghhhcGFjaGU3MDA1MC50YWNodGxlci5uZXSCGGFwYWNoZTcw MDYwLnRhY2h0bGVyLm5ldIIYYXBhY2hlNzAwOTAudGFjaHRsZXIubmV0ghhhcGFj aGU3MDEwMC50YWNodGxlci5uZXSCGGFwYWNoZTcwMTEwLnRhY2h0bGVyLm5ldIIZ YXdzdGF0czcwMDYwLnRhY2h0bGVyLm5ldIIZYXdzdGF0czcwMDkwLnRhY2h0bGVy Lm5ldIISYnVlcm8udGFjaHRsZXIubmV0ghlkbWFyY3JlcG9ydHMudGFjaHRsZXIu bmV0ghVkb2t1d2lraS50YWNodGxlci5uZXSCGmUybG9nYW5hbHl6ZXIudGFjaHRs ZXIubmV0gh9lbGFzdGljc2VhcmNoNzAxMTAudGFjaHRsZXIubmV0ghVmYWlsMm1h cC50YWNodGxlci5uZXSCE2dpdGxhYi50YWNodGxlci5uZXSCFWdyYXBoaXRlLnRh Y2h0bGVyLm5ldIIUZ3JheWxvZy50YWNodGxlci5uZXSCFWhvbWVwYWdlLnRhY2h0 bGVyLm5ldIIdaWNpbmdhLWNsYXNzaWN1aS50YWNodGxlci5uZXSCG2ljaW5nYS1k YXNoaW5nLnRhY2h0bGVyLm5ldIITaWNpbmdhLnRhY2h0bGVyLm5ldIIUaW5zdGFs bC50YWNodGxlci5uZXSCEWlwbWkudGFjaHRsZXIubmV0ghZtYWlsZ3JhcGgudGFj aHRsZXIubmV0ghhteXNxbGR1bXBlci50YWNodGxlci5uZXSCF251dGNoNzAxMDAu dGFjaHRsZXIubmV0ghlwaHBsZGFwYWRtaW4udGFjaHRsZXIubmV0ghdwaHBteWFk bWluLnRhY2h0bGVyLm5ldIIZcG9zdGZpeGFkbWluLnRhY2h0bGVyLm5ldIIScHJv eHkudGFjaHRsZXIubmV0ghpwc2lwcm9iZTcwMTAwLnRhY2h0bGVyLm5ldIIVcmVj ZWl2ZXIudGFjaHRsZXIubmV0ghdyZXBvc2l0b3J5LnRhY2h0bGVyLm5ldIIWcm91 dGVyLWRnLnRhY2h0bGVyLm5ldIITcm91dGVyLnRhY2h0bGVyLm5ldIIWc29scjcw MTAwLnRhY2h0bGVyLm5ldIISc3F1aWQudGFjaHRsZXIubmV0ghpzcXVpZGFuYWx5 emVyLnRhY2h0bGVyLm5ldIITc3dpdGNoLnRhY2h0bGVyLm5ldIIMdGFjaHRsZXIu bmV0ghh0b21jYXQ3MDEwMC50YWNodGxlci5uZXSCEHVzdi50YWNodGxlci5uZXSC E3dlYmNhbS50YWNodGxlci5uZXSCGXdlYmNhbWFyY2hpdi50YWNodGxlci5uZXSC E3dlYmRhdi50YWNodGxlci5uZXSCEXdwYWQudGFjaHRsZXIubmV0ghl3d3cuZG9r dXdpa2kudGFjaHRsZXIubmV0ghB3d3cudGFjaHRsZXIubmV0MIH+BgNVHSAEgfYw gfMwCAYGZ4EMAQIBMIHmBgsrBgEEAYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0 cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBD ZXJ0aWZpY2F0ZSBtYXkgb25seSBiZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBh cnRpZXMgYW5kIG9ubHkgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0 ZSBQb2xpY3kgZm91bmQgYXQgaHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVwb3Np dG9yeS8wDQYJKoZIhvcNAQELBQADggEBAEqckfys6nPVZDKBZADy6tEZuQ3gaFka tgy61UjLbtzqag+ILmfN1zAbqZnk67MXf3sCD66kNFfGiW+DCvXjVdI6uee35cMd f+6xv4NvwTiESsb/cPuk51Ewq3WDKRv3MHjtwE1QyjVil/wc8OFPBoLUI8Vyaqwb 6xYMXvChAOGvmm9Y5NUqhX1A0w+At6xPcTkqgXsXnUKDlF03vT9ZBAZm62aa0Ria Upluz9ww+ci2TIOfrJUh4qxWWirRGp3Ca5Ck7Z+BK3n+ao0T7EdKi8zMhis0iQb0 HCxaA5xzeWdtYAqjJ8EO5p1JF7AsHB1KFmPHN868jKQTnrV9WKwUwcA= -----END CERTIFICATE----- 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 i:/O=Digital Signature Trust Co./CN=DST Root CA X3 -----BEGIN CERTIFICATE----- MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== -----END CERTIFICATE----- --- Server certificate subject=/CN=tachtler.net issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 --- No client certificate CA names sent Peer signing digest: SHA512 Server Temp Key: ECDH, P-256, 256 bits --- SSL handshake has read 4865 bytes and written 472 bytes --- New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-SHA Server public key is 4096 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES128-SHA Session-ID: 88F3392BAAC750BD03300E556330F57852D08FC9D8AEADC83EF0A32DF695BE27 Session-ID-ctx: Master-Key: B84D456A824306D78D6AA6F0208A8D7C45FDE31EB024E9BD92FA9A66C00EBE94444F147559806F7566F62E850E80FB9A Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None TLS session ticket lifetime hint: 300 (seconds) TLS session ticket: 0000 - c9 1a 36 03 88 60 ab 46-a0 cb fc fc 09 f7 ac d1 ..6..`.F........ 0010 - 9c 71 dd cc 22 02 4b 5b-55 1f 85 b5 cc 4b 80 4a .q..".K[U....K.J 0020 - 99 4b d9 ab ea 2d c7 f2-2e bb 5b 6b 88 ce 5e d2 .K...-....[k..^. 0030 - d6 95 88 b6 dd e3 62 a4-1e 2a f1 b1 8e 92 27 f8 ......b..*....'. 0040 - 22 48 ff 4b f0 e4 7e d2-49 0d 92 87 18 b7 c4 2d "H.K..~.I......- 0050 - e5 0a 89 81 c0 58 3e b4-a1 68 f0 6c 45 06 b6 0b .....X>..h.lE... 0060 - 76 2b de 46 86 5c 13 fb-48 dc 83 44 e1 a6 b4 cc v+.F.\..H..D.... 0070 - 57 ef 26 37 bb 25 0e eb-81 9f 83 9f 4c 03 1a fe W.&7.%......L... 0080 - 22 f9 75 65 9f 9e 64 90-0f 51 f1 8d 19 89 4e 98 ".ue..d..Q....N. 0090 - c9 d7 a8 44 7e 25 6a 45-bd a7 55 39 54 69 ee 81 ...D~%jE..U9Ti.. 00a0 - cb 51 58 6a 47 00 10 52-62 0c 02 23 07 1b 67 44 .QXjG..Rb..#..gD 00b0 - 33 b8 1a 31 01 45 07 ba-5f b7 95 5a 18 12 b6 53 3..1.E.._..Z...S 00c0 - 55 1d ea 5e 1b 96 49 f1-fd 5e 25 d7 27 7b f2 fe U..^..I..^%.'{.. 00d0 - 4b fb 2b d8 16 13 65 8d-a1 10 7b ad 20 d0 62 bf K.+...e...{. .b. Start Time: 1518420083 Timeout : 300 (sec) Verify return code: 0 (ok) ---
HINWEIS - Abschließend kann die [Return/Einagbe]-Taste gedrückt werden, um die Kommunikation zu beenden.
Zertifikat: HTTPS-Abfrage - Zertifikatslaufzeit
Nachfolgende Abfrage ermittelt das Ausstellungs- und Ablaufdatum aus dem einlesen des Zertifikats aus eine HTTPS-Anfrage an den Server:
# openssl s_client -showcerts -servername www.tachtler.net -connect 88.217.171.167:443 2>/dev/null | openssl x509 -noout -dates notBefore=Dec 5 04:06:06 2017 GMT notAfter=Mar 5 04:06:06 2018 GMT
HINWEIS - Abschließend kann die [Return/Einagbe]-Taste gedrückt werden, um die Kommunikation zu beenden.