Aussie living in the San Francisco Bay Area.
Coding since 1998.
.NET Foundation member. C# fan
https://d.sb/
Mastodon: @dan@d.sb

  • 1 Post
  • 486 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle
  • I never said anything about using the VPN as an ACL. All I said was to only expose the service over the VPN. That doesn’t necessarily mean that the app doesn’t have authentication or authorization.

    I’m also only talking about residential use cases, where it’s a common practice (when not using a VPN) to just expose everything via port forwarding. Businesses aren’t setting up Jellyfin on their servers.

    true, fun fact a VPN is also an application with an auth layer. dun dun dun!

    Sure, but someone would have to first get on the VPN, and then find vulnerable apps once on the internal network, as opposed to just scanning the internet for public-facing vulnerable systems. Wireguard (and thus Tailscale) doesn’t respond to port scans at all - it only responds to packets that are signed with a known key.

    Admittedly, networking and network security isn’t my specialty so I’m absolutely sure you’ve got more knowledge in this area.


  • If a service is publicly accessible, anyone can access it. Even if it’s secured, there can be security issues in the auth layer of the app, improperly secured endpoints, etc.

    If a service is only available over VPN, nobody can access it unless they’re on the VPN. The service isn’t visible over the public internet and other people won’t even know it exists. You can require two factor auth to connect to the VPN.

    I’m not sure why you seem to think that a private network isn’t more secure than a public network. There’s a reason why practically every company requires people working remotely to connect to a VPN to access company resources.







  • Does it use http or MQTT?

    Home Assistant uses HTTP for this. Realistically, you won’t see much difference between HTTP and MQTT for this use case.

    MQTT is harder to secure than HTTP, and has some limitations (eg it normally only supports username and password auth - no SSO, no 2FA) so I’d avoid it for anything public-facing unless you have a specific reason to use it. Using it via a VPN is fine, but you’d still need to configure a separate MQTT username and password per user.




  • The end goal is to have no reliance on tailscale as i am preparing for the eventual enshitification.

    Tailscale is mostly open-source. If they do anything bad then someone could fork the project. The coordination server isn’t open-source, but you could self-host Headscale as a replacement.

    If it still doesn’t suit your use cases, there’s some alternatives.

    I personally wouldn’t directly deal with iptables or nftables rules, and instead use some other software to deal with that.



  • dan@upvote.autoSelfhosted@lemmy.worldKittygram v1.1 has released
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    12 days ago

    All the data gathered by Cambridge Analytica was gathered through the public API though, after users had consented to share it (by logging into a quiz app that requested the permissions). That’s why the API is very locked down now, and the approval process to get any sort of data access is very strict.

    The main issue was that they gathered data from people whose profiles were set to be visible only to friends. If someone logged into the quiz and granted permissions, their friends’ data was also accessible via the API.


  • dan@upvote.autoSelfhosted@lemmy.worldKittygram v1.1 has released
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    12 days ago

    aggressively guard

    tbh it’s a hard balance for any social media company.

    Guard content too little and you end up with Cambridge Analytica, which was literally because the public APIs allowed too much access (third-party apps could see any data through the API that you could see through your Facebook account, including friends profiles). You also end up with headlines talking about big data leaks which really just end up being compilations of public data (which has happened to both Facebook and LinkedIn).

    Guard content too much and you restrict users’ freedom too much.


  • It’s not too bad if you use an outbound SMTP relay for sending. SMTP2Go is pretty good, and they have a free plan with 1000 emails per month. I use Mailcow and you can configure relays in their web UI, but it works just as well with the sender_dependent_relayhost_maps setting in Postfix.

    Sure, it’s not fully self-hosted, but the interesting part to self-host is the storage of your emails, not the sending (which will just relay through other SMTP servers along the way anyways).


  • You don’t absolutely need a central repository for Git. It’s decentralized. You can learn the basics (committing, branching, rebasing, amending, merging, resolving merge conflicts) entirely on your computer.

    My advice would be to get familiar with using Git locally first. Simulate things like merge conflicts - have two branches that both change the same line in a text file, then merge them together and resolve the conflict.

    Once you’re more comfortable with using it locally, learn about code forges like Github or Forgejo.