Hans: https://forum.selfhtml.org/ - nicht gefunden /404

Hallo Leute,

auf der Startseite des Forums erscheint eine Meldung im Sinne von 404. Kann da mal jemand nachschauen?

Gruß Hans

  1. Hallo Hans,

    ich kann bestätigen, dass die /all Seite im Usermodus nicht mehr funktioniert. In der Moderatorenansicht funktioniert sie - das hilft Dir natürlich nichts.

    Aber ich habe nicht die geringste Ahnung, was das ausgelöst haben könnte.

    Die /self Seite funktioniert noch, scheint mir.

    Update: Geht wieder.

    @Christian Kruse - hast Du irgendwas experimentiert? Der Audit-Log gibt nichts her, und in der Forenverwaltung sehe ich auch nicht, wie man den /all Slug konfigurieren könnte (d.h. ich wüsste nicht, wer außer Dir etwas hätte tun können, das zum Ausfall von /all führt, außer irgendeiner Automatik die /all kurzfristig zur Mittagsstunde außer Betrieb genommen hat)

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo,

      ich kann bestätigen, dass die /all Seite im Usermodus nicht mehr funktioniert.

      ja, und das unabhängig davon, ob mit /all oder nur / (Domain Root).
      Und auch unabhängig davon, ob angemeldet oder nicht.

      Die /self Seite funktioniert noch, scheint mir.

      Ja.

      Update: Geht wieder.

      Sicher? Bei mir nicht. Trotz gelöschtem Cache.

      @Christian Kruse - hast Du irgendwas experimentiert? Der Audit-Log gibt nichts her, und in der Forenverwaltung sehe ich auch nicht, wie man den /all Slug konfigurieren könnte

      Da habe ich auch schon nachgesehen und nichts gefunden, was mir hilfreich vorkam.

      Einen schönen Tag noch
       Martin

      --
      Möchtegern-Dichter zum Verleger: "Sie meinen also, ich sollte etwas mehr Feuer in meine Verse legen?" - "Umgekehrt, mein Lieber, umgekehrt. Mehr Verse ins Feuer."
    2. Update: Geht wieder.

      Nee.

      1. https://forum.selfhtml.org
      2. https://forum.selfhtml.org/ (leitet zu Nr. 1)
      3. https://forum.selfhtml.org/all
      4. https://forum.selfhtml.org/all/

      enden alle mit „Seite nicht gefunden.“ Cache war sauber, hab die Seite seit „Jahrhunderten“ nicht aufgerufen.

      • Keine Anmeldung, nur das Raketenwilli-Cookie
  2. Hallo,

    ich kann das Problem bei mir reproduzieren.

    Viele Grüße
    Robert

  3. Lieber Hans,

    gerade eben auch festgestellt - als angemeldeter User. Das Problem kann aber meines Wissens nur @Christian Kruse lösen.

    Liebe Grüße

    Felix Riesterer

    1. Hallo Felix,

      Bin unterwegs. Kann von euch jemand ein Issue im cforum Github (bei ckruse) einstellen? Christian sagt, da guckt er eher rein. Einen anderen Kontakt habe ich nicht.

      Aber hier auf meinem Handy funktioniert es. Ich bin verwirrt

      Rolf

      --
      sumpsi - posui - obstruxi
      1. Aber hier auf meinem Handy funktioniert es. Ich bin verwirrt

        Das kann an Deinem Cache liegen. Offenbar stimmt was mit dem Hash der content-polizy nicht mehr.

        1. Hallo Raketenwilli,

          nee, mit /all funktioniert es, ohne /all nicht. Der Root-Eintrag - sprich: die Default-Page - funkt nicht mehr.

          Rolf

          --
          sumpsi - posui - obstruxi
          1. Info: Kommt auch drauf an, ob man ungelesene Postings hat oder nicht.

          2. Hallo Rolf,

            nee, mit /all funktioniert es, ohne /all nicht.

            das erlebe ich anders. Auf zwei verschiedenen PCs mit zwei verschiedenen Betriebssystemen und drei verschiedenen Browsern.

            Einen schönen Tag noch
             Martin

            --
            Möchtegern-Dichter zum Verleger: "Sie meinen also, ich sollte etwas mehr Feuer in meine Verse legen?" - "Umgekehrt, mein Lieber, umgekehrt. Mehr Verse ins Feuer."
  4. Hallo,

    da wird wohl das Laden von Javascript verhindert. Die Entwicklertools zeigen zwei Fehler:

    Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("script-src"). forum.selfhtml.org:31:1
    Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("script-src"). forum.selfhtml.org:200:1
    

    Auf https://forum.selfhtml.org/self kommt der Fehler nicht.

    Gruß Fred

    --
    I � Unicode
    1. Es wird das Script direkt nach dem body tag angemeckert.
      Bei /self sieht es so aus:

        <body data-moderator="false" data-current-forum="self" data-controller="ThreadController" data-action="index" class="threads forum-self index registered " id="threads-index" data-user-id="3827">
          <script nonce="jZaFBIJW3qDtTorYXO0_mcn94GKNHPzeyFLTF92fDYA">document.body.classList.add("js");</script>
      

      Bei /all so:

        <body>
          <script>document.body.classList.add("js");</script>
      
      --
      I � Unicode
      1. Wenn ich die Fehlermeldung google, kommt als erster Treffer:
        https://wiki.selfhtml.org/wiki/Sicherheit/Content_Security_Policy

        --
        I � Unicode
      2. Hallo Fred,

        ja, stimmt. Wenn ich mir das github-Repository anschaue, ist aber seit dem 28.10. nichts mehr passiert.

        Möglicherweise hat ein Browser-Update die Regeln verschärft!

        Rolf

        --
        sumpsi - posui - obstruxi
  5. wget -d liefert einen HTTP-Header mit folgendem Ausschnitt:

    Content-Security-Policy: 
    …
    script-src
      'self'
      'nonce-_Y8Gds4UGs8ne7njhzDghkyBZ4cAtpr6MTpD6yTqldc'
       *.selfhtml.org;
    …
    

    (Die Umbrüche sind von mir.)

    An der 1. angemeckerten Stelle steht

    <script>document.body.classList.add("js");</script>
    

    Damit das funktioniert muss also entweder 'unsafe-inline' zum obigen Header hinzugefügt werden, was aber nur bei Seiten ohne User-Content eine brauchbare Idee ist (Sonst folgt Verlust einer Verteidigungslinie)

    • https://forum.selfhtml.org
    • https://forum.selfhtml.org/ (leitet zu Nr. 1)
    • https://forum.selfhtml.org/all
    • https://forum.selfhtml.org/all/

    oder die Skripte werden mit

    <script nonce="_Y8Gds4UGs8ne7njhzDghkyBZ4cAtpr6MTpD6yTqldc"></script>
    

    eingeleitet. Der Wert des nonce-Attributes ist eine Zufallszahl, die für jeden Abruf neu generiert werden muss. Offenbar hat jemand am Template gepfuscht…

    Mehr kann man nur auf dem Server sehen.

    1. Hallo Raketenwilli,

      Es hat ja bis vor kurzem noch funktioniert, und der letzte Update am Source Code war im Oktober.

      Die nonce kommt je nach abgerufener URL mit oder nicht. Es kommen auch http404 wo keine kommen sollten, glaube ich.

      Es ist schon ziemlich merkwürdig

      Rolf

      --
      sumpsi - posui - obstruxi
      1. Moin,

        Es hat ja bis vor kurzem noch funktioniert

        genauer: Bis gestern um die Mittagszeit.

        und der letzte Update am Source Code war im Oktober.

        Also kann es eigentlich nur ein Problem im Zusammenspiel mit Fremd-Ressourcen sein.

        Einen schönen Tag noch
         Martin

        --
        Möchtegern-Dichter zum Verleger: "Sie meinen also, ich sollte etwas mehr Feuer in meine Verse legen?" - "Umgekehrt, mein Lieber, umgekehrt. Mehr Verse ins Feuer."
        1. @@Der Martin

          Es hat ja bis vor kurzem noch funktioniert

          genauer: Bis gestern um die Mittagszeit.

          Vor einer halben Stunde hat’s nicht funktioniert. Jetzt geht’s bei mir wieder.

          🖖 Живіть довго і процвітайте

          --
          „Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“
          — @Grantscheam auf Twitter
          1. Hm. Auch hier.

            08:13 → 404
            08:43 → 200
            

            Die 2. Lösung ist aktiv, der Inline-Skript-Block hat eine "nonce". Ist aber auch nicht mehr in Zeile 31, sondern in Zeile 46.

            Aber wer war das?

          2. Hallo Gunnar,

            Es hat ja bis vor kurzem noch funktioniert

            genauer: Bis gestern um die Mittagszeit.

            Vor einer halben Stunde hat’s nicht funktioniert. Jetzt geht’s bei mir wieder.

            bingo, kann ich bestätigen.
            Bleibt immer noch die spannende Frage: Was war's denn nun?

            Einen schönen Tag noch
             Martin

            --
            Möchtegern-Dichter zum Verleger: "Sie meinen also, ich sollte etwas mehr Feuer in meine Verse legen?" - "Umgekehrt, mein Lieber, umgekehrt. Mehr Verse ins Feuer."
      2. der letzte Update am Source Code

        Hm. Und was ist mit der Konfiguration des Hosts? Der Serversoftware?

        1. Hallo Raketenwilli,

          hätte alles sein können, sicher. Ich würde annehmen, dass die Konfiguration - soweit möglich - Teil der Softwareinstallation ist und sich damit im Git widerspiegelt. Kannst es Dir gern bei Github anschauen - ckruse/cforum_ex.

          Ein Fehler der erlebten Art klingt aber eher nicht nach einem Konfigurationsfehler. Wenn der Server zerkonfiguriert ist, geht ein bestimmter Bereich typischerweise gar nicht mehr.

          De facto war es - laut Christians Issue-Kommentar - ein Bug im Forum, der in einer Konstellation auftritt, die man eigentlich überhaupt nicht erwarten würde. Matthias arbeitet im Blog an einem Beitrag. Damit der noch nicht sichtbar ist, gibt's einen "Entwurfsmodus" Schalter. Gestern um 12:09 hat Matthias zu diesem Draft einen Kommentar erstellt. Vier Minuten später ging dieser Thread auf. Die Ansichten / und /all schauen auch in den Blog, fanden eine neue Antwort, aber das Root-Posting dazu war auf "Entwurf" und deshalb vorher aus der Beitragsliste entfernt worden. Das führte zum 404. In der Moderatorenansicht des Forums ging alles. Weil Entwurfs-Postings dann nicht ausgeblendet werden.

          Warum dann auch die nonce fehlte hat, weiß ich nicht, das kann ein Folgefehler sein. Möglicherweise passiert das immer, wenn das Forum auf einen 404 läuft. Aber, ganz ehrlich, das ist mir jetzt erstmal egal.

          Rolf

          --
          sumpsi - posui - obstruxi
    2. Ich hätte das jetzt gerne mal getestet, weil ich die Erklärung für nicht schlüssig halte. Geht aber nicht, weil es ja jetzt wieder heile ist.

      Wie soll denn ein "Content-Security-Policy-Header" mit nachfolgender Violation seitens des Markups/Inline-Scripts dazu führen, dass der Server selbst bereits mit HTTP 404 antwortet.

      Der Zusammenhang erschließt sich mir überhaupt nicht.

      1. Hallo Mitleser 2.0,

        da ist auch keiner. Der nonce-Fehler ist ein Folgefehler des 404 und immer noch drin.

        Ruf mal https://forum.selfhtml.org/self/blurb auf.

        Auf meiner Prioliste wäre das jetzt irgendwo hinter der dritten Falz, aber ich hab's aus dem Issue von gestern abgetrennt, damit es nicht verloren geht.

        Rolf

        --
        sumpsi - posui - obstruxi
      2. Wie soll denn ein "Content-Security-Policy-Header" mit nachfolgender Violation seitens des Markups/Inline-Scripts dazu führen, dass der Server selbst bereits mit HTTP 404 antwortet.

        Es gab da den Zusammenhang, dass irgendein Programmteil beim Herumsuchen nach Daten nichts fand, was er verwerten wollte (Genau genommen eine nicht vorgesehene Kombination von Daten fand, weshalb es (das Programm) nichts verwerten wollte), sodann nonce-Einträge nicht ins Template [pr|b]ügelte und den Error-Code 404 (statt 500)[¹] ausgab und behauptete, nichts gefunden zu haben. Das weil es genau das macht, was der Programmierer auf den Zettel geschrieben hatte.

        Der Zusammenhang erschließt sich mir überhaupt nicht.

        Ich kann ihn auch nur grob ahnen.

        ¹) Ich mach sowas auch, um ggf. Angreifer nicht über einen Fortschritt zu informieren…

        1. Wie soll denn ein "Content-Security-Policy-Header" mit nachfolgender Violation seitens des Markups/Inline-Scripts dazu führen, dass der Server selbst bereits mit HTTP 404 antwortet.

          Es gab da den Zusammenhang […]

          Die Erklärung zum eigentlichen Problem habe ich durchaus gelesen.

          Der Zusammenhang erschließt sich mir überhaupt nicht.

          Ich kann ihn auch nur grob ahnen.

          Da hast mir etwas voraus. Ich kann hier mir keinen Zusammenhang in der Richtung "Wahrscheinliche technische Ursache" vorstellen.

          1. Hallo Mitleser 2.0,

            lass es gut sein, bitte. Ursache und Wirkung sind nun eigentlich klar, und auch wenn's seitens Jörg unklare Formulierungen oder einen Irrtum 😲 gab, braucht das kein Draufherumreiten.

            Natürlich hast Du recht, dass ein CSP Header serverseitig nur auf verschlungenen Umwegen einen 404 auslösen kann. Fakt ist: Die unerwartete Situation im Blog führte zum 404, der wiederum hatte die fehlende Nonce als Folgefehler, und die führte dann zusammen mit dem CSP zum Error in der Konsole.

            Der Konsolenfehler war aber nicht das wesentliche Problem, sondern der 404. Der führte dazu, dass zwei Forenansichten keine Postings mehr enthielten.

            Dass beim 404 die Nonce verschlampt wird ist nun ein offenes Ticket (mal gucken wie CK das einschätzt), aber da das Forum im normalen Gebrauch keinen 404 wirft, ist die Priorität dafür minimal. Weshalb hier überhaupt ein Zusammenhang besteht, kann uns nur eine Code-Inspektion sagen. Wenn sich dieses Elixier jemand abfüllen möchte - nur zu. Der Code ist offen in Github (siehe mein Posting von heute 9:55), für einen gewissen Wert von "offen". Für mich ist könnte er angesichts des verwendeten Toolstacks genauso gut AES-verschlüsselt sein.

            Rolf

            --
            sumpsi - posui - obstruxi
  6. Hallo,

    Die Forenversion ist hochgegangen und der 404-Fehler sollte weg sein.

    Auskunft CK: Root Cause für die 404 Antworten ist ein unerwarteter Zustand im Blog, ein Beitrag im Entwurfszustand, der bereits kommentiert wurde. Damit kann das Forum jetzt umgehen. Danke, Christian!

    Ob die nonces nun wieder sauber sind muss jemand anderes schauen, ich bin gerade am Handy.

    Edit: Ja, scheint so. Keine FM mehr zu falschen Nonces.

    Rolf

    --
    sumpsi - posui - obstruxi