this post was submitted on 11 Mar 2024
213 points (90.5% liked)

Selfhosted

40347 readers
463 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I use nftables to set my firewall rules. I typically manually configure the rules myself. Recently, I just happened to dump the ruleset, and, much to my surprise, my config was gone, and it was replaced with an enourmous amount of extremely cryptic firewall rules. After a quick examination of the rules, I found that it was Docker that had modified them. And after some brief research, I found a number of open issues, just like this one, of people complaining about this behaviour. I think it's an enourmous security risk to have Docker silently do this by default.

I have heard that Podman doesn't suffer from this issue, as it is daemonless. If that is true, I will certainly be switching from Docker to Podman.

you are viewing a single comment's thread
view the rest of the comments
[–] JustEnoughDucks@feddit.nl 17 points 8 months ago (20 children)

This is standard, but often unwanted, behavior of docker.

Docker creates a bunch of chain rules, but IIRC, doesn't modify actual incoming rules (at least it doesn't for me) it just will make a chain rule for every internal docker network item to make sure all of the services can contact each other.

Yes it is a security risk, but if you don't have all ports forwarded, someone would still have to breach your internal network IIRC, so you would have many many more problems than docker.

I think from the dev's point of view (not that it is right or wrong), this is intended behavior simply because if docker didn't do this, they would get 1,000 issues opened per day of people saying containers don't work when they forgot to add a firewall rules for a new container.

Option to disable this behavior would be 100x better then current, but what do I know lol

[–] N0x0n@lemmy.ml 2 points 8 months ago (2 children)

Option to disable this behavior would be 100x better then current, but what do I know lol

Prevent docker from manipulating iptables

Don't know what it's actually doing, I'm just learning how to work with nftables, but I saved that link in case oneday I want to manage the iptables rules myself :)

[–] Auli@lemmy.ca 1 points 8 months ago (1 children)

Good luck. Your going to have to change the rules whenever the up address of the container changes.

[–] N0x0n@lemmy.ml 0 points 8 months ago* (last edited 8 months ago)

If you are talking about the IP address then just add a static address, no? I do it anyway in my docker compose:

...
    networks:
      traefik.net:
        ipv4_address: 10.10.10.99

networks:
    traefik.net:
      name: traefik-net
      external: true

I'm not an expert so maybe I'm wrong, if so do not hesitate to correct me !

EDIT: If the IP address doesn't change, you do not need to change to routing and iptables/nftables rules. ??

load more comments (17 replies)