SShortSingh.
Back to feed

Docker bypasses UFW firewall rules, exposing container ports to local networks

0
·1 views

A technical investigation has revealed that Docker silently overrides UFW firewall rules on Linux systems, including Raspberry Pi OS, by injecting its own iptables chains ahead of UFW's in the packet-filtering order. When a container port is published, Docker applies a DNAT rule that redirects traffic to the container before UFW's rules are ever evaluated, making the port reachable across the local network despite UFW showing it as blocked. The same port blocked for a host process becomes fully accessible when served from a container, yet UFW's status output shows no difference between the two scenarios. This occurs because Docker documents its iptables manipulation as intended behavior, but UFW's status tool only reflects its own rules and cannot account for Docker's parallel routing. Users can mitigate the exposure by binding container ports explicitly to 127.0.0.1 or by adding blocking rules directly to Docker's DOCKER-USER chain.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

How to Build Variable-Duration Appointment Slot Scheduling in Laravel

A Laravel developer has outlined a gap-based approach to appointment scheduling that handles services of varying durations, such as 15-minute consultations and 60-minute procedures. Rather than generating fixed time slots, the method treats a doctor's availability as a continuous timeline and identifies open gaps between existing bookings. The algorithm retrieves all booked appointments within a working window, calculates the free intervals between them, and checks whether each gap is long enough to fit the requested service. Overlap detection logic ensures that only genuinely available start times are returned, with configurable increment intervals of 5, 10, or 15 minutes. The approach is implemented using Laravel's Eloquent queries and Carbon date handling to iterate through the schedule and build a list of valid slots.

0
ProgrammingDEV Community ·

AWS Community Builder Launches Free Event Management Platform Eventinary

A developer who received AWS credits through the AWS Community Builder program has launched Eventinary, a free event management platform aimed at technical communities. The platform supports the full event lifecycle, including registrations, speaker management, scheduling, digital invitations, and attendee tracking. Built on AWS cloud infrastructure with scalability and reliability in mind, it is designed to handle meetups, workshops, conferences, and hackathons. The creator chose to make it free for community groups, reasoning that organizers should not need to pay for yet another software subscription to run a technical event. The project was driven by a desire to convert the resources received from AWS into tangible value for the broader developer community.

0
ProgrammingDEV Community ·

AWS Community Builder Launches Free Event Management Platform Eventinary

A developer who received AWS credits through the AWS Community Builder program used them to build Eventinary, a free event management platform aimed at technical communities. The platform supports the full event lifecycle, including registrations, speaker management, scheduling, digital invitations, and attendee tracking. It is designed to serve meetups, workshops, conferences, and hackathons without charging organizers a subscription fee. Built on AWS cloud infrastructure with scalability and reliability in mind, the platform is intended as a way for the developer to give back to the community that supported him. The core idea is that resources received as a community builder are reinvested to help other community builders run their events more easily.

0
ProgrammingDEV Community ·

JavaScript Variables Explained: Differences Between let, const, and var

JavaScript offers three ways to declare variables: var, let, and const, each with distinct behaviors. The const keyword prevents reassignment of values, while let and var function similarly but with key differences in scope and redeclaration rules. Unlike let and const, var allows the same variable to be declared multiple times within the same scope. One notable drawback of var is hoisting, where variable declarations are automatically moved to the top of their scope and initialized as undefined before the code runs. Understanding these differences is essential for writing predictable and bug-free JavaScript code.

Docker bypasses UFW firewall rules, exposing container ports to local networks · ShortSingh