• 0 Posts
  • 6 Comments
Joined 2 years ago
cake
Cake day: July 5th, 2023

help-circle
  • There can only be so many different server config combinations for algorithm, crypto mode, key size etc, so it would be trivial to have a bot try several combinations and nail your setup on the 5th try or whatever, especially if you selected “standard good” setups, which you should if you’re opening a port.

    But overall it will weaken the protocol and there is a risk, even if it’s small, of a downgrade attack being discovered. Simply by having options means that it’s possible to trick the server or force it into a more vulnerable state. You can’t get rid of that except by completely removing the options in the first place because there will be literally nothing to downgrade to.

    WG just isn’t into that risk. It’s cool if you want it and I won’t say you’re wrong in general because everyone has their preferences and makes trade-offs to set things up the way that they want, but in this particular context it goes against the design principles of WG by introducing complexity and risk, which is not what it’s about. There’s many other options if that’s what you’re looking for, and a lot of them are just as great/secure.


  • I think the biggest systemic issue in most places is that most people don’t actually know how to train people, including most senior staff. Very few people are actually natural trainers/instructors, so they have to be trained in how to train, and the expectations that they do so has to be part of company culture as well as time baked into the workday to do it, because it DOES take time. It pays off huge in the long run but it can be hard to see the forest through the trees if the management themselves don’t know or understand the value.

    As much as I hate corporate jobs they’re generally better than small companies about having a formalized training program. It’s a shame because there’s so much garbage in corporate culture that a lot of small businesses don’t want to implement the good with the bad.

    One thing I’ve seen over the years is that a TON of businesses have NO IDEA how to be functional. It’s a person that started in their garage and managed to grow and they just do stuff, and keep just doing stuff and hiring more people to do stuff and quickly outgrow the garage but don’t introduce sound business practices that you need to run things effectively. It’s crazy how many businesses are like that.



  • It can be both. Jobs should invest in their people, but individuals should also take some ownership of their own skills.

    The apprentice/journeyman dynamic was a lot better suited to a time when a) people left their hometowns a lot less, b) information was MUCH less accessible except from people who showed you how, and c) businesses put a lot more stock into their people as an asset, instead of treating labor as a liability.

    A isn’t anyone’s fault.

    B isn’t anyone’s fault.

    C is where businesses have gone sour, but it’s not like businesses have ever been well known for taking care of their people (labor laws, unions, OSHA are all examples of this from history)

    It’s not propaganda that people need to take ownership of their own skills and careers. Nobody’s responsible for you or your success but you. If you want to be good at what you do then that’s on you. You can take what your job gives you and that’s it, and you’ll probably do fine at whatever tasks you got specific OJT for, but unless you get lucky or play your cards right that’s not going to make you very successful.

    I really don’t want to sound like an old person saying that kids these days want things handed to them, and I really do think that employers in general don’t invest in their entry level workers as well as they used to, but expecting an employer to take you from know-nothing to a master of your craft is naive, frankly, because the days of someone working at a place for 10-30 years are just gone, and everyone has accepted it. There’s a ton of reasons why that’s the case and a lot of that is employers not incentivising employees to stay via wage growth, promotion opportunities, and training, but there’s a lot of other factors. Either way things have changed, and it doesn’t really do much except make you sound like you need a waahmbulance if you just sit back on your haunches and complain about it.

    You can still become an apprentice if you want to work a trade, and a good union will train you up if you’re a good worker, but that isn’t fast. It was never fast, and most people aren’t satisfied with the pace today, because it doesn’t get you earning six figures out the gate. You had to work hard, earn a good reputation, and stay in the area for 10-20 years. Most people don’t want to do that, and that dynamic never took a hard root in the tech sector in the first place, which is where this conversation started.

    I encourage you to stick to a career that you enjoy enough to take some joy in getting better at your skills for the sake of getting better at stuff instead of just trying to earn a paycheck. Nothing wrong with a job being just a means to an end, but I say this because you’ll enjoy your jobs much better if you’re passionate about what you do, and you’ll naturally be drawn to opportunities to gain mastery in skills that will make you more successful.

    None of this might change your mind, might just piss you off even, but the guy you’re replying to sounds like he enjoys the job enough that he’s trying to be better for the sake of being better. I wouldn’t knock them for that.


  • I think your example of SSH is actually the perfect counterpoint to your position!

    SSH is versatile but there’s SO many ways to configure it in an insecure way. It’s important for SSH to be versatile because of how many different devices need it, but that also means it’s really easy to have a config that supports crappy ciphers (3DES, RC4, etc), or enabling root login, or pick any other hundred problems that are either due to user misconfigs or just inherent vulnerabilities in a cipher or key exchange method. Its versatility is the core of its weaknesses.

    For ssh, there will for sure be bots hunting the internet for vulnerable ssh servers very soon after. Automating the process of getting in

    This already happens right now. If you have 22 open, your firewall is getting hammered with bots trying to get in, regardless of what cipher you’re using, trying to exploit known weaknesses.

    WG was never meant to be a swiss army knife, even though it is also versatile. It’s designed to be fast, secure, and as dummy proof as possible.

    giving a choice of crypto, but not adding to the protocol with negotiation.

    I’m not sure how you’d achieve this. If you have a mechanism to change cipher modes then there would be part of the codebase and handshake that validates settings in some way, which adds potential attack vector.

    History shows that every cipher mode eventually will be vulnerable to new computing power, I don’t think that’s avoidable. Quantum computing is the next big event on the horizon, which is why quantum resistant ciphers, even old ones that never really got adopted, are getting a lot of attention if they’re deemed to be quantum resistant.

    The important thing is that if, not when, it’s reported that the cipher is vulnerable that people harden their networks in other ways until a new cipher mode is implemented. That’s just how it works IMO. Edge security cannot and should not be your only security method anyways.

    Overlay VPNs like tailscale and zerotier are interesting to me because you don’t have to open any ports. I’m sure they have their own inherent vulnerabilities also but they don’t make you punch holes in your firewall, which makes them less vulnerable to random attackers trying to scan your network edge.


  • Even if it is the “best” it gives one target to try to find a weakness in, rather than many.

    It sounds as if you’re falling prey to the allure of security through obscurity.

    I’d like to remind you of Kerckhoff’s Principle.

    a cryptosystem should be secure, even if everything about the system, except the key, is public knowledge

    What this is saying is that in a secure cryptosystem all you need to secure is the key.

    Curve 25519 is, for the time being, considered a secure cryptosystem. It’s likely that in the future it will become obsolete, but we’re not there yet. When we get there WG will port to a new cipher that is more secure.

    Even if you set your configs to not negotiate, just the fact that the stack COULD negotiate opens you up to downgrade attacks. Also, anybody trying to connect would get some kind of hello/response traffic that would broadcast your (non negotiable) configs, so what do you gain from being able to choose, except the ability to make mistakes?