Salta al contenuto
0
  • Home
  • Piero Bosio
  • Blog
  • Mondo
  • Fediverso
  • News
  • Categorie
  • Old Web Site
  • Recenti
  • Popolare
  • Tag
  • Utenti
  • Home
  • Piero Bosio
  • Blog
  • Mondo
  • Fediverso
  • News
  • Categorie
  • Old Web Site
  • Recenti
  • Popolare
  • Tag
  • Utenti
Skin
  • Chiaro
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Scuro
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Predefinito (Cerulean)
  • Nessuna skin
Collassa

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone
  1. Home
  2. Categorie
  3. General Discussion
  4. New post: Can we have a more “social” media?

New post: Can we have a more “social” media?

Pianificato Fissato Bloccato Spostato General Discussion
fediverseactivitypubsocialmedia
1 Post multipli 29 Post 5 Autori 1 Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Rispondi
  • Risposta alla discussione
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • profpatsch@mastodon.xyzundefined profpatsch@mastodon.xyz

    @silverpill @liaizon not dunking on your work ofc, but I think the “best practices” around writing standards are just not very good unfortunately

    profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
    profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
    profpatsch@mastodon.xyz
    scritto su ultima modifica di
    #20

    @silverpill @liaizon Like, even just using urlparse() from different languages exposes us to implementation difference issues, so a simple split("#")[0] equality is *way* better than urlparse & field comparison for security reasons.

    which means lowercasing is a bad-bad!

    profpatsch@mastodon.xyzundefined 1 Risposta Ultima Risposta
    0
    • profpatsch@mastodon.xyzundefined profpatsch@mastodon.xyz

      @silverpill @liaizon Like, even just using urlparse() from different languages exposes us to implementation difference issues, so a simple split("#")[0] equality is *way* better than urlparse & field comparison for security reasons.

      which means lowercasing is a bad-bad!

      profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
      profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
      profpatsch@mastodon.xyz
      scritto su ultima modifica di
      #21

      @silverpill @liaizon check this :) https://blackhat.com/docs/us-17/thursday/us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-Languages.pdf

      liaizon@social.wake.stundefined 1 Risposta Ultima Risposta
      0
      • profpatsch@mastodon.xyzundefined profpatsch@mastodon.xyz

        @silverpill @liaizon check this :) https://blackhat.com/docs/us-17/thursday/us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-Languages.pdf

        liaizon@social.wake.stundefined Questo utente è esterno a questo forum
        liaizon@social.wake.stundefined Questo utente è esterno a questo forum
        liaizon@social.wake.st
        scritto su ultima modifica di
        #22

        @Profpatsch @silverpill I like this presentation

        1 Risposta Ultima Risposta
        0
        • silverpill@mitra.socialundefined silverpill@mitra.social

          @Profpatsch

          2. Activity-Level Origin Checks
          Same-origin is checked rather than exact equality so that servers with multiple actors can sign on behalf of any of their actors — a common legitimate pattern.

          For incoming activities, consider checking exact equality. See FEP-fe34, section "Signatures":

          In order to minimize damage in the event of a key compromise or insufficient validation, consumers MUST verify that the signing key has the same owner as the signed object. Consumers MUST also confirm the ownership of the key by verifying a reciprocal claim.

          This is not strictly necessary, but would help if the origin server does poor job at validating user input.

          3. Embedded Object Origin Checks
          Owner origin: the object's owner (actor for Activity subtypes, attributedTo for Notes/Objects) must be same-origin as the signing actor. Anonymous objects (no owner field) are accepted.

          In this case I also recommend checking owner ID equality, as a rule of thumb. Because origin servers implementing C2S API may fail to validate all embedded objects (which can be deeply nested).

          Response body size limits

          You may also need to limit the number of redirects and set a timeout. Some HTTP libraries have bad defaults.

          By the way, I collect such recommendations in this guide: https://codeberg.org/ap-next/ap-next/src/branch/main/guide.md#network. Contributions are welcome!

          @liaizon

          profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
          profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
          profpatsch@mastodon.xyz
          scritto su ultima modifica di
          #23

          @silverpill @liaizon What does this mean? “Follow redirects, but set a limit. Request must be re-signed after every redirect.”

          do you mean I have to check the new http signature on every 30x response? I don’t believe that can work??

          silverpill@mitra.socialundefined 1 Risposta Ultima Risposta
          0
          • silverpill@mitra.socialundefined silverpill@mitra.social

            @Profpatsch

            2. Activity-Level Origin Checks
            Same-origin is checked rather than exact equality so that servers with multiple actors can sign on behalf of any of their actors — a common legitimate pattern.

            For incoming activities, consider checking exact equality. See FEP-fe34, section "Signatures":

            In order to minimize damage in the event of a key compromise or insufficient validation, consumers MUST verify that the signing key has the same owner as the signed object. Consumers MUST also confirm the ownership of the key by verifying a reciprocal claim.

            This is not strictly necessary, but would help if the origin server does poor job at validating user input.

            3. Embedded Object Origin Checks
            Owner origin: the object's owner (actor for Activity subtypes, attributedTo for Notes/Objects) must be same-origin as the signing actor. Anonymous objects (no owner field) are accepted.

            In this case I also recommend checking owner ID equality, as a rule of thumb. Because origin servers implementing C2S API may fail to validate all embedded objects (which can be deeply nested).

            Response body size limits

            You may also need to limit the number of redirects and set a timeout. Some HTTP libraries have bad defaults.

            By the way, I collect such recommendations in this guide: https://codeberg.org/ap-next/ap-next/src/branch/main/guide.md#network. Contributions are welcome!

            @liaizon

            profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
            profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
            profpatsch@mastodon.xyz
            scritto su ultima modifica di
            #24

            @silverpill @liaizon Another issue I noticed: “set a max request/response size” means that we are essentially forced to implement paging of outboxes both on client and server

            profpatsch@mastodon.xyzundefined silverpill@mitra.socialundefined 2 Risposte Ultima Risposta
            0
            • profpatsch@mastodon.xyzundefined profpatsch@mastodon.xyz

              @silverpill @liaizon Another issue I noticed: “set a max request/response size” means that we are essentially forced to implement paging of outboxes both on client and server

              profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
              profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
              profpatsch@mastodon.xyz
              scritto su ultima modifica di
              #25

              @silverpill @liaizon we should also definitely provide some actual values here, otherwise it’s pretty useless tbh …

              1 Risposta Ultima Risposta
              0
              • profpatsch@mastodon.xyzundefined profpatsch@mastodon.xyz

                @silverpill @liaizon What does this mean? “Follow redirects, but set a limit. Request must be re-signed after every redirect.”

                do you mean I have to check the new http signature on every 30x response? I don’t believe that can work??

                silverpill@mitra.socialundefined Questo utente è esterno a questo forum
                silverpill@mitra.socialundefined Questo utente è esterno a questo forum
                silverpill@mitra.social
                scritto su ultima modifica di
                #26

                @Profpatsch You need to create a new signature because the request target is changing. It is a part of a signature base, so the initial signature becomes invalid when the client follows a redirect.

                @liaizon

                1 Risposta Ultima Risposta
                0
                • profpatsch@mastodon.xyzundefined profpatsch@mastodon.xyz

                  @silverpill @liaizon Another issue I noticed: “set a max request/response size” means that we are essentially forced to implement paging of outboxes both on client and server

                  silverpill@mitra.socialundefined Questo utente è esterno a questo forum
                  silverpill@mitra.socialundefined Questo utente è esterno a questo forum
                  silverpill@mitra.social
                  scritto su ultima modifica di
                  #27

                  @Profpatsch @liaizon The guide recommends limiting the response size, to prevent DoS.

                  I also found this in your SECURITY.md:

                  https://codeberg.org/Profpatsch/Profpatsch/src/commit/249aa389a2023814b328af8fc795750fd28d995d/users/Profpatsch/activitypub-go/security.md#response-body-size-limits

                  profpatsch@mastodon.xyzundefined 1 Risposta Ultima Risposta
                  0
                  • silverpill@mitra.socialundefined silverpill@mitra.social

                    @Profpatsch @liaizon The guide recommends limiting the response size, to prevent DoS.

                    I also found this in your SECURITY.md:

                    https://codeberg.org/Profpatsch/Profpatsch/src/commit/249aa389a2023814b328af8fc795750fd28d995d/users/Profpatsch/activitypub-go/security.md#response-body-size-limits

                    profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
                    profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
                    profpatsch@mastodon.xyz
                    scritto su ultima modifica di
                    #28

                    @silverpill @liaizon yeah, but in essence anything that produces or consumes an outbox needs to implement paging because of that.

                    profpatsch@mastodon.xyzundefined 1 Risposta Ultima Risposta
                    0
                    • profpatsch@mastodon.xyzundefined profpatsch@mastodon.xyz

                      @silverpill @liaizon yeah, but in essence anything that produces or consumes an outbox needs to implement paging because of that.

                      profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
                      profpatsch@mastodon.xyzundefined Questo utente è esterno a questo forum
                      profpatsch@mastodon.xyz
                      scritto su ultima modifica di
                      #29

                      @silverpill @liaizon Which, fine, all resources from other places need to be restricted to prevent DoS attacks anyway.

                      1 Risposta Ultima Risposta
                      0

                      Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.

                      Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.

                      Con il tuo contributo, questo post potrebbe essere ancora migliore 💗

                      Registrati Accedi
                      Rispondi
                      • Risposta alla discussione
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti


                      • 1
                      • 2
                      Feed RSS
                      New post: Can we have a more “social” media?
                      @pierobosio@soc.bosio.info
                      V4.10.1 Contributors
                      • Accedi

                      • Accedi o registrati per effettuare la ricerca.
                      • Primo post
                        Ultimo post