this post was submitted on 24 Jun 2024
680 points (97.9% liked)
Programmer Humor
32483 readers
354 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It wasn't designed for a security purpose in the first place. So turn the question around: why does NAT make a network more secure at all?
The answer is that it doesn't. Firewalls work fine without NAT. Better, in fact, because NAT itself is a complication firewalls have to deal with, and complications are the enemy of security. The benefits of obfuscating hosts behind the firewall is speculative and doesn't outweigh other benefits of end to end addressing.
The main benefit of a NAT is that by default it prevents all external access to the hosts inside the network. Any port you have open is not accessible unless explicitly forwarded.
This has a lot of security benefits. Regardless, everything you said is sounds true to me.
I still have to initiate the outgoing UDP. Are you talking about the specific case where any software running on my host can initiate it without me requesting?
Edit: apparently NAT is full of security bugs
Understood. CG-NAT has been so annoying, I would love for IPv6 to completely replace v4 ASAP
You can get exactly the same benefit by blocking non-established/non-related connections on your firewall. NAT does nothing to help security.
Edit: BTW--every time I see this response of "NAT can prevent external access", I severely question the poster's networking knowledge. Like to the level where I wonder how you manage to config a home router correctly. Or maybe it's the way home routers present the interface that leads people to believe the two functions are intertwined when they aren't.
I didn't mean prevent, just makes it harder by default. You can still open connections from within the NAT
Edit: I do admit to failing at accessing my IPv6 PC from my IPv6 phone
Edit2: apparently NAT is full of security bugs
If your home router blocked incoming connections on IPv4 by default now, then it's likely to continue doing so for IPv6. At least, I would hope so. The manufacturer did a bad job if otherwise.
I figure the mobile carrier was blocking incoming connections to my phone. This was a couple of years ago, things might have changed since then.
Yeah, no. If remote hosts could not send traffic to hosts behind NAT almost nothing would work.
The hacks employed to make NAT work make security worse, not better.
You're talking about NAT traversal? We do have control over which we apps we run though?
Edit: apparently NAT is full of bugs