Apache2 Https ssl Zertifikat oder mein Webserver vertraut mir nicht

  • Hallo Forum,

    ich versuche seit einiger Zeit einen https Zugang auf meinem Webserver zu aktivieren, mein http Zugang soll aber weiter laufen. Hierzu habe ich:



    <VirtualHost *:443>
    SSLEngine on

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile /etc/apache2/ssl/apachessl.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apachessl.pem

    # enable HTTP/2, if available
    Protocols h2 http/1.1

    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/withings


    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    </VirtualHost>

    an meine /etc/apache2/sites-enabled/000-default.conf angefügt


    # /etc/apache2/sites-enabled/000-default.conf

    Listen 80

    <IfModule ssl_module>
    Listen 443
    </IfModule>

    <IfModule mod_gnutls.c>
    Listen 443
    </IfModule>

    so schaut meine ports.conf aus


    und noch die error.log

    [Mon Dec 30 11:48:34.425450 2024] [core:notice] [pid 5861] AH00094: Command line: '/usr/sbin/apache2'
    [Mon Dec 30 11:50:07.589835 2024] [mpm_prefork:notice] [pid 5861] AH00170: caught SIGWINCH, shutting down gracefully
    [Mon Dec 30 11:50:46.546940 2024] [ssl:warn] [pid 822] AH01909: 127.0.1.1:443:0 server certificate does NOT include an ID which matches the server name
    [Mon Dec 30 11:50:46.572254 2024] [ssl:warn] [pid 822] AH01909: 127.0.1.1:443:0 server certificate does NOT include an ID which matches the server name
    [Mon Dec 30 11:50:48.177705 2024] [ssl:warn] [pid 868] AH01909: 127.0.1.1:443:0 server certificate does NOT include an ID which matches the server name
    [Mon Dec 30 11:50:48.181520 2024] [ssl:warn] [pid 868] AH01909: 127.0.1.1:443:0 server certificate does NOT include an ID which matches the server name
    [Mon Dec 30 11:50:48.192606 2024] [mpm_prefork:notice] [pid 868] AH00163: Apache/2.4.57 (Raspbian) OpenSSL/3.0.11 configured -- resuming normal operations
    [Mon Dec 30 11:50:48.192722 2024] [core:notice] [pid 868] AH00094: Command line: '/usr/sbin/apache2'


    Ich habe verschiedene Anleitungen versucht das ssl Zertifikat zu erstellen jedoch leider ohne Erfolg. Vielleicht kann mir jemand helfen ?


    Gruß


    Frank

  • Apache2 Https ssl Zertifikat oder mein Webserver vertraut mir nicht? Schau mal ob du hier fündig wirst!

  • Eine Frage habe ich noch, hast Du ein Zertifikat für Deinen Rechner (Letsencrypt, etc.), das Du einbinden willst, oder reicht Dir ein sogenanntes 'Snake Oil' Zertifikat (das sind die, die man im Browser manuell auf Vertrauen setzen muß.)?

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile /etc/apache2/ssl/apachessl.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apachessl.pem

    Das verstehe ich nämlich nicht. Was soll das bewirken?

  • Post by simonz (December 30, 2024 at 2:40 PM).

    This post was deleted by the author themselves: War ohne Belang. (December 31, 2024 at 6:54 AM).
  • Ok, Selbstzertifizierte Zertifkat. Verwende ich zu Hause auch immer.

    Aber was soll das mit dem curl https://ssl-config.mozilla.org/ffdhe2048.txt? Dort liegt doch nicht das selbsterstellte Zertifikat.

    Hast Du auch die richtigen Angaben beim erstellen des Zertifikats gemacht? Vor allem bei:

    Common Name (e.g. server FQDN or YOUR name) []:

    Die Angabe bei Common Name muß mit Deinem Rechner, auf dem der Webserver läuft, stimmen.
    Damit ich nicht für jeden Virtual Host und jeder Subdomain ein eigenes Zertifikat erstellen muß, verwende ich ein 'Sternchen'-Zertifikat:
    *.DOMAIN.TLD

    DOMAIN.TLD habe ich in der /etc/networks stehen. Ob das dafür gebraucht wird, keine Ahnung - ich schreibe da schon immer mein Netz rein.

    In den VirtualHosts-Konfiguration unter /etc/apache2/sites-available/ muß der Servername auch stehen:

    Code
    ServerName subdomain.rechnername.domain.tld
    # ServerAlias

    Über ServerAlias kann man ihm zusätzlich noch weitere Namen geben, auf die (d)er (VirtualJost) reagieren soll.

    Zertifikate erstelle und installiere ich folgender maßen:

    Vielleicht reicht Dir das schon.
    Wenn nicht nochmal melden.

  • Eigentlich sollte es funktionieren. Ich sehe ein paar Unschönheiten aber nichts was als Fehler gewertet wird.

    Was passiert den, wenn du über den Browser eine Seite mit https:// aufrufst?
    Wie aus dem Log ersichtlich, fehlt nur der Servername im Zertifikat-. Der sollte dort sein, muss aber nicht unbedingt dort sein. Ist auch als Warnung gekennzeichnet.

    Meine Antwort ist 21 und nicht 42. Oder anders gesagt: 0001 0101 statt 0010 1010

  • ich die Änderungen vorgenommen, nun bekomme ich auch Fehler:

    [Mon Dec 30 17:38:31.520386 2024] [ssl:info] [pid 3953:tid 3953] SSL Library Error: error:0A000416:SSL routines::sslv3 alert certificate unknown (SSL alert number 46)
    [Mon Dec 30 17:38:31.520412 2024] [ssl:info] [pid 3953:tid 3953] [client 178.26.0.233:64692] AH01998: Connection closed to child 2 with abortive shutdown (server 192.168.11.18:443)
    [Mon Dec 30 17:38:31.522318 2024] [ssl:info] [pid 3954:tid 3954] [client 178.26.0.233:64693] AH01964: Connection to child 3 established (server 192.168.11.18:443)
    [Mon Dec 30 17:38:31.523266 2024] [ssl:debug] [pid 3954:tid 3954] ssl_engine_kernel.c(2399): [client 178.26.0.233:64693] AH02044: No matching SSL virtual host for servername firstfacility.duckdns.org found (using default/first virtual host)
    [Mon Dec 30 17:38:31.536450 2024] [ssl:info] [pid 3954:tid 3954] [client 178.26.0.233:64693] AH02008: SSL library error 1 in handshake (server 192.168.11.18:443)
    [Mon Dec 30 17:38:31.536547 2024] [ssl:info] [pid 3954:tid 3954] SSL Library Error: error:0A000416:SSL routines::sslv3 alert certificate unknown (SSL alert number 46)
    [Mon Dec 30 17:38:31.536573 2024] [ssl:info] [pid 3954:tid 3954] [client 178.26.0.233:64693] AH01998: Connection closed to child 3 with abortive shutdown (server 192.168.11.18:443)
    [Mon Dec 30 17:39:28.855351 2024] [ssl:info] [pid 3951:tid 3951] [client 192.168.11.2:64698] AH01964: Connection to child 0 established (server 192.168.11.18:443)
    [Mon Dec 30 17:39:28.855379 2024] [ssl:info] [pid 3955:tid 3955] [client 192.168.11.2:64697] AH01964: Connection to child 4 established (server 192.168.11.18:443)
    [Mon Dec 30 17:39:28.856021 2024] [ssl:debug] [pid 3951:tid 3951] ssl_engine_kernel.c(2421): [client 192.168.11.2:64698] AH02645: Server name not provided via TLS extension (using default/first virtual host)
    [Mon Dec 30 17:39:28.856977 2024] [ssl:debug] [pid 3955:tid 3955] ssl_engine_kernel.c(2421): [client 192.168.11.2:64697] AH02645: Server name not provided via TLS extension (using default/first virtual host)
    [Mon Dec 30 17:39:28.867533 2024] [ssl:info] [pid 3951:tid 3951] [client 192.168.11.2:64698] AH02008: SSL library error 1 in handshake (server 192.168.11.18:443)
    [Mon Dec 30 17:39:28.867622 2024] [ssl:info] [pid 3951:tid 3951] SSL Library Error: error:0A000416:SSL routines::sslv3 alert certificate unknown (SSL alert number 46)
    [Mon Dec 30 17:39:28.867647 2024] [ssl:info] [pid 3951:tid 3951] [client 192.168.11.2:64698] AH01998: Connection closed to child 0 with abortive shutdown (server 192.168.11.18:443)
    [Mon Dec 30 17:39:28.871012 2024] [ssl:info] [pid 3955:tid 3955] [client 192.168.11.2:64697] AH02008: SSL library error 1 in handshake (server 192.168.11.18:443)
    [Mon Dec 30 17:39:28.871149 2024] [ssl:info] [pid 3955:tid 3955] SSL Library Error: error:0A000416:SSL routines::sslv3 alert certificate unknown (SSL alert number 46)
    [Mon Dec 30 17:39:28.871224 2024] [ssl:info] [pid 3955:tid 3955] [client 192.168.11.2:64697] AH01998: Connection closed to child 4 with abortive shutdown (server 192.168.11.18:443)


    Was mir etwas sorgen machen könnte wäre "SSL Library Error" oder ?

  • Was passiert den, wenn du über den Browser eine Seite mit https:// aufrufst?

    Bis auf meine laufen alle. im IE wird folgendes angezeigt:

    net::ERR_CERT_AUTHORITY_INVALID

    Subject: obi-wan

    Issuer: obi-wan

    Expires on: 30.12.2025

    Current date: 30.12.2024

    PEM encoded chain:-----BEGIN CERTIFICATE-----
    MIIDwTCCAqmgAwIBAgIUEO5rZ7qeB9owBNZn0SaseT4vjJ0wDQYJKoZIhvcNAQEL
    BQAwcDELMAkGA1UEBhMCREUxGDAWBgNVBAgMD1JoZWlubGFuZC1QZmFsejEXMBUG
    A1UEBwwOS2Fpc2Vyc2xhdXRlcm4xDTALBgNVBAoMBFN0YXIxDTALBgNVBAsMBFdh
    cnMxEDAOBgNVBAMMB29iaS13YW4wHhcNMjQxM


    Wie aus dem Log ersichtlich, fehlt nur der Servername im Zertifikat-. Der sollte dort sein, muss aber nicht unbedingt dort sein. Ist auch als Warnung gekennzeichnet.

    Habe ich geändert aber ohne Erfolg

  • So, nach einem kurzen Ausflug zum Getränkehändler habe ich die vorhin begonnene Anleitung erstellt: Webserver Apache 2.4 mit SSL. Evtl. hilft sie Dir.

  • Ich würde die beiden Zertifikate mittels diesen Befehls erzeugen.

    Code
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./apache-selfsigned.key -out ./apache-selfsigned.crt

    Und dann in die entsprechenden Verzeichnisse kopieren. Bei der Erzeugung wird man nach einem FQDN gefragt, denn sollte man richtig angeben.

    Danach wäre noch der Server-Namen in der Apache-Default-Config eingeben. Hier den FQDN ebenfalls angeben.
    Dann sind auch die beiden letzten Warnungen weg. Jetzt meutert noch der Browser, dass man einen key verwendet, der nicht beglaubigt wurde.

    Und das war es.......

    Meine Antwort ist 21 und nicht 42. Oder anders gesagt: 0001 0101 statt 0010 1010

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!