Heim > System-Tutorial > LINUX > Hauptteil

Nginx-Version unter Linux und Unix ausblenden

WBOY
Freigeben: 2024-02-09 19:50:29
nach vorne
704 Leute haben es durchsucht

Verwenden Sie CLI, um die aktuelle Nginx-Version anzuzeigen

Nginx zeigt die Version auf Fehlerseiten und im Antwortheaderfeld „Server“ an. Wir können dies mit dem folgenden Befehl überprüfen: Beispielausgabe:

$ curl -I https://your-domain
$ curl -I https://www.cyberciti.biz
HTTP/2 200 server: nginx/1.17.10 (Ubuntu)date: Tue, 23 Jun 2020 09:36:49 GMTcontent-type: text/html; charset=UTF-8strict-transport-security: max-age=15768000x-whome: l-ncbz01-mg-wg
Nach dem Login kopieren

Dies ist die Ausgabe meiner HTTP/502-Fehlerseite mit den folgenden Informationen:

Nginx-Version unter Linux und Unix ausblenden

Verwenden Sie die server_tokens-Direktive, um die Nginx-Version auszublenden

Sie müssen server_tokens auf „off“ setzen, um die Nginx-Serverversion auf Linux- und Unix-ähnlichen Systemen auszublenden. Bearbeiten Sie Ihre nginx.conf-Datei mit einem Texteditor wie vim/nano:

Wir können server_tokens nur im http-, Server- oder Standortkontext festlegen. Ich füge zu meinem http-Bereich hinzu: So sieht es aus:

$ sudo vim /etc/nginx/nginx.confserver_tokens off;
http {        ## Basic Settings ##        charset utf-8;        sendfile on;        tcp_nopush on;        tcp_nodelay on;        log_not_found off;        keepalive_timeout 65;        types_hash_max_size 2048;        client_max_body_size 16M;        include /etc/nginx/mime.types;        default_type application/octet-stream;        ## Hide Nginx version ##        server_tokens   off;        ## Security headers for Nginx ##         add_header Strict-Transport-Security "max-age=15768000" always;        add_header X-Content-Type-Options "nosniff" always;        add_header X-Frame-Options "SAMEORIGIN" always;        add_header X-Xss-Protection "1; mode=block" always;        add_header Referrer-Policy  strict-origin-when-cross-origin;        add_header Feature-policy "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'";        add_header Content-Security-Policy   "default-src 'self' http: https: data: blob: 'unsafe-inline'" always;        ## SSL Settings ##        ssl_protocols TLSv1.3;        access_log /var/log/nginx/access.log;        error_log /var/log/nginx/error.log;        ## Virtual Host Configs ##        include /etc/nginx/conf.d/*.conf;        include /etc/nginx/sites-enabled/*;}
Nach dem Login kopieren

Starten Sie den Nginx-Server normal neu oder laden Sie ihn neu:

sudo nginx -tsudo nginx -s reload
Nach dem Login kopieren

Überprüfen Sie, ob die Nginx-Version ausgeblendet ist

Verwenden Sie den Curl-Befehl wie folgt: Sehen Sie, mein Nginx-Server zeigt keine Version an:

$ curl -I https://your-domain-name-here
$ curl -I https://www.cyberciti.biz

HTTP/2 200 server: nginxdate: Tue, 23 Jun 2020 09:43:17 GMTcontent-type: text/html; charset=UTF-8strict-transport-security: max-age=15768000
Nach dem Login kopieren

Firefox hat außerdem bestätigt, dass ich auch die Nginx-Version erfolgreich ausgeblendet habe:

Nginx-Version unter Linux und Unix ausblenden

Andere mögliche Werte für die Nginx-Version ausblenden

Die Syntax lautet wie folgt: Die Standardeinstellungen unter Linux, *BSD und Unix lauten wie folgt:

server_tokens on | off | build | string;
server_tokens on;
Nach dem Login kopieren

Versionen aus Server-Headern und Fehlerseiten entfernen

Wir können die Ausgabe der Nginx-Version aktivieren oder deaktivieren, indem wir den folgenden Wert ändern:
on: Zeigt die Versionsnummer an.
aus: Anzeige der Versionsnummer ausschalten.
Build: Stellen Sie sicher, dass wir einen Build-Namen sowie die Nginx-Version ausgeben. Sie müssen über die Nginx-Version 1.11.10 verfügen.
Zeichenfolge: Nur für kommerzielle Abonnements verfügbar. Ab Version 1.9.13 ist es möglich, eine Zeichenfolge mit einer Variablen zu verwenden, um die Signatur- und „Server“-Antwort-Header-Feldwerte auf der Einstellungsfehlerseite anzuzeigen. Eine leere Zeichenfolge deaktiviert die Ausgabe des Felds „Server“.

Legen Sie eine benutzerdefinierte Versionsnummer in Nginx fest

Zum Beispiel können Benutzer eines kommerziellen Abonnements (Nginx Plus) eine gefälschte Serverversion und einen benutzerdefinierten Namen festlegen: Laden Sie den Nginx-Server mit dem Befehl „service“ oder dem Befehl „systemctl“ neu. Testen Sie ihn ebenfalls mit dem Befehl „curl“ wie folgt:

;$ service nginx reload$ curl -I http://127.0.0.1/
Nach dem Login kopieren
Nginx-Version unter Linux und Unix ausblenden

Die versteckte Version ist sicher im Dunkeln

Ja, es ist Sicherheit durch verdeckte Funktionalität. Es handelt sich um eine der Methoden der Tiefenverteidigung. Es sollte jedoch nicht die primäre Form der Verteidigung sein. Sie müssen sicheren Code schreiben. Installieren Sie eine Firewall, insbesondere eine WAF (Web Application Firewall). Es gibt keinen Grund, die Nginx-, PHP- oder Python-Version offenzulegen, da sie für einen Angreifer nützliche Informationen sein könnten. Bedenken Sie, dass Linux/Unix-Betriebssysteme, Web-Apps/Nginx sicher bleiben sollten, unabhängig davon, ob die Nginx-Version öffentlich ist oder nicht. Allerdings bieten wir Angreifern durch die Veröffentlichung von Versionsnummern keinen Vorteil.

Das obige ist der detaillierte Inhalt vonNginx-Version unter Linux und Unix ausblenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lxlinux.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage