this post was submitted on 10 Feb 2025
729 points (99.3% liked)

linuxmemes

22397 readers
2029 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
  • 5. πŸ‡¬πŸ‡§ Language/язык/Sprache
  • This is primarily an English-speaking community. πŸ‡¬πŸ‡§πŸ‡¦πŸ‡ΊπŸ‡ΊπŸ‡Έ
  • Comments written in other languages are allowed.
  • The substance of a post should be comprehensible for people who only speak English.
  • Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
  • Β 

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 2 years ago
    MODERATORS
     

    Background: 15 years of experience in software and apparently spoiled because it was already set up correctly.

    Been practicing doing my own servers, published a test site and 24 hours later, root was compromised.

    Rolled back to the backup before I made it public and now I have a security checklist.

    (page 2) 50 comments
    sorted by: hot top controversial new old
    [–] punkwalrus@lemmy.world 161 points 1 day ago (1 children)

    Basic setup for me is scripted on a new system. In regards to ssh, I make sure:

    • Root account is disabled, sudo only
    • ssh only by keys
    • sshd blocks all users but a few, via AllowUsers
    • All 'default usernames' are removed, like ec2-user or ubuntu for AWS ec2 systems
    • The default ssh port moved if ssh has to be exposed to the Internet. No, this doesn't make it "more secure" but damn, it reduces the script denials in my system logs, fight me.
    • Services are only allowed connections by an allow list of IPs or subnets. Internal, when possible.

    My systems are not "unhackable" but not low-hanging fruit, either. I assume everything I have out there can be hacked by someone SUPER determined, and have a vector of protection to mitigate backwash in case they gain full access.

    [–] feddylemmy@lemmy.world 69 points 1 day ago (4 children)
    • The default ssh port moved if ssh has to be exposed to the Internet. No, this doesn't make it "more secure" but damn, it reduces the script denials in my system logs, fight me.

    Gosh I get unreasonably frustrated when someone says yeah but that's just security through obscurity. Like yeah, we all know what nmap is, a persistent threat will just look at all 65535 and figure out where ssh is listening.. But if you change your threat model and talk about bots? Logs are much cleaner and moving ports gets rid of a lot of traffic. Obviously so does enabling keys only.

    Also does anyone still port knock these days?

    [–] LordCrom@lemmy.world 4 points 15 hours ago

    I use port knock. Really helps against scans if you are the edge device.

    [–] josefo@leminal.space 4 points 15 hours ago

    Literally the only time I got somewhat hacked was when I left the default port of the service. Obscurity is reasonable, combined with other things like the ones mentioned here make you pretty much invulnerable to casuals. Somebody needs to target you to get anything.

    [–] kernelle@0d.gs 19 points 22 hours ago (1 children)

    Also does anyone still port knock these days?

    Enter Masscan, probably a net negative for the internet, so use with care.

    [–] davidgro@lemmy.world 7 points 21 hours ago (1 children)

    I didn't see anything about port knocking there, it rather looks like it has the opposite focus - a quote from that page is "features that support widespread scanning of many machines are supported, while in-depth scanning of single machines aren't."

    load more comments (1 replies)
    [–] punkwalrus@lemmy.world 3 points 17 hours ago

    Also does anyone still port knock these days?

    If they did, would we know?

    [–] communism@lemmy.ml 38 points 21 hours ago (5 children)

    How are people's servers getting compromised? I'm no security expert (I've never worked in tech at all) and have a public VPS, never been compromised. Mainly just use SSH keys not passwords, I don't do anything too crazy. Like if you have open SSH on port 22 with root login enabled and your root password is password123 then maybe but I'm surprised I've never been pwned if it's so easy to get got...

    [–] nsrxn@lemmy.dbzer0.com 13 points 17 hours ago (1 children)

    glad my root pass is toor and not something as obvious as password123

    [–] communism@lemmy.ml 4 points 17 hours ago

    toor, like Tor, the leet hacker software. So it must be super secure.

    [–] cmnybo@discuss.tchncs.de 27 points 20 hours ago (1 children)

    By allowing password login and using weak passwords or by reusing passwords that have been involved in a data breach somewhere.

    [–] communism@lemmy.ml 7 points 20 hours ago

    That makes sense. It feels a bit mad that the difference between getting pwned super easy vs not is something simple like that. But also reassuring to know, cause I was wondering how I heard about so many hobbyist home labs etc getting compromised when it'd be pretty hard to obtain a reasonably secured private key (ie not uploaded onto the cloud or anything, not stored on an unencrypted drive that other people can easily access, etc). But if it's just password logins that makes more sense.

    [–] flop_leash_973@lemmy.world 5 points 17 hours ago

    That's incredible, I've got the same combination on my luggage.

    [–] pageflight@lemmy.world 6 points 20 hours ago

    The one db I saw compromised at a previous employer was an AWS RDS with public Internet access open and default admin username/password. Luckily it was just full of test data, so when we noticed its contents had been replaced with a ransom message we just deleted the instance.

    load more comments (1 replies)
    [–] kekmacska@lemmy.zip 2 points 11 hours ago
    [–] kibiz0r@midwest.social 74 points 1 day ago (1 children)

    One time, I didn’t realize I had allowed all users to log in via ssh, and I had a user β€œsteam” whose password was just β€œsteam”.

    β€œHey, why is this Valheim server running like shit?”

    β€œWtf is xrx?”

    β€œOh, it looks like it’s mining crypto. Cool. Welp, gotta nuke this whole box now.”

    So anyway, now I use NixOS.

    [–] pageflight@lemmy.world 16 points 20 hours ago

    Good point about a default deny approach to users and ssh, so random services don't add insecure logins.

    [–] mlg@lemmy.world 46 points 23 hours ago (1 children)

    Lol you can actually demo a github compromise in real time to an audience.

    Make a repo with an API key, publish it, and literally just watch as it takes only a few minutes before a script logs in.

    [–] Irelephant@lemm.ee 30 points 20 hours ago (2 children)

    I search commits for "removed env file" to hopefully catch people who don't know how git works.

    [–] raspberriesareyummy@lemmy.world 13 points 20 hours ago* (last edited 20 hours ago) (2 children)

    --verbose please?

    edit: never mind, found it. So there's dumbasses storing sensitive data (keys!) inside their git folder and unable to configure .gitignore...

    [–] Irelephant@lemm.ee 12 points 20 hours ago

    yeah, I just tried it there, people actually did it.

    [–] Amanduh@lemm.ee 3 points 17 hours ago (1 children)

    My work is transferring to github from svn currently

    My condolences

    [–] spicehoarder@lemm.ee 11 points 20 hours ago

    You gremlin lmao

    [–] possiblylinux127@lemmy.zip 8 points 18 hours ago (1 children)

    I like to spin up a public facing server and run tcpdump

    [–] horse_battery_staple@lemmy.world 4 points 14 hours ago (1 children)

    Lol! Honeypot or just bored?

    [–] possiblylinux127@lemmy.zip 4 points 14 hours ago (1 children)

    Actually I was troubleshooting a Firewall issue on site. I just forgot to use the filter arguments to reduce the output.

    Oooof, I know that feeling.

    [–] dadabean@feddit.org 52 points 1 day ago (1 children)

    Interesting. Do you know how it got compromised?

    [–] Tablaste@linux.community 72 points 1 day ago* (last edited 1 day ago) (17 children)

    I published it to the internet and the next day, I couldn't ssh into the server anymore with my user account and something was off.

    Tried root + password, also failed.

    Immediately facepalmed because the password was the generic 8 characters and there was no fail2ban to stop guessing.

    [–] lud@lemm.ee 94 points 1 day ago (1 children)

    Don't use passwords for ssh. Use keys and disable password authentication.

    [–] Voroxpete@sh.itjust.works 51 points 1 day ago* (last edited 1 day ago) (4 children)

    More importantly, don't open up SSH to public access. Use a VPN connection to the server. This is really easy to do with Netbird, Tailscale, etc. You should only ever be able to connect to SSH privately, never over the public net.

    [–] troed@fedia.io 29 points 23 hours ago (8 children)

    It's perfectly safe to run SSH on port 22 towards the open Internet with public key authentication only.

    load more comments (8 replies)
    [–] josefo@leminal.space 3 points 15 hours ago

    Tailscale? Netbird? I have been using hamachi like a fucking neanderthal. I love this posts, I learn so much

    load more comments (2 replies)
    [–] PotatoesFall@discuss.tchncs.de 27 points 1 day ago (14 children)

    wow crazy that this was the default setup. It should really force you to either disable root or set a proper password (or warn you)

    load more comments (14 replies)
    load more comments (15 replies)
    [–] AngryCommieKender@lemmy.world 7 points 18 hours ago

    Use gnome powder to shrink, go behind the counter, kick his ass and get your money back.

    [–] ramius345@sh.itjust.works 24 points 1 day ago* (last edited 1 day ago) (5 children)

    You should turn off ssh password logins on external facing servers at a minimum. Only use ssh keys, install fail2ban, disable ssh root logins, and make sure you have a firewall limiting ports to ssh and https.

    This will catch most scripted login attempts.

    If you want something more advanced, look into https://en.m.wikipedia.org/wiki/Security_Technical_Implementation_Guide and try to find an ansible playbook to apply them.

    load more comments (5 replies)
    [–] ptz@dubvee.org 25 points 1 day ago* (last edited 1 day ago) (4 children)

    And this is why every time a developer asks me for shell access to any of the deployment servers, I flat out deny the request.

    Good on you for learning from your mistakes, but a perfect example for why I only let sysadmins into the systems.

    load more comments (4 replies)
    [–] Rentlar@lemmy.ca 7 points 20 hours ago (1 children)

    I do worry about putting up public servers that other people might rely on because there's something I might not realize making it vulnerable.

    So far I have pubkey root login only on the VPSs I'm messing around with, but my ol' reliable private key from 6 years ago might be beginning to fall behind on encryption standards.

    You may not want root login.

    ssh-keygen -t ed25519

    For that new key hotness

    [–] otacon239@lemmy.world 11 points 23 hours ago

    I’ve always felt that if you’re exposing an SSH or any kind of management port to the internet, you can avoid a lot of issues with a VPN. I’ve always setup a VPN. It prevents having to open up very much at all and then you can open configured web portal ports and the occasional front end protocol where needed.

    load more comments
    view more: β€Ή prev next β€Ί