Hi guys!

Back in the day I used to have a VM holding nginx and all the crap exposed…and I did set it up with fail2ban. I moved away from it, as the OS upgrade was turning messy, and rebuilt onto an LXC container. How should I use fail2ban/iptables in order to protect/harden my LXC container/server? Do the same conditions apply, or will I have any limitations/issues due to the container itself?

Thanks!

  • Dran
    link
    English
    83 months ago

    Fail2ban and containers can be tricky, because under the hood, you’ll often have container policies automatically inserting themselves above host policies in iptables. The docker documentation has a good write-up on how to solve it for their implementation

    https://docs.docker.com/engine/network/packet-filtering-firewalls/

    For your usecase specifically: If you’re using VMs only, you could run it within any VM that is exposing traffic, but for containers you’ll have to run fail2ban on the host itself. I’m not sure how LXC handles this, but I assume it’s probably similar to docker.

    The simplest solution would be to just put something between your hypervisor and the Internet physically (a raspberry-pi-based firewall, etc)

    • @486
      link
      English
      5
      edit-2
      3 months ago

      No, it is not like Docker. You can treat an LXC container pretty much like a VM in most instances, including firewall rules. To answer the question, you can use fail2ban just like you had done in your VM, meaning you can run it inside the LXC container, where fail2ban can change the firewall rules of that container as it sees fit.

      • @[email protected]OP
        link
        fedilink
        English
        13 months ago

        Thanks I appreciate your reply… I have a bit of concern about an unprivileged container having firewall limitations (as I might have read in the past this was…finicky), but I’m going to give it a shot.

        • @486
          link
          English
          33 months ago

          I’m exclusively running unprivileged LXC containers and haven’t had any issues regarding the firewall, neither with iptables nor nftables.

        • K3CAN
          link
          fedilink
          English
          33 months ago

          I’ve also been running nginx in an unprivileged LXC container. I haven’t used fail2ban, specifically, but crowdsec has been working without issue.

          You can mostly just treat an LXC like a normal VM.