OWASP ZAP hat festgestellt, dass der Nginx-Server anfällig für „Proxy Disclosure“ ist. Für Hilfe bei der Behebung dieses Problems ist man sehr dankbar.

OWASP ZAP hat festgestellt, dass der Nginx-Server anfällig für „Proxy Disclosure“ ist. Für Hilfe bei der Behebung dieses Problems ist man sehr dankbar.

Ich habe auf meiner Website einen OWASP ZAP ausgeführt und dieser hat unter anderem eine Proxy-Offenlegungswarnung ausgelöst.

Proxy-Offenlegungswarnunghttps://www.zaproxy.org/docs/alerts/40025/

OWASP-Beschreibung 1 Proxy-Server wurden erkannt oder gefingerprintet. Diese Informationen helfen einem potenziellen Angreifer, festzustellen

  • Eine Liste von Zielen für einen Angriff auf die Anwendung.

  • Mögliche Schwachstellen auf den Proxyservern, die die Anwendung bedienen.

  • Das Vorhandensein oder Fehlen proxybasierter Komponenten, die dazu führen könnten, dass Angriffe auf die Anwendung erkannt, verhindert oder abgeschwächt werden.

Vorgeschlagene Lösung
Deaktivieren Sie die Methode „TRACE“ auf den Proxyservern sowie auf dem ursprünglichen Web-/Anwendungsserver. Deaktivieren Sie die Methode „OPTIONS“ auf den Proxyservern sowie auf dem ursprünglichen Web-/Anwendungsserver, wenn sie nicht für andere Zwecke benötigt wird, wie etwa „CORS“ (Cross Origin Resource Sharing). Konfigurieren Sie die Web- und Anwendungsserver mit benutzerdefinierten Fehlerseiten, um zu verhindern, dass im Falle von HTTP-Fehlern, wie etwa „TRACK“-Anfragen für nicht vorhandene Seiten, „fingerabdruckbare“ produktspezifische Fehlerseiten an den Benutzer weitergegeben werden. Konfigurieren Sie alle Proxys, Anwendungsserver und Webserver, um die Offenlegung der Technologie- und Versionsinformationen in den HTTP-Antwortheadern „Server“ und „X-Powered-By“ zu verhindern.

Versuche, die ich bisher gemacht habe: Ich bin dem Rat von diesem gefolgtWebseiteund habe eine Bedingung zum Deaktivieren von PATCH, TRACE und OPTIONS zu nginx.conf hinzugefügt. Ich bin nicht sicher, ob das funktioniert und ob ich es richtig gemacht habe. Irgendwelche Ratschläge zur Behebung von „Konfigurieren Sie alle Proxys, Anwendungsserver und Webserver, um die Offenlegung der Technologie- und Versionsinformationen in den HTTP-Antwortheadern „Server“ und „X-Powered-By“ zu verhindern“? Danke.

http-request-methods.html server{ if ($request_method ~ ^(PATCH|TRACE|OPTIONS)$){ return 405; } }

nginx.conf:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {
        include /etc/nginx/proxy.conf;
        server_tokens off;

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    client_body_timeout 10;
    types_hash_max_size 2048;

    upstream portal {
            server 127.0.0.1:5002;
    }

    upstream api {
            server 127.0.0.1:5000;
    }
    
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml applicati>

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    server{
            if ($request_method ~ ^(PATCH|TRACE|OPTIONS)$){
            return 405;
            }
    }
}

Antwort1

Ich denke, Sie sind auf dem richtigen Weg.

Gibt es Ratschläge zur Behebung des Problems „Konfigurieren Sie alle Proxys, Anwendungsserver und Webserver so, dass die Offenlegung der Technologie- und Versionsinformationen in den HTTP-Antwortheadern „Server“ und „X-Powered-By“ verhindert wird“? Danke.

Server-Tokens aus;

Proxy_hide_header X-Powered-By;

Laden Sie dann Nginx neu.

Möglicherweise möchten Sie einen weiteren Test ausführen, um sicherzustellen, dass Sie die Schwachstellen behoben haben.

verwandte Informationen