this post was submitted on 14 Aug 2023
16 points (100.0% liked)

Selfhosted

40382 readers
511 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

In the past two weeks I set up a new VPS, and I run a small experiment. I share the results for those who are curious.

Consider that this is a backup server only, meaning that there is no outgoing traffic unless a backup is actually to be recovered, or as we will see, because of sshd.

I initially left the standard "port 22 open to the world" for 4-5 days, I then moved sshd to a different port (still open to the whole world), and finally I closed everything and turned on tailscale. You find a visualization of the resulting egress traffic in the image. Different colors are different areas of the world. Ignore the orange spikes which were my own ssh connections to set up stuff.

Main points:

  • there were about 10 Mb of egress per day due just to sshd answering to scanners. Not to mention the cluttering of access logs.

  • moving to a non standard port is reasonably sufficient to avoid traffic and log cluttering even without IP restrictions

  • Tailscale causes a bit of traffic, negligible of course, but continuous.

all 33 comments
sorted by: hot top controversial new old
[–] Decronym@lemmy.decronym.xyz 8 points 1 year ago* (last edited 1 year ago) (1 children)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
HTTP Hypertext Transfer Protocol, the Web
IP Internet Protocol
SSH Secure Shell for remote terminal access
UDP User Datagram Protocol, for real-time communications
VPN Virtual Private Network
VPS Virtual Private Server (opposed to shared hosting)
nginx Popular HTTP server

7 acronyms in this thread; the most compressed thread commented on today has 9 acronyms.

[Thread #42 for this sub, first seen 14th Aug 2023, 15:55] [FAQ] [Full list] [Contact] [Source code]

[–] sircac@lemmy.world 2 points 1 year ago
[–] James@lemmy.ca 6 points 1 year ago (2 children)

Public key auth, and fail2ban on an extremely strict mode with scaling bantime works well enough for me to leave 22 open.

Fail2ban will ban people for even checking if the port is open.

[–] bitsplease@lemmy.ml 1 points 1 year ago

Yeah fail2ban has worked great for me

[–] timi@lemmy.world 1 points 1 year ago

Honest question, is there a good default config available somewhere or is what apt install fail2ban does good to go? All the tutorials I’ve found have left it to the reader to configure their own rules.

[–] notabot@lemm.ee 3 points 1 year ago (1 children)

You really shouldn't have something kike SSHD open to the world, that's just an unnecessary atrack surface. Instead, run a VPN on the server (or even one for a network if you have several servers on one subnet), connect to that then ssh to your server. The advantage is that a well setup VPN simply won't respond to an invalid connection, and to an attacker, looks just like the firewall dropping the packet. Wireguard is good for this, and easy to configure. OpenVPN is pretty solid too.

[–] douglasg14b@lemmy.world 0 points 1 year ago (2 children)

You say this and are downvoted.

While we are coming off the tail of Def Con where there where a plethora or small talks and live examples of taking advantage and abusing just this.

[–] teawrecks@sopuli.xyz 1 points 1 year ago

Just trying to parse your comment, I assume your first "this" and second "this" are referring to different things, right?

[–] u202307011927@feddit.de 0 points 1 year ago (1 children)

I don't understand your comment, what you are saying. Could you elaborate a bit, please? I'm interested why it's a bad idea what previous comment suggested.

Of course I can dig into DefCon videos and probably would do if needed, but perhaps you know what exactly the issue is

[–] MaggiWuerze@feddit.de 1 points 1 year ago

The first this means the comment he answered to and the second one means ssh being used as an attack surface, being described in defCon talks

[–] u_tamtam@programming.dev 3 points 1 year ago (2 children)

Or, you know, just use key auth only and fail2ban. Putting sshd behind another port only buys you a little time.

I've noticed that a lot of the scans these days almost always switch IPs after 2-3 attempts, making IP blocking a lot more difficult.

[–] nomadjoanne@lemmy.world 0 points 1 year ago (1 children)

Yeah but the majority of bots out there are going after easy prey. Honestly, if you use public key authentication with ssh you should be fine, even if it is on port 22. But it does of course clog up access logs.

[–] marcos@lemmy.world 1 points 1 year ago

The majority of bots out there are stopped by just using a hard to guess password. It's not them that you should be worried about.

[–] Clou42@feddit.de 2 points 1 year ago (2 children)

I’ll take that tiny amount of traffic telling scanners there’s no password auth over having to remember port settings for ssh, scp and rsync any day.

[–] gamer@lemm.ee 1 points 1 year ago (1 children)
[–] dmrzl@programming.dev 1 points 1 year ago

My configs remember stuff for me.

[–] wgs@lemmy.sdf.org 1 points 1 year ago

I get what you say, and you're definitely not wrong to do it. But as I see it, you only saved ~80Kib of ingress and a few lines of logs in the end. From my monitoring I get ~5000 failed auth per day, which account for less than 1Mbps average bandwidth for the day.

It's not like it's consuming my 1Gbps bandwidth or threatening me as I enforce ssh key login. I like to keep things simple, and ssh on port 22 over internet makes it easy to access my boxes from anywhere.

[–] Feathercrown@lemmy.world 1 points 1 year ago

I opened a raw text channel on the Telnet port for a personal game engine project and someone tried to enable commands and do some shady stuff. Unfortunately for them, that's not a valid chess move.

[–] spagnod@lemmy.world 1 points 1 year ago (1 children)

Just do it properly and configure sshd securely. When you have a machine exposed to the internet, you should expect it to be attacked. If you really want to give the finger to bots, run endlessh on port 22 and keep sshd on a non-standard port. Stay safe.

[–] Feathercrown@lemmy.world 1 points 1 year ago

endlessh

Lmao thanks for this

[–] MonkderZweite@feddit.ch 0 points 1 year ago (1 children)

I don't get tailscale? In-kernel Wireguard is easy to setup. What does it add to this?

[–] mplewis@lemmy.globe.pub 1 points 1 year ago

Tailscale is a nice way to set up a private network between your machines. It’s perfectly fine.

[–] 018118055@sopuli.xyz 0 points 1 year ago (1 children)

I'd favour own VPN instead of relying on an additional third party

[–] entropicdrift@lemmy.sdf.org 0 points 1 year ago (1 children)

Right? PiVPN is easy AF and uses WireGuard. No reason not to set up something yourself if you're already selfhosting.

[–] glasgitarrewelt@feddit.de 1 points 1 year ago

Please ELI5: How does this solution work? You tunnel yourself in your home network with a VPN on your PI? How is that safer, isn't there still a port open?

[–] elscallr@lemmy.world -1 points 1 year ago* (last edited 1 year ago) (1 children)

If you do want to open 22, and there are plenty of good reasons to want to, just implement something called port knocking and you can do it safely.

Note with this you still need good authentication. That means no passwords, key based auth only.

[–] FarraigePlaisteach@kbin.social 1 points 1 year ago (2 children)

I have read elsewhere that port knocking is just security through obscurity and isn’t worth considering. I found it when searching for ways to set it up and that put me off.

[–] Ondergetekende@feddit.nl -1 points 1 year ago

Security through obscurity is a very valid way to secure something. It shouldn't be the only way of securing something, but it can be a valid additional layer.

The knock sequence is a secret, just like a password. It may not be a particularly strong secret, but is is strong enough to keep out casual attackers. You'll still need additional security, but sshd is well equipped to provide that.

[–] Hector_McG@programming.dev -1 points 1 year ago* (last edited 1 year ago)

If you want to go down that path, a password is only security by obscurity.

Port knocking is an extra layer of security, and one that can stop attackers from ever knowing your private server even exists. A random scanner won’t even see any open ports.

Always bear in mind that any random guy advising people not to use port knocking may be doing it with malicious intent. I’m sure there’s someone out there advising that random passwords are a waste of time, and everyone should just use monkey123.

[–] marketingpro123@kbin.social -2 points 1 year ago

Exploring Go High Level:

What’s the Enthusiasm About?
Hello there! Are you familiar with Go High Level? If not, let's break it down. Imagine managing multiple apps for marketing. Sounds busy. That's where Go High Level comes in. It's like that friend who has a solution for everything. Whether you are working on creating an outstanding sales funnel or sending out an email campaign, this platform has your back. The best part? They let you test drive everything with a 14-day free trial. It's like trying out a new car but for your business. And if you ever need assistance, their support team is just a click away. Pretty exciting, huh?

So, How Much Does It Cost?
Alright, let's talk about the financial side. Go High Level offers 3 main plans. The Agency Starter Plan is perfect if you're just starting or have a small business. It's loaded with all the essential tools, and it's quite cost-effective. But if you're looking to scale up, the Agency Unlimited Plan is your best choice. It's like the VIP pass at a concert, giving you access to everything without any limitations. Not sure about committing? Remember that 14-day free trial I mentioned? It's a great way to give it a try without any obligations. Lastly, they offer a Pro plan that includes "SaaS mode," where you can white label the product under your brand. Fantastic!

Why Everyone's Raving About It:
In a world full of sophisticated digital tools, Go High Level is like that all-in-one Swiss Army knife. There's no need to switch between apps because it has everything under one roof. Whether you're a newcomer or an experienced marketer, it's super user-friendly. It's not just about launching impressive campaigns; they ensure you understand their performance with top-notch analytics. There's even a white-label feature for marketing agencies, so you can add your brand and impress your clients.

Here is a link to their 14-day free trial:
https://www.gohighlevel.com/?fp_ref=get-started-now.

[–] manager123321@kbin.social -3 points 1 year ago

Exploring Go High Level:

  1. What’s the Enthusiasm About?
    Hello there! Are you familiar with Go High Level? If not, let's break it down. Imagine managing multiple apps for marketing. Sounds busy. That's where Go High Level comes in. It's like that friend who has a solution for everything. Whether you are working on creating an outstanding sales funnel or sending out an email campaign, this platform has your back. The best part? They let you test drive everything with a 14-day free trial. It's like trying out a new car but for your business. And if you ever need assistance, their support team is just a click away. Pretty exciting, huh?

  2. So, How Much Does It Cost?
    Alright, let's talk about the financial side. Go High Level offers 3 main plans. The Agency Starter Plan is perfect if you're just starting or have a small business. It's loaded with all the essential tools, and it's quite cost-effective. But if you're looking to scale up, the Agency Unlimited Plan is your best choice. It's like the VIP pass at a concert, giving you access to everything without any limitations. Not sure about committing? Remember that 14-day free trial I mentioned? It's a great way to give it a try without any obligations. Lastly, they offer a Pro plan that includes "SaaS mode," where you can white label the product under your brand. Fantastic!

  3. Why Everyone's Raving About It:
    In a world full of sophisticated digital tools, Go High Level is like that all-in-one Swiss Army knife. There's no need to switch between apps because it has everything under one roof. Whether you're a newcomer or an experienced marketer, it's super user-friendly. It's not just about launching impressive campaigns; they ensure you understand their performance with top-notch analytics. There's even a white-label feature for marketing agencies, so you can add your brand and impress your clients.

Here is a link to their 14-day free trial:
https://www.gohighlevel.com/?fp_ref=get-started-now.