Der "Strict-Transport-Security" HTTP-Header ist nicht auf mindestens "15552000" Sekunden eingestellt

Der “Strict-Transport-Security” HTTP-Header ist nicht auf mindestens “15552000” Sekunden eingestellt. FĂŒr mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den Sicherheitshinweisen erlĂ€utert ist.

Konnte dieses Problem noch nicht gelöst werden.
Danke

Editiere die Config-Datei deines Webservers. Ich habe eine VirtualHost Datei fĂŒr meine Cloud mit der Zeile

Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains; preload”

Ohne jeden Vorwurf, aber das ist kein ‘Problem’ sondern vielmehr eine ‘Aufgabe mit Lösungsweg’ (wie ganz unzweifelshaft online nachlesbar sowie von den Entwicklern von Nextcloud gut und ausfĂŒhrlich beschrieben).

Geht mir ja manchmal auch so, aber es gilt wie so oft: Lesen macht nicht unbedingt dĂŒmmer

:wink:

Die genaue und m.E. gut nachvollziehbare Beschreibung der technischen Lösung durch Anpassung der jeweils eigenverantwortlichen (!) Konfigurierung steht auf der (bereits durch den o.g. Sicherheitshinweis per URL aufgefĂŒhrten) Seite im Web bereit:

NC 16 - Hardening and security guidance - Enable HTTP Strict Transport Security

Bitte möglichst die ganze (englischsprachige) Seite mit allen Hinweisen lesen und danach auch möglichst angemessen umsetzen. Daher kommt vermutlich auch der andere (durchaus richtige, aber nur auszugsweise gemachte) Vorschlag.

Mit Verlaub eine Mahnung zur Vorausschau und mit der Bitte um geeignete Beachtung:
Es sind Grundkenntnise in der Systemverwaltung d.h. system administration unbedingt anzuraten, wozu auch der geĂŒbte Umgang mit der (notwendiger Weise einzusetzenden) Befehlszeile d.h. command line sowie Verwendung eines Text-Editors d.h. plain text editor sowie der grundsĂ€tzliche Aufbau (zumindest aber nicht nur) einer Konfigurierungsdatei fĂŒr den vermutlichen Apache 2.4 Web-Server (oder alternativ der nginx Web-Server) gehören. “Vorsicht ist die Mutter der Porzellankiste” und im Zweifelsfall besser eine Person des jeweils eigenen Vertrauens (oder der dann, meist wie ĂŒblich, geldlich zu vergĂŒtenden, vertraglichen Verpflichtung zu QualitĂ€t und Haftung) fragen, die sich wirklich (!) damit auskennt.

Ganz frei und unverbindlich möchte ich das Das Debian Administrationshandbuch “Debian Jessie, von der Entdeckung zur Beherrschung” empfehlen, welches trotz ‘Debian 8 Jessie’ Inhalts (und damit gewisser, unvermeidlicher) Abweichungen auch heute noch gut auf z.B. Debian 10.1 Buster angewendet werden kann. Andere Quellen natĂŒrlich unbenommen und Benutzung freigestellt.
:innocent:

Also nichts fĂŒr ungut und “nicht meckern, sondern ran an den Speck”. Ich hoffe, es hilft und wĂŒnsche viel Erfolg.

2 Likes

Vielen Dank

Habe die config Datei geÀndert.
aber ohne Erfolg
‘max-age=15552000; includeSubDomains; preload’
Ist die Position wichtig ?
danke

Was passiert wenn ich da nichts mehr Àndere
danke

@schweg Nun ja, welche Datei genau ist es denn? Welche Position ist bitte gemeint?

So etwas nur so ungefĂ€hr anzudeuten, fĂŒhrt leider zu einem Katz- und Maus-Spiel im Forum, wobei es dumme oder gefĂ€hrliche MissverstĂ€ndnisse geben kann. Damit ist niemandem geholfen. Wir brauchen genauere Angaben bitte


Mit Hilfe der NC App Issue Template lassen sich die nötigen Angaben fĂŒr einen Fehlerbericht d.h. GitHub issue report (nur bei ausreichendem Grund zur Vermutung eines Fehlers, denn die Fragen in dieser Sache hier zielen auf VerstĂ€ndnis und eigenverantwortliche Benutzung, aber anscheinend nicht auf Fehler in NC ab) oder auszugsweise eben auch fĂŒr eine reine Forums-Frage gewinnen.

Ohne eine ausreichende Auskunft ist Hilfe nur schwer möglich. Zumindest die Angaben zum Server sollten dann hier im Forum (Textausschnitt kopieren d.h. copy & paste) eingetragen werden, dabei aber bitte vorher auf evtl. ungewĂŒnschte private Informationen achten.

Mit Issue Template dann vorschlagsweise so wie hier beschrieben vorgehen:

  1. Im Browser im entsprechenden NC Konto unter ‘Einstellungen’ im Bereich ‘Verwaltung’ d.h. Administration auf der linken Seite den MenĂŒ-Eintrag Issue reporting anwĂ€hlen.
  2. Im Browser-Fenster ‘Issue reporting’ dann ‘Affected component’ → ‘Nextcloud server’ auswĂ€hlen. Anschließend mit ‘Next’ weiter schalten.
  3. Im Browser-Fenster ‘Issue reporting - Issue description’ dann (soweit möglich) mehr oder minder sinnvolle EintrĂ€ge als Freitext machen. Anschließend mit ‘Next’ weiter schalten.
  4. Im Browser-Fenster ‘Issue reporting - Server configuration detail’ dann (soweit möglich) die Angaben mehrheitlich so belassen, wie automatisch befĂŒllt (zu den betreffenden Angaben siehe das Beispiel unten). Anschließend mit ‘Next’ weiter schalten.
  5. Im Browser-Fenster ‘Issue reporting - Client configuration’ dann (in diesem Fall) einfach mit ‘Next’ weiter schalten.
  6. Im Browser-Fenster ‘Issue reporting - Logs’ dann (soweit möglich) die Angaben zum Web server error log(in diesem Fall erst bei evtl. spĂ€teren Fehlermeldungen vermutlich sinnvoll) als Freitext und aus der jeweiligen Protokolldatei kopierten Text-Auszug eintragen. Anschließend mit ‘Next’ weiter schalten.
  7. Im Browser-Fenster ‘Issue reporting - Check issue report’ dann die Angaben (in diesem Fall) aus dem Bereich des gesamten Abschnitts Server configuration detail im formatierten Text (oder alternativ darunter im Scroll-Bereich aus dem gesamten Abschnitt ##Server configuration detail , d.h. bis zur Zeile ## Client configuration herab aber ohne diese im Quelltext d.h. plain text Bereich) heraus kopieren. Dabei den in die Zwischenablage kopierten Text soweit möglich (s.o.) unverĂ€ndert lassen und in den Forums-Beitrag einsetzen. Dort dann im Alternativfall als ‘vorformatierter Text’ (d.h. hilfweise das bekannte MenĂŒ-Symbol </> nutzen) einzusetzen.
  8. Beispielhaft sind die entsprechenden Angaben hier (ohne Inhalt) nachstehend nochmals aufgefĂŒhrt, um MissverstĂ€ndnisse vermeiden zu helfen.

Server configuration detail

  • Operating system
  • Webserver
  • Database
  • PHP version
  • Nextcloud version
  • Updated from an older Nextcloud/ownCloud or fresh install
  • Where did you install Nextcloud from
  • Signing status
  • List of activated apps
  • Configuration (config/config.php)
  • Are you using external storage, if yes which one
  • Are you using encryption
  • Are you using an external user-backend, if yes which one

Soweit dazu.

@schweg Besser aber wÀre in diesem Fall vermutlich, sich mit einer o.g. Person vor den eigenen Bildschirm zu setzen.

Nix vielleicht? Oder aber unerwartet viel? Unter UmstĂ€ndem nach einem Neustart alles nur noch “Tote Hose”, weil ein Fehler in der Konfiguration manchmal dann erst wirksam werden?

Keine Ahnung, wir alle sind keine Wahrsager (denke ich mal). Benötigt technische Angaben (s.o.).

Üblicher Weise mĂŒssen die betroffenen Dienste d.h. services auf dem betroffenen Rechner oder der VM d.h. virtual machine erstmal die neue Konfiguration ĂŒberhaupt einlesen, also neu laden d.h. reload oder restart oder auch stop gefolgt von start (aber mit dem vorangestellten richtigen Befehl z.B. systemctl o.Ă€. und mit dem richtigen Dienstnamen). Vermutlich mal den Apache2-Web-Server entsprechend anstoßen.

Übrigens (wie bereits oben frĂŒher schon erwĂ€hnt) gilt es, etwas Vorsicht anzuwenden:

Apache HTTP Server Version 2.4 - Syntax der Konfigurationsdateien

Sie können die Syntax Ihrer Konfigurationsdateien auf Fehler prĂŒfen, ohne den Server zu starten, indem Sie apachectl configtest oder die Befehlszeilenoption -t verwenden.

Prinzipiell wĂ€re Hilfe hier oder anderswo möglich. Dazu mĂŒssten wir hier aber mal wissen, was genau fĂŒr eine Systemumgebung vor Ort tatsĂ€chlich vorliegt. Apache? Nginx? systemd? BSD? Linux? Ubuntu? Debian? TatsĂ€chliche Konfigurierung und Versionen der beteiligten Software-Pakete?

Benötigt technische Angaben (s.o.)


Hoffe damit wenigstens etwas geholfen zu haben.

Nachdem ich diese Antwort bekommen habe:

eehmke

17h

Editiere die Config-Datei deines Webservers. Ich habe eine VirtualHost Datei fĂŒr meine Cloud mit der Zeile

Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains; preload”

habe ich meine config-datei angepasst.
jetzt wollte ich fragen in welcher zeile das eingetragen sein muss

danke

Hallo,

also mich hat die Anleitung in der Hilfe bei Nextcloud auch nicht schlauer gemacht, obwohl ich sie zehn mal in Deutsch gelesen habe. Ich bin auch eher noch Einsteiger, sowohl in Linux als auch in NextCloud und fĂŒr jede direkte Hilfe dankbar ohne gleich ganze Kompendien gelesen zu haben.

Deshalb hier meine kleine Anleitung unter BerĂŒcksichtigung meiner Konfiguration natĂŒrlich.

HTTP Strict Transport Security einrichten:
ZunÀchst die modules_header nachinstallieren
sudo a2enmod headers

Neustart des Apache mit
sudo systemctl restart apache2

Dann den Virtuell Host File mit dem Editor nano fĂŒr den Apache-Server anpassen.
Der File heißt u.U. auch nur default-ssl.conf:
sudo nano /etc/apache2/sites-enabled/000-default-le-ssl.conf

Am Ende - aber zwischen <VirtualHost *:443> 
 ServerName deine.nextcloud-url.com 

</VirtualHost> - einfĂŒgen:

<IfModule mod_headers.c>
   Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"*
</IfModule>

Nochmals Neustart des Apache mit
sudo systemctl restart apache2

Funktion umfĂ€nglich prĂŒfen.
Danach sollte die Warnung weg sein. Und Deine Nextcloud wieder ein StĂŒck sicherer. Ich hoffe, es hilft Dir.

Beste GrĂŒĂŸe
DD

4 Likes

@doctordre Prinzipiell kann man so vorgehen und in der KĂŒrze liegt die WĂŒrze.

Trotz allem möchte ich nochmals anraten, vor einem restart die Korrektheit der geĂ€nderten Konfigurierung mit apachectl configtest zu prĂŒfen.

2 Likes

Vielen Dank doctordre
dank ihrer Hilfe konnte ich die Fehlermeldung mir dem Header beheben.
jetzt hÀtte ich noch eine Frage

  • PHP-OP Cache-Modul
    Habe von meinem Provider einen tip bekommen diesen Eintrag in der config.php
    vorzunehmen:
    Einfach ‘memcache.local’ => ‘\OC\Memcache\APCu’, der config/config.php hinzufĂŒgen
    ich habe das so eingetragen:
    ‘memcache.local’ => ‘\OC\Memcache\APCu’,
    kriege dann aber eine Fehlermeldung. muss ich einen anderen Pfad eintragen.
    oder die ganze syntagx anderst schreiben.
    danke und schöne GrĂŒsse
    Franz

Dazu haben wir folgenden Online Hilfe Artikel bei Nextcloud selbst gefunden:
https://help.nextcloud.com/t/nextcloud-merkert-wegen-nicht-aktivem-php-opcache/31586/14

1 Like

Da hat @doctordre in der Tat eine gute und sehr hilfreiche Kurzanleitung produziert.

@schweg Eine “Lösung” (mit Haken :white_check_mark:) oder eine kleine Geste der Zufriedenheit als ein “dieser Beitrag gefĂ€llt mir” (mit einem Klick auf das Herz :heart: am unteren Rand) bei einem oder mehrerer der obigen BeitrĂ€ge wĂŒrde vermutlich @doctordre und @eehmke beide freuen. Der Applaus wĂ€re fĂŒr alle beide ein schöner Dank und genug Motivation fĂŒr kĂŒnftige Ă€hnliche Hilfestellungen

:smiley:


Meine etwas breiter angelegten Antworten sollen oftmals eher zur Selbsthilfe und zur Hilfe durch Selbststudium anregen. Außerdem sind mache Kochrezepte (die obige Kurzanleitung hier mal ausdrĂŒcklich ausgenommen) fĂŒr den jeweils konkreten Fall vielleicht ganz schön, aber nicht immer fĂŒr alle (oder wenigstens fĂŒr die Mehrzahl der realistischen) FĂ€lle hilfreich. Meiner Ansicht nach sollte man in einem offenen Forum möglichst MissverstĂ€ndnisse vermeiden helfen und dazu die breitere Öffentlichkeit mit einbeziehen, als nur den einen Fall kurz abzuhandeln.

Andere persönliche Ansichten und jegliche echte Hilfsangebote, wie kurz und knapp oder wie weitschweifend sie auch seien, natĂŒrlich unbenommen. Wir sind hier (fast) alle freiwillig unterwegs.


Einrichtung der Cache-Hilfsspeicher:

You may use both a local and a distributed cache. Recommended caches are APCu and Redis. After installing and enabling your chosen memcache, verify that it is active by running PHP version and information.

Die Anleitung zur Konfigurierung der Cache-Parameter beachten, dabei möglichst nicht durch die Optionen fĂŒr verteilte NC Server und grĂ¶ĂŸere NC Instanzen verwirren lassen. Vieles braucht die Haus-Cloud nicht, wĂ€re oft sogar hinderlich.

Und dazu bitte vorher die entsprechenden Pakete verfĂŒgbar machen:

Nach Möglichkeit den redis-server auf derselben Maschine wie den NC Server laufen lassen und die Uni*x sockets verwenden und nicht eine Netzwerkadresse mit port 6379 angeben, wie oft beschrieben. Letzteres ist nur sinnvoll, wenn viele verschiedene verteilte andere Dienste auch mit mehreren NC Server Installierungen zusammen verteilt in einem lokalen Netzwerk auf einen Cache-Server (und vermutlich auch parallel auf einen getrennten Datenbank-Server) zugreifen sollen.

Aber wenn es trotzdem mal unbedingt ‘Memcached’ sein sollte:

Hoffe, damit wenigstens etwas geholfen zu haben.
:smile:

2 Likes

Hallo, habe foldenden Eintrag bei mir in der httpd.conf (muss in SUSE wahrscheinlich hier sein) gemacht. Aber das Problem mit dem HTTP-Header bleibt.

IfModule mod_headers.c>
Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains”
/IfModule>

(die spitze Anfangsklammer vor IfModule musste ich entfernen da die Zeile hier sonst nicht angezeigt wird.)
Das Modul header ist geladen und apche habe ich danach auch neu gestartet. Ich komme einfach nicht weiter.
Hat noch jemand irgend eine Idee???

Hallo,

wenn du einen solchen code Posten willst findest du oben beim schreiben einer antwort hier
Neben F K Links " das hier ----> </>
Makkiere den Text/code und klick drauf danach auf antorten dann kann man den code Normal sehen :wink:

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; preload"
Redirect 301 /.well-known/carddav /remote.php/dav
</IfModule>
1 Like

Hallo @hackcat, hast du nur Apache im Einsatz, oder gibt es noch einen Reverse Proxy (z.B. nginx)?

Über die Seite https://securityheaders.com/ kannst du Deine Header prĂŒfen und gegebenenfalls herausfinden, ob Header doppelt ĂŒbergeben werden.

Wenn Header doppelt ĂŒbergeben werden, dann auf jeden Fall die Apache/nginx configs und gegebenenfalls auch die .htaccess prĂŒfen.

Danke fĂŒr den Tip. :slightly_smiling_face:

Hi CFelix,
also es lÀuft bei mir noch der Miniserver von Webmin. Da kann ich in der config aber keinen Header-Eintrag finden. Auch das Feld im Webinterfache der Webminkonfiguration -> ZusÀtzliche HTTP-Header ist leer. Und ein weiterer Webserver lÀuft nicht.
Ich habe ihn dan auch mal runter gefahren und apache2 neu gestartet (natĂŒrlich mit den Header Eintrag in meiner httpd.conf. Leider alles beim Alten.
Der Scanhinweis von dir sieht bei mir aber erschreckend aus.
-Strict-Transport-Security - rot
-Content-Security-Policy - rot
-X-Frame-Options - rot
-X-Content-Type-Options - rot
-Referrer-Policy - rot
-Feature-Policy - rot

Hier mal meine httpd.conf (thx [NextGeneration])

Include /etc/apache2/uid.conf
Include /etc/apache2/server-tuning.conf
ErrorLog /var/log/apache2/error_log
<IfDefine !SYSCONFIG>
  Include /etc/apache2/loadmodule.conf
</IfDefine>
Include /etc/apache2/listen.conf
Include /etc/apache2/mod_log_config.conf
<IfDefine !SYSCONFIG>
  Include /etc/apache2/global.conf
</IfDefine>
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf
Include /etc/apache2/mod_reqtimeout.conf
Include /etc/apache2/mod_cgid-timeout.conf
Include /etc/apache2/mod_usertrack.conf
Include /etc/apache2/mod_autoindex-defaults.conf
TypesConfig /etc/apache2/mime.types
Include /etc/apache2/mod_mime-defaults.conf
Include /etc/apache2/errors.conf
Include /etc/apache2/ssl-global.conf
Include /etc/apache2/protocols.conf
<Directory />
    Options None
    AllowOverride None
    <IfModule !mod_access_compat.c>
        Require all denied
    </IfModule>
    <IfModule mod_access_compat.c>
        Order deny,allow
        Deny from all
    </IfModule>
</Directory>
AccessFileName .htaccess
<Files ~ "^\.ht">
    <IfModule !mod_access_compat.c>
        Require all denied
    </IfModule>
    <IfModule mod_access_compat.c>
        Order allow,deny
        Deny from all
    </IfModule>
</Files>
DirectoryIndex index.html index.html.var
Include /etc/apache2/default-server.conf
IncludeOptional /etc/apache2/vhosts.d/*.conf
<VirtualHost _default_:443>
SSLCertificateFile /etc/ssl/private/colossus.crt
SSLCertificateKeyFile /etc/ssl/private/colossus.key
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
ServerName Nextcloud
DocumentRoot /srv/www/htdocs/nextcloud
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /usr/share/phpMyAdmin
ServerName phpmyadmin
</VirtualHost>
ServerName 127.0.0.1

Der Port 80 ist nur intern erreichbar, den abe ich in der Firitzbox geblockt.
In der .htaccess im Nextclodverzechniss sind zwei Header-EintrÀge.

<FilesMatch "\.(css|js|svg|gif)$">
    Header set Cache-Control "max-age=15778463"
 </FilesMatch>

und

<FilesMatch "\.woff2?$">
    Header set Cache-Control "max-age=604800"
</FilesMatch>

Ich habe aber das GefĂŒhl, dass die .htaccess ignoriert wird.

Gruß hackcat

Hi NexGeneration,
ich sehe gerade du nutzt CardDAV. Die Fehler habe ich ebenfals.

  • Dein Web-Server ist nicht richtig eingerichtet um “/.well-known/caldav” aufzulösen. Weitere Informationen findest Du in der Dokumentation.
  • Dein Web-Server ist nicht richtig eingerichtet um “/.well-known/carddav” aufzulösen. Weitere Informationen findest Du in der Dokumentation.

Habe mal testweise deinen Eintrag in meine httpd.conf ĂŒbernommen, brachte nach Serverneustart allerding keine Änderung, weder beim Header Hinweis noch beim carddav Hinweis.
Gruß hackcat

Vielen Dank fĂŒr Deine detaillierte ErklĂ€rung. Ein kurzen Nachschub möchte ich mir nur erlauben:

Bei mir hat apache2 eine Fehlermeldung ausgegeben. Eine Anpassung hat jedoch dann erfolgreich geklappt:

Header always set Strict-Transport-Security "max-age=15552000; preload"

Auf diese bin ich durch folgendes Video aufmerksam geworden: Youtube