{"id":10893,"date":"2025-03-01T10:09:44","date_gmt":"2025-03-01T17:09:44","guid":{"rendered":"https:\/\/jasonsblog.ddns.net\/?p=10893"},"modified":"2025-03-01T10:09:44","modified_gmt":"2025-03-01T17:09:44","slug":"docker-engine-28-strengthens-container-security","status":"publish","type":"post","link":"https:\/\/jasonsblog.ddns.net\/index.php\/2025\/03\/01\/docker-engine-28-strengthens-container-security\/","title":{"rendered":"Docker Engine 28 Strengthens Container Security"},"content":{"rendered":"\n<p>Interesting security improvement for Docker 28. Consequently, this blog as well as my <a href=\"https:\/\/jasonsblog.ddns.net\/index.php\/2025\/02\/25\/privacy-search-proxies-searxng-and-whoogle\/\" target=\"_blank\" rel=\"noreferrer noopener\">SearxNG and Whoogle<\/a> privacy search proxies all run in Docker on this server. <\/p>\n\n\n\n<p><a href=\"https:\/\/linuxiac.com\/docker-engine-28-strengthens-container-security\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/linuxiac.com\/docker-engine-28-strengthens-container-security\/<\/a><\/p>\n\n\n<div class=\"wp-block-ub-divider ub_divider ub-divider-orientation-horizontal\" id=\"ub_divider_d1e4cabc-c923-4cf3-851f-0a1ee1eb3262\"><div class=\"ub_divider_wrapper\" style=\"position: relative; margin-bottom: 2px; width: 100%; height: 2px; \" data-divider-alignment=\"center\"><div class=\"ub_divider_line\" style=\"border-top: 2px solid #ccc; margin-top: 2px; \"><\/div><\/div><\/div>\n\n\n<h5 class=\"wp-block-heading\">Docker Engine 28 enhances security by blocking unpublished container ports from LAN access, reducing exposure risks.<\/h5>\n\n\n\n<p>By Bobby Borisov<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.shortpixel.ai\/spai\/q_lossy+ret_img+to_auto\/linuxiac.com\/wp-content\/uploads\/2025\/03\/docker28-1024x576.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Docker, a leading open-source platform for developing, shipping, and running applications inside containers, has officially rolled out Docker Engine 28, an update brimming with enhancements that lock down container networking by default.<\/p>\n\n\n\n<p>Previously, containers on Docker\u2019s default \u201cbridge\u201d network could be accessed if a user\u2019s host firewall was permissive. However, starting with Docker v28, these unpublished ports are blocked by default, effectively shutting the door to these local network exploits.<\/p>\n\n\n\n<p>Who might be affected? Upgrading to the new version will seamlessly improve security for most Docker users on a single machine. Docker Desktop users are not impacted since the internal networking there already includes protection for unpublished ports.<\/p>\n\n\n\n<p>Beyond the headline security updates, Docker Engine 28 brings several useful additions and improvements:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker now explicitly requires ipset support in the Linux kernel to handle new filter rules.<\/li>\n\n\n\n<li>Developers can now use <code>docker run --mount type=image,image-subpath=[subpath] ...<\/code> to mount an image or a specific path from an image directly inside a container.<\/li>\n\n\n\n<li><code>docker images --tree<\/code> now shows you additional metadata in a tree-like output, making it easier to visualize your local images and their relationships.<\/li>\n\n\n\n<li><code>docker load \/ save \/ history<\/code> commands now accept <code>--platform<\/code>, enabling single-platform operations on multi-arch images.<\/li>\n\n\n\n<li>When containers boot, they broadcast ARP or neighbor advertisements to tie addresses to the correct new MAC.<\/li>\n<\/ul>\n\n\n\n<p>As always with every new Docker release, a wide range of smaller issues have been addressed, from faster bridging connections to more consistent behavior in commands like&nbsp;<code>docker export<\/code>. Windows users may also notice more stable container usage thanks to an option letting Docker manage containers as a child process.<\/p>\n\n\n\n<p>For more information on all changes, see Docker Engine 28\u2019s <a href=\"https:\/\/docs.docker.com\/engine\/release-notes\/28\/\" target=\"_blank\" rel=\"noreferrer noopener\">release notes<\/a> or visit this article on the <a href=\"https:\/\/www.docker.com\/blog\/docker-engine-28-hardening-container-networking-by-default\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Blog<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Interesting security improvement for Docker 28. Consequently, this blog as well as my SearxNG and Whoogle privacy search proxies all run in Docker on this server. https:\/\/linuxiac.com\/docker-engine-28-strengthens-container-security\/ Docker Engine 28 enhances security by blocking unpublished container ports from LAN access, reducing exposure risks. By Bobby Borisov Docker, a leading open-source platform for developing, shipping, and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-10893","post","type-post","status-publish","format-standard","hentry","category-tech"],"blocksy_meta":[],"featured_image_src":null,"author_info":{"display_name":"Jason","author_link":"https:\/\/jasonsblog.ddns.net\/index.php\/author\/jturning\/"},"_links":{"self":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/10893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/comments?post=10893"}],"version-history":[{"count":1,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/10893\/revisions"}],"predecessor-version":[{"id":10894,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/10893\/revisions\/10894"}],"wp:attachment":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/media?parent=10893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/categories?post=10893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/tags?post=10893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}