I’ve spent some time searching this question, but I have yet to find a satisfying answer. The majority of answers that I have seen state something along the lines of the following:

  1. “It’s just good security practice.”
  2. “You need it if you are running a server.”
  3. “You need it if you don’t trust the other devices on the network.”
  4. “You need it if you are not behind a NAT.”
  5. “You need it if you don’t trust the software running on your computer.”

The only answer that makes any sense to me is #5. #1 leaves a lot to be desired, as it advocates for doing something without thinking about why you’re doing it – it is essentially a non-answer. #2 is strange – why does it matter? If one is hosting a webserver on port 80, for example, they are going to poke a hole in their router’s NAT at port 80 to open that server’s port to the public. What difference does it make to then have another firewall that needs to be port forwarded? #3 is a strange one – what sort of malicious behaviour could even be done to a device with no firewall? If you have no applications listening on any port, then there’s nothing to access. #4 feels like an extension of #3 – only, in this case, it is most likely a larger group that the device is exposed to. #5 is the only one that makes some sense; if you install a program that you do not trust (you don’t know how it works), you don’t want it to be able to readily communicate with the outside world unless you explicitly grant it permission to do so. Such an unknown program could be the door to get into your device, or a spy on your device’s actions.

If anything, a firewall only seems to provide extra precautions against mistakes made by the user, rather than actively preventing bad actors from getting in. People seem to treat it as if it’s acting like the front door to a house, but this analogy doesn’t make much sense to me – without a house (a service listening on a port), what good is a door?

  • KalciferOP
    link
    15 months ago

    A Firewall might be more advanced than just NAT/poking a hole, it may do intrusion detection (whatever that means) and DDoS protection

    I mean, sure, but the original question of why there’s a need for a second firewall still exists.

    Maybe you’ve a bunch of IoT devices in your network that are sold by a Chinese company or any IoT device (lol) and you don’t want them to be able to access the internet because they’ll establish connections to shady places and might be used to access your network and other devices inside it.

    This doesn’t really answer the question. The device without a firewall would still be on the same network as the “sketchy IoT devices”. The question wasn’t about whether or not you should have outgoing rules on the router preventing some devices from making contact with the outside world, but instead was about what risk there is to a device that doesn’t have a firewall if it doesn’t have any services listening.

    Essentially the same answer and in #3

    Somewhat, only I would solve it using an application layer firewall rather than a packet filtering firewall (if it’s even possible to practically solve that with a packet filtering firewall without just dropping all outgoing packets, that is).

    just don’t get a hardware firewall

    What is the purpose of these devices? Is it because enterprise routers don’t contain a firewall within them, so you need a dedicated device that offers that functionality?

    • @[email protected]
      link
      fedilink
      English
      1
      edit-2
      5 months ago

      I don’t know what else is there to answer about the purpose of a hardware firewall.

      Hardware firewalls have their use cases, mostly overkill for homelabs and most companies but they have specific features you may want that are hard or impossible to get in other ways.

      A hardware firewall may do the following things:

      • Run DPI and effectively block machines on the network to access certain protocols, websites, hosts or detect whenever some user is about to download malware and block it;
      • Run stats and alert sysadmins of suspicious behaviors like a user sending large amount of confidential data to the outside;
      • Have “smart” AI features that will detect threats even when they aren’t known yet;
      • Provide VPN endpoints and site-to-site connections. This is very common in brands like WatchGuard;
      • Higher throughput than your router while doing all the other operations above;
      • Better isolation.

      An isolated device is the fact that you can then play around with your routers without having to think about the security as much - you may break them, mess some config but you can be sure that the firewall is still in place and doing its job. The firewall becomes both a virtual and a physical and physiological barrier between your network and the outside, there’s less risk of plugging a wire on the wrong spot or a apply a configuration and suddenly having your entire network exposed.

      Sure you may be able to setup something on OpenWRT to cover most of the things I listed before but how much time will you spend on that? Will it be as reliable? What about support? A Pi-hole is also another common solution for those problems, and it may work until a specific machines devices to ignore its DNS server and go straight to the router / outside.

      You can even argue that you can virtualize something like pfSense or OPNsense on some host that also virtualizes your router and a bunch of other stuff, however, is it wise? Most likely not. Virtualization is mostly secure but we’ve seen cases from time to time where a compromised VM can be used to gain access to the host or other VMs, in this case the firewall could be hacked to access the entirety of your network.

      When you’ve to manage larger networks, lets say 50* devices I believe it becomes easier to see how a hardware firewall can become useful. You can’t simply trust all those machines, users and software policies in them to ensure that things are secure.