zlacker

[parent] [thread] 17 comments
1. zamada+(OP)[view] [source] 2026-01-11 23:51:10
It's the way the internet was meant to work but it doesn't make it any easier. Even when everything is in containers/VMs/users, if you don't put a decent amount of additional effort into automatic updates and keeping that context hardened as you tinker with it it's quite annoying when it gets pwned.

There was a popular post less than a month ago about this recently >>46305585

I agree maintaining wireguard is a good compromise. It may not be "the way the internet was intended to work" but it lets you keep something which feels very close without relying on a 3rd party or exposing everything directly. On top of that, it's really not any more work than Tailscale to maintain.

replies(3): >>SoftTa+N >>drnick+W2 >>nobody+TZ2
2. SoftTa+N[view] [source] 2026-01-11 23:57:22
>>zamada+(OP)
I just run an SSH server and forward local ports through that as needed. Simple (at least to me).
replies(3): >>zamada+fd >>Imusta+Fd >>Rebelg+rw
3. drnick+W2[view] [source] 2026-01-12 00:15:04
>>zamada+(OP)
> There was a popular post less than a month ago about this recently >>46305585

This incident precisely shows that containerization worked as intended and protected the host.

replies(1): >>zamada+Sc
◧◩
4. zamada+Sc[view] [source] [discussion] 2026-01-12 01:27:41
>>drnick+W2
It protected the host itself but it did not protect the server from being compromised and running malware, mining cryptocurrency.

Containerizing your publicly exposed service will also not protect your HTTP server from hosting malware or your SMTP server from sending SPAM, it only means you've protected your SMTP server from your compromised HTTP server (assuming you've even locked it down accurately, which is exactly the kind of thing people don't want to be worried about).

Tailscale puts the protection of the public portion of the story to a company dedicated to keeping that portion secure. Wireguard (or similar) limit the protection to a single service with low churn and minimal attack surface. It's a very different discussion than preventing lateral movement alone. And that all goes without mentioning not everyone wants to deal with containers in the first place (though many do in either scenario).

◧◩
5. zamada+fd[view] [source] [discussion] 2026-01-12 01:30:34
>>SoftTa+N
I do that as well, along with using sshd as a SOCKS proxy for web based stuff via Firefox, but it can be a bit of a pain to forward each service to each host individually if you have more than a few things going on - especially if you have things trying to use the same port and need to keep track of how you mapped it locally. It can also a lot harder to manage on mobile devices, e.g. say you have some media or home automation services - they won't be as easy to access via a single public SSH host via port forwarding (if at all) as a VPN would be, and wireguard is about as easy a personal VPN as there is.

That's where wg/Tailscale come in - it's just a traditional IP network at that point. Also less to do to shut up bad login attempts from spam bots and such. I once forgot to configure the log settings on sshd and ended up with GBs of logs in a week.

The other big upside (outside of not having a 3rd party) in putting in the slightly more effort to do wg/ssh/other personal VPN is the latency+bandwidth to your home services will be better.

replies(1): >>jmb99+2E
◧◩
6. Imusta+Fd[view] [source] [discussion] 2026-01-12 01:33:28
>>SoftTa+N
Also to Simon: I am not sure about how Iphone works but in android, you could probably use mosh and termux to then connect to the server as well and have the end result while not relying on third party (in this case tailscale)

I am sure there must be an Iphone app which could probably allow something like this too. I highly recommend more people take a look into such workflow, I might look into it more myself.

Tmate is a wonderful service if you have home networks behind nat's.

I personally like using the hosted instance of tmate (tmate.io) itself but It can be self hosted and is open source

Once again it has third party issue but luckily it can be self hosted so you can even have a mini vps on hetzner/upcloud/ovh and route traffic through that by hosting tmate there so ymmv

◧◩
7. Rebelg+rw[view] [source] [discussion] 2026-01-12 03:48:15
>>SoftTa+N
How many random people do you have hitting port 22 on a given day?
replies(2): >>SoftTa+oA >>gsich+zV
◧◩◪
8. SoftTa+oA[view] [source] [discussion] 2026-01-12 04:26:19
>>Rebelg+rw
Dozens. Maybe hundreds. But they can't get in as they don't have the key.
◧◩◪
9. jmb99+2E[view] [source] [discussion] 2026-01-12 05:10:14
>>zamada+fd
> and wireguard is about as easy a personal VPN as there is.

I would argue OpenVPN is easier. I currently run both (there are some networks I can’t use UDP on, and I haven’t bothered figuring out how to get wireguard to work with TCP), and the OpenVPN initial configuration was easier, as is adding clients (DHCP, pre-shared cert+username/password).

This isn’t to say wireguard is hard. But imo OpenVPN is still easier - and it works everywhere out of the box. (The exception is networks that only let you talk on 80 and 443, but you can solve that by hosting OpenVPN on 443, in my experience.)

This is all based on my experience with opnsense as the vpn host (+router/firewall/DNS/DHCP). Maybe it would be a different story if I was trying to run the VPN server on a machine behind my router, but I have no reason to do so - I get at least 500Mbps symmetrical through OpenVPN, and that’s just the fastest network I’ve tested a client on. And even if that is the limit, that’s good enough for me, I don’t need faster throughput on my VPN since I’m almost always going to be latency limited.

◧◩◪
10. gsich+zV[view] [source] [discussion] 2026-01-12 08:02:35
>>Rebelg+rw
change port.
replies(4): >>sally_+z21 >>Maledi+4m1 >>lee_ar+to1 >>Rebelg+ZU2
◧◩◪◨
11. sally_+z21[view] [source] [discussion] 2026-01-12 08:59:02
>>gsich+zV
Underrated reply - I randomize the default ports everywhere I can, really cuts down on brute force/credential stuffing attempts.
◧◩◪◨
12. Maledi+4m1[view] [source] [discussion] 2026-01-12 11:35:54
>>gsich+zV
or keep the port and move to IPv6 only.
◧◩◪◨
13. lee_ar+to1[view] [source] [discussion] 2026-01-12 11:55:10
>>gsich+zV
After years of cargo-culting this advice—"run ssh on a nonstandard port"—I gave up and reverted to 22 because ssh being on nonstandard ports didn't change the volume of access attempts in the slightest. It was thousands per day on port 22, and thousands per day on port anything-else-i-changed-it-to.

It's worth an assessment of what you _think_ running ssh on a nonstandard port protects you against, and what it's actually doing. It won't stop anything other than the lightest and most casual script-based shotgun attacks, and it won't help you if someone is attempting to exploit an actual-for-real vuln in the ssh authentication or login process. And although I'm aware the plural of "anecdote" isn't "data," it sure as hell didn't reduce the volume of login attempts.

Public key-only auth + strict allowlists will do a lot more for your security posture. If you feel like ssh is using enough CPU rejecting bad login attempts to actually make you notice, stick it behind wireguard or set up port-knocking.

And sure, put it on a nonstandard port, if it makes you feel better. But it doesn't really do much, and anyone hitting your host up with censys.io or any other assessment tool will see your nonstandard ssh port instantly.

replies(2): >>wasmit+cv1 >>gsich+Gb7
◧◩◪◨⬒
14. wasmit+cv1[view] [source] [discussion] 2026-01-12 12:39:26
>>lee_ar+to1
Conversely, what do you gain by using a standard port?

Now, I do agree a non-standard port is not a security tool, but it doesn't hurt running a random high-number port.

replies(1): >>lee_ar+rv1
◧◩◪◨⬒⬓
15. lee_ar+rv1[view] [source] [discussion] 2026-01-12 12:41:15
>>wasmit+cv1
> Conversely, what do you gain by using a standard port?

One less setup step in the runbook, one less thing to remember. But I agree, it doesn't hurt! It just doesn't really help, either.

◧◩◪◨
16. Rebelg+ZU2[view] [source] [discussion] 2026-01-12 19:32:29
>>gsich+zV
I've tried using a nonstandard port but I still see a bunch of IPs getting banned, with the added downside of if I'm on the go sometimes I don't remember the port
17. nobody+TZ2[view] [source] 2026-01-12 19:56:04
>>zamada+(OP)
>It's the way the internet was meant to work but it doesn't make it any easier. Even when everything is in containers/VMs/users, if you don't put a decent amount of additional effort into automatic updates and keeping that context hardened as you tinker with it it's quite annoying when it gets pwned.

As someone who spent decades implementing and securing networks and internet-facing services for corporations large and small as well as self-hosting my own services for much of that time, the primary lesson I've learned and tried to pass on to clients, colleagues and family is:

   If you expose it to the Internet, assume it will be pwned at some point.
No, that's not universally true. But it's a smart assumption to make for several reasons:

1. No software is completely bug free and those bugs can expose your service(s) to compromise;

2. Humans (and their creations) are imperfect and will make mistakes -- possibly exposing your service(s) to compromise;

3. Bad actors, ranging from marginally competent script kiddies to master crackers with big salaries and big budgets from governments and criminal organizations are out there 24x7 trying to break into whatever systems they can reach.

The above applies just as much to tailscale or wireguard as it does to ssh/http(s)/imap/smtp/etc.

I'll say it again as it's possibly the most important concept related to exposing anything:

   If you expose it to the Internet, assume that, at some point, it will be 
   compromised and plan accordingly.
If you're lucky (and good), it may not happen while you're responsible for it, but assuming it will and having a plan to mitigate/control an "inevitable" compromise will save your bacon much better than just relying on someone else's code to never break or have bugs which put you at risk.

Want to expose ports? Use Wireguard? Tailscale? HAProxy? Go for it.

And do so in ways that meet your requirements/use cases. But don't forget to at least think (better yet script/document) about what you will do if your services are compromised.

Because odds are that one day they will.

◧◩◪◨⬒
18. gsich+Gb7[view] [source] [discussion] 2026-01-13 22:48:51
>>lee_ar+to1
it did for me.
[go to top]