Take control of your data, join the tech chat. Host an XMPP server and leverage end-to-end encryption for your personal data

  • u_tamtam@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 days ago

    Prosody is a great piece of software, and so is ejabberd which offers some perks. I can’t speak for the other servers (mongooseim, openfire, tigase, …) which I haven’t tried in a long time,

    All that’s to say that it’s amazing that we get so many well maintained and compatible servers (and clients) implementations in XMPP-land, and all the implications for its healthy future.

    • StarkZarn@infosec.pubOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      Agreed, prosody is great! I’ve been doing some experimenting with ejabberd and it seems more enterprise-ready, but I haven’t found anything that is discernable as far as feature advantages.

  • litchralee@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    31
    arrow-down
    6
    ·
    edit-2
    9 days ago

    When I see E2EE and XMPP mentioned, I think of this blog post by Soatok, outlining some very odd cryptographic choices in XMPP + OMEMO: https://soatok.blog/2024/08/04/against-xmppomemo/

    I would very much like to see a richer playing field than just Signal for private messaging, but it’s a tough nut to crack. For exactly which aspect that turns me away from XMPP for E2EE, I think this nails it down:

    you only need check whether OMEMO is on by default (it isn’t), or whether OMEMO can be turned off even if your client supports it (it can).

    When the competition is Signal, these sorts of details matter a lot.

      • StarkZarn@infosec.pubOP
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        8 days ago

        This is also a great article! Thanks for the link.

        One cool point in favor of XMPP is that in a public setting (MUCs), there’s community. Moparisbest is an active participant in several of the MUCs that I’m in. Very cool!

    • StarkZarn@infosec.pubOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 days ago

      This is great, I have not seen this post before. Thank you for sharing.

      You make an excellent point here, that the burden of security and privacy is put on the user, and that means that the other party in which you’re engaged in conversation with can mess it up for the both of you. It’s far from perfect, absolutely. Ideally you can educate those that are willing to chat with you on XMPP and kill two birds with one stone, good E2EE, and security and privacy training for a friend. XMPP doesn’t tick the same box as Signal though, certainly. I still rely heavily on Signal, but that data resides on and transits a lot of things that I don’t control. There’s a time and a place for concerns with both, but I wanted to share my strategy for an internal chat server that also meets some of those privacy and security wickets.

      • mistermodal@lemmy.mlBanned
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        4
        ·
        9 days ago

        Never cared for the way this fellow tries to argue that everything is too difficult to be useful. I’ve gotten plenty of friends and family on XMPP and the clients that don’t have encryption on by default are easy to remember. Really blowing it out of proportion.

        Honestly, what do security researchers like this even know about normal people? They sit through all kinds of inconveniences to use Facebook. This is a thought experiment.

        Some of these are valid criticisms, of course, a lot of XMPP stuff feels like it from the 2010s. It’s still the only real option. Matrix client or server is bloated garbage, theu moved server fixes into a walled garden, its development is dependent on funding from the USA National Endowment for Democracy technology fund. Signal has similar funding issues and is very shady with its centralization, trust issues, demanding phone numbers. Sets users up to leak all kinds of stuff in notifications like Matrix.

        The strange insistence that only Signal meets their requirements makes me skeptical, as does the way they have operated in Github threads. They seem like an emotional nightmare to work with.

    • Swedneck@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 days ago

      have you looked at simplex? at a glance it seems robust and it actually works without much fiddling which is nice.

      • StarkZarn@infosec.pubOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 days ago

        I have experimented with Simplex, but it feels less tuned toward hosting federated infrastructure and more tuned toward participation with the greater network in a pseudo-anonymous fashion.

        Adoption is also always a hurdle with any ecosystem like this, and XMPP is certainly ahead of Simplex in that avenue.

  • Im_old@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 days ago

    This is great as last time I looked to set up prosody there were no official container images.

    I just need to figure out how to set up slidge/matrix bridge and then I can ditch my matrix server.

        • StarkZarn@infosec.pubOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 days ago

          Agreed! Runtime environment management is so much nicer with modern containerization. You or ally can’t overstate how much better it is to have app stack state be entirely divorced from OS state. I’m very pleased they’re back on the bandwagon as well.

          Stand up a server and come join our MUC!

          • lambalicious@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            2
            ·
            5 days ago

            This week I was setting up an IRC server for a group of friends, but might switch it to XMPP. I also have a v good friend who is hosting a XMPP server that sees very little use and has some good lots of legacy stuff going on, I’ll try to ping them to see if it’s worth to spin something completely new.

            • StarkZarn@infosec.pubOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 days ago

              Sounds like a great opportunity to breath some life into it! If you really have the itch for IRC, there’s a slidge bridge to connect IRC to XMPP!

    • Semperverus@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      7 days ago

      Its still better than any new chat protocol thats been made in the last decade. You’ll have to pry my family XMPP server out of my cold dead hands.

    • lambalicious@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 days ago

      What for?

      XMPP is quite robust and open, and while it’s not in the level of simplicity of, say, IRC, it still beats pretty much everything else on connectivity and efficiency, and can be run on a potato. Storage is only slighly a concern.

      OTOH nu-protocols like Mastodon stuff or Matrix stuff, while they are nice to have, are notoriously badly designed because kiddies these days can’t bother to learn C. This results in highly energy-, memory- and storage-consuming systems. In the amount of RAM I need to kick up a Matrix server (assuming it even runs) I can run ~18 XMPP services and about ~240 ircd services.

  • warmaster@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    9 days ago
    
    STUN/TURN is literally designed to bypass network boundaries. Its necessity comes from the evil of NAT and allowing RFC1918 IP addresses behind firewalls to poke holes so that direct P2P connections can be established for VOIP.
    
    By virtue of being technology designed to step around boundaries, you should be weary of controls around this. STUN can be used to relay from the external STUN record to other servers within the same broadcast domain. We’ll add some controls here to limit this, but it would behoove you to place this server in an isolated DMZ without connectivity to other, potentially privileged, internal hosts. Never forget network segmentation.```
    
    
    
    Would a VLAN be enough? 
    • StarkZarn@infosec.pubOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 days ago

      Yes, absolutely. It all depends on implementation. I am using VLANs for L2 isolation. I have a specific DMZ VLAN that has my XMPP server and only my XMPP server on it. My network core applies ACLs that prevent any inter-VLAN traffic from there, so even if STUN/TURN pokes holes, the most that is accessible is that single VLAN, which happens to contain only the single host that I want to be accessible.

      Great question.

      • qwexfle@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 days ago

        I’m interested, although I’m not sure I understand. Isn’t the point of poking holes to enable clients to connect when obscured by NAT? Does voip still work with this?