Schwierigkeiten bei der Konfiguration des Serverschutzes mithilfe eines Clientzertifikats

Fragen zum WAPT-Server / Anfragen und Hilfe im Zusammenhang mit dem WAPT-Server
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
lrobinot
Nachrichten: 2
Anmeldung: 29. Oktober 2019 - 08:55 Uhr

10. Dezember 2020 – 8:34 Uhr

Hallo, ich bin bei Schritt 2 unserer Installation.

Ich möchte unseren WAPT-Server, der über das Internet erreichbar ist, mit Hilfe der Clientzertifikatsauthentifizierung schützen.

Ich glaube, ich habe die Dokumentation befolgt https://www.wapt.fr/fr/doc/wapt-securit...ation.htmlWas übrigens nicht ganz mit den von Version 1.8.2.7334 generierten nginx-Dateien übereinstimmt. Nachdem ich die Zeile "include /etc/nginx/certificate-auth.conf;" an den entsprechenden Stellen hinzugefügt habe, kann ich "wapt-get update" ausführen, aber der Start und der Authentifizierungsversuch über die Konsole führen zu einem 401-Fehler. Auf dem WAPT-Server finde ich in den nginx-Logs Folgendes:

xxxx - admin [07/Dez/2020:17:19:37 +0100] "POST /api/v3/login HTTP/1.0" 401 195 "-" "waptconsole/1.8.2.7334"

Meine nginx-Konfigurationsdatei sieht wie folgt aus:

Code: Alle auswählen

server {
    listen                      80;
    listen                      [::]:80;
    server_name                 _;
    return 301                  https://$host$request_uri;
}

server {
    listen                      443 ssl;
    server_name                 _;

    ssl_certificate             "/opt/wapt/waptserver/ssl/cert.pem";
    ssl_certificate_key         "/opt/wapt/waptserver/ssl/key.pem";
    ssl_protocols               TLSv1.2;
    ssl_dhparam                 /etc/ssl/certs/dhparam.pem;
    ssl_prefer_server_ciphers   on;
    ssl_ciphers                 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    ssl_stapling                on;
    ssl_stapling_verify         on;
    ssl_session_cache           none;
    ssl_session_tickets         off;

    ssl_client_certificate "/opt/wapt/conf/ca-wapt.public.geovar.net.crt";
    ssl_verify_client optional;

    gzip_min_length     1000;
    gzip_buffers        4 8k;
    gzip_http_version   1.0;
    gzip_disable        "msie6";
    gzip_types          text/plain text/css application/json;
    gzip_vary           on;

    index index.html;

    location / {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        # be sure these headers are not forwarded
        proxy_set_header X-Ssl-Client-Dn  "";
        proxy_set_header X-Ssl-Authenticated  "";

        client_max_body_size 4096m;
        client_body_timeout 1800;

        location /static {
            alias "/opt/wapt/waptserver/static";
        }
        
        location /ssl {
            alias "/var/www/ssl";
        }
        
        location ~ ^/(wapt/waptsetup-tis.exe|wapt/waptagent.exe|wapt/waptdeploy.exe|sync.json|rules.json)$ {
            add_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
            add_header Pragma "no-cache";

            include /etc/nginx/certificate-auth.conf;

            root "/var/www";
        }

        location ~ ^/(wapt/.*|waptwua/.*|wapt-diff-repos/.*)$ {
            add_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
            add_header Pragma "no-cache";
    
            include /etc/nginx/certificate-auth.conf;

            root "/var/www";
        }
        
        location ~ ^/(wapt-host/.*)$ {
            log_not_found off;
            add_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
            add_header Pragma "no-cache";
    
            include /etc/nginx/certificate-auth.conf;

            root "/var/www";
        }

        location / {
            add_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
            add_header Pragma "no-cache";
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;

            client_max_body_size 4096m;
            client_body_timeout 1800;
    
            location /add_host_kerberos {
                return 403;
            }
     
            location /wapt-host/Packages {
                    return 403;
            }

            location / {
                add_header X-Forwarded-List $http_x_forwarded_for;
                add_header X-Remote-IP $remote_addr;

                include /etc/nginx/certificate-auth.conf;

                proxy_pass http://127.0.0.1:8080;
            }

            location /socket.io {
                proxy_http_version 1.1;
                proxy_buffering off;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";

                include /etc/nginx/certificate-auth.conf;

                proxy_pass http://127.0.0.1:8080/socket.io;
            }
        }
    }
}
Ich bin etwas verwirrt darüber, welche Anfragen geschützt werden müssen und welche nicht. Wenn ich beispielsweise eine Anfrage öffne… https://my-server/ Im Browser erhalte ich die Antwort eines 401-Fehlers, wodurch ich nicht zum potenziellen Verzeichnis /store navigieren kann ;)

Vielen Dank für Ihre unschätzbare Hilfe.
Gesperrt