-5

I don't consider NAT a security measure at all but here is my teachers reasoning of how NAT provides security. My course has been appalling and this reasoning is just laughable to me. This is a £3000 course and this is his explanation.

"If you cannot see or ‘ping’ an internal IP address range, you cannot ‘see’ any devices on the internal network, so cannot gain access to implement any form of malicious intrusion"

If you can't ping the the internal IP this is just stupid - Yes there is DDos attack but this as a explanation, really? I'm in the process of making a formal complaint about the course and this is just one of the things.

Do you regard the tutors statement to be correct? And if not what is wrong with the statement?

17
  • 1
    I do not understand your question nor your remark toward your teacher's explanation. Could you clarify that? Also, while you may or may not have valid reasons to be disappointed by your course, this is irrelevant here.
    – Yuriko
    Commented Sep 8, 2022 at 13:42
  • 2
    Could this question shed some lights for you? How important is NAT as a security layer?
    – Yuriko
    Commented Sep 8, 2022 at 13:46
  • 3
    "If you can't ping the the internal IP this is just stupid" - we have only your interpretation and no context here. But the teacher might use "ping" as a way to tell, that one cannot send packets to an internal system from outside the NAT, except packets related to connections established from inside. Anyway, I don't see any actual question here, this is just complaining -> off-topic. Commented Sep 8, 2022 at 14:20
  • 2
    " What I really want to know is how you would of felt if your lecturer had made a statement like above." - please edit your post to show the actual question you have. This particular one is asking for opinions not facts - which is explicitly off-topic here. For opinions and discussions reddit/r/netsec might be more appropriate. Commented Sep 8, 2022 at 14:22
  • 3
    @Capcom From a practical perspective, though, your tutor is absolutely right: NAT is a security control. It may not have been developed as a security control, but it inherently segregates devices on your local network (a generally trusted zone) from devices on the internet (a generally untrusted zone) in a reliable manner. NAT enforces a security boundary, whether it was originally intended to or not. The ping side of the argument sounds like a misinterpretation - the intended meaning seems clear: "if you can't communicate with the target device, you can't attack it". This, too, is correct.
    – Polynomial
    Commented Sep 8, 2022 at 16:18

1 Answer 1

7

The explanation of your tutor is somewhat correct, but as with anything in life, the truth runs a lot deeper.

What is true

In a very simple NAT setup, in which the router receives one external IP address, and all devices in the internal network are NAT'ed through that IP address, it is indeed true that external devices cannot simply communicate with any internal device.

Consider the following network graph:

┌───────────┐                      ┌────────┐
│           │        233.252.17.56 │        │
│ Internet  │◄────────────────────►│ Router │
│           │                      │        │
└───────────┘                      └────────┘
                                        ▲ 10.0.0.1
                                        │
                                        │
                                        │
                      ┌─────────────────┼───────────────────┐
                      │                 │                   │
                      │                 │                   │
                      │                 │                   │
                      ▼ 10.0.0.4        ▼ 10.0.0.100        ▼ 10.0.0.2
                    ┌────┐         ┌────────┐            ┌─────┐
                    │    │         │        │            │     │
                    │ PC │         │ Laptop │            │ NAS │
                    │    │         │        │            │     │
                    └────┘         └────────┘            └─────┘

An attacker would have no way to directly communicate with the PC at 10.0.0.4, as no port on the router's NAT table would route the packet to the PC.

So in this case, it would indeed improve security, even if any such improvement was merely by coincidence.

What is false

The explanation of "If you can't ping, you can't attack" is just completely wrong. A good example would be nmap's -Pn flag, which ignores any attempts at pinging a host and simply attempts to enumerate open ports. If any such ports are found, an attacker can communicate with the server behind that port, which means it can also be attacked.

Nowadays, DNAT (destination NAT, also called port forwarding) is often used to expose services within a NAT'ed network to the internet. For example, the PC in our previous scenario may host an Unreal Tournament 2004 server on port 7777. This would mean that communicating with 233.252.17.56:7777 would be forwarded by the router to 10.0.0.4:7777. This in turn would allow an attacker to communicate with this service and therefore attack it.

In short

NAT is not a security measure per sé. But it does limit the exposure of devices from an internal network to the outside, which makes exploitation more difficult.

Not the answer you're looking for? Browse other questions tagged .