Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chefbridgetkromhout
This document discusses how DramaFever scaled their internet TV platform on AWS using Docker, Packer, and Chef. It describes how they built Docker images for consistent development and deployment, used Packer to build AMIs for consistent server provisioning, and implemented Chef recipes to define server configurations. The tools helped them achieve faster development cycles, consistent environments, and improved ability to automatically scale their infrastructure on AWS.
1. Create a Dockerfile that defines the base image, installs Nginx and any modules, and exposes ports 80 and 443.
2. Build the image from the Dockerfile using "docker build ."
3. Run a container from the new image and publish the ports so Nginx is accessible.
This document discusses Docker security. It begins by introducing Docker and containers, then covers securing Docker images through signing and scanning. It discusses how Docker uses namespaces and cgroups for isolation. It also addresses securing the Docker daemon and containers, as well as operational concerns around deployment, networking, monitoring, and logging of containers. It concludes by looking at future directions like unikernels and serverless architectures.
Overview of Docker 1.11 features(Covers Docker release summary till 1.11, runc/containerd, dns load balancing ipv6 service discovery, labels, macvlan/ipvlan)
Delve Labs was present during the GoSec 2016 conference, where our lead DevOps engineer presented an overview of the current options available for securing Docker in production environments.
https://www.delve-labs.com
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, DockerDocker, Inc.
Join SwarmKit maintainers Drew and Nishant as they showcase features that have made Swarm Mode even more powerful, without compromising the operational simplicity it was designed with. They will discuss the implementation of new features that streamline deployments, increase security, and reduce downtime. These substantial additions to Swarm Mode are completely transparent and straightforward to use, and users may not realize they're already benefiting from these improvements under the hood.
Looking at how people, with current deployments, can start using docker with out having to replace anything. Also giving a migration path that allows testing the separate pieces and migrating over slowly without painting yourself into a corner. Also covering why you might want to do this and the problems it may help to solve.
Docker - Demo on PHP Application deployment Arun prasath
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.
In this demo, I will show how to build a Apache image from a Dockerfile and deploy a PHP application which is present in an external folder using custom configuration files.
The document provides an overview of getting started with Docker. It discusses what Docker is, how containerization differs from virtualization, and how to install Docker. It covers building Docker images using Dockerfiles, the difference between images and containers, and common Docker commands. The document also compares traditional deployment workflows to those using Docker, demonstrating how Docker can help ensure consistency across environments.
The document discusses Windows containers and how they compare to Linux containers. It covers installing and using Windows containers, building Windows container images, networking and data volumes, and running containers in production using tools like Docker Swarm and Kubernetes. It also explores Windows Hyper-V isolation and the potential future of running more applications as containers on Windows.
Deploying Windows Containers on Windows Server 2016Ben Hall
This document discusses deploying Docker containers on Windows Server 2016. It provides an introduction to Docker and containers, explains how containers work on Windows, and demonstrates how to deploy common applications like IIS and ASP.NET within Windows containers. It also covers building Windows-based Docker images, running containers in production, and the future of containers on Windows platforms.
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...Docker, Inc.
At Docker, we are striving to enable the extensibility of Docker via "Plugins" and make them available for developers and enterprises alike. Come attend this talk to understand what it takes to build, ship, store and run plugins. We will deep dive into plugin lifecycle management on a single engine and across a swarm cluster. We will also demonstrate how you can integrate plugins from other enterprises or developers into your ecosystem. There will be fun demos accompanying this talk! This will be session will be beneficial to you if you: 1) Are an ops team member trying to integrate Docker with your favorite storage or network vendor 2) Are Interested in extending or customizing Docker; or 3) Want to become a Docker partner, and want to make the technology integration seamless.
This document provides an overview and agenda for a Docker presentation. It discusses the Docker architecture including underlying technologies like cgroups and namespaces. It also covers the Docker engine/daemon, API, Compose, networking, Swarm, Machine, security and storage. The presentation includes a demo of these Docker concepts and capabilities.
The document outlines an 90 minute introduction to Ansible using Docker. It discusses setting up the environment with Docker, using ad-hoc commands and playbooks to automate tasks like installing Apache and configuring variables. Exercises demonstrate inventory management, templating configurations with Jinja2, and other core Ansible concepts. The document provides an overview but does not cover more advanced topics like dynamic inventory, roles, writing custom modules, or Ansible Tower.
This document summarizes Docker security features as of release 1.12. It discusses key security modules like namespaces, cgroups, capabilities, seccomp, AppArmor/SELinux that provide access control and isolation in Docker containers. It also covers multi-tenant security, image signing, TLS for daemon access, and best practices like using official images and regular updates.
Continuous Integration: SaaS vs Jenkins in CloudIdeato
Dopo la diffusione del Cloud Computing e di Docker, è ancora preferibile
adottare i classici SaaS di Continuous Integration rispetto ad un
sistema Jenkins in cloud?
L'intervento ha l’obiettivo di mostrare un caso d'uso applicato in
Ideato di migrazione da un SaaS quale Travis ad un sistema Jenkins in
cloud, sfruttando funzionalità di on demand tramite il cloud di Amazon
Web Services e di containerizzazione tramite Docker.
Tenendo in considerazione gli aspetti tecnici legati all’implementazione
e quelli che potrebbero impattare sul fronte economico come la mancanza
di automatizzazione e i tempi di setup, verranno mostrati pregi e
difetti di questo sistema e come può essere applicato ad una serie di
progetti. Infine verranno elencati una serie di prodotti recentemente
rilasciati e in grado di far evolvere ulteriormente l'attuale sistema.
Docker is an open platform for building, shipping and running containers. It provides lightweight virtualization that allows applications to run reliably from one computing environment to another. Some key benefits of Docker include guaranteed consistency through isolation of applications and their dependencies into lightweight executable packages called containers.
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...Alexey Petrov
This document discusses using Docker, Consul, and Ansible to manage distributed PHP applications. It covers microservices and SOA architectures, using Docker to containerize infrastructure components like databases and services, service discovery with Consul, and clustering applications with tools like Kubernetes and Nomad. It also addresses Dockerizing Symfony applications and some common pitfalls. The presentation aims to explain how to build and deploy scalable PHP applications using containerization and orchestration technologies.
This document provides an overview of Docker security. It discusses how Docker isolates containers using kernel namespaces and cgroups to limit access to resources. It describes how Docker secures communication with its daemon and stores images cryptographically. It also explains how Linux capabilities and features like AppArmor and Seccomp can restrict container access further.
Dockerize your Symfony application - Symfony Live NYC 2014André Rømcke
With the advent of docker it is now easier then ever to make sure you develop, test and deploy using the same environment, resulting in no more issues caused by differences or missing libraries. Talk will go into the basics of containers, docker, and showcase how you might setup a basic php + mysql environment for your symfony app.
https://joind.in/12188
The Docker Toolbox installs several components to allow users to run Docker on their Mac systems without running a Linux VM directly. It includes the Docker client, Docker Machine, Docker Compose, Docker Kitematic, and Oracle VirtualBox. Docker Machine is used to create and connect to a lightweight Linux VM hosted by VirtualBox where the Docker daemon runs. This allows users to work with Docker images and containers without having to manage a separate Linux environment.
This document discusses security mechanisms in Docker containers, including control groups (cgroups) to limit resources, namespaces to isolate processes, and capabilities to restrict privileges. It covers secure computing modes like seccomp that sandbox system calls. Linux security modules like AppArmor and SELinux are also mentioned, along with best practices for the Docker daemon and container security overall.
The document discusses how to create Dockerfiles to containerize web applications. It provides instructions for creating Dockerfiles for both Node.js and Python web applications. For Node.js, it shows how to create a Dockerfile that copies local code and dependencies into an image based on an Alpine Node image and exposes port 8080. For Python, it demonstrates a Dockerfile that copies code and dependencies into an Alpine image, installs Python and pip, exposes port 5000, and runs a Flask app.
This document provides instructions on various Docker commands and concepts. It begins with definitions of Docker and the differences between VMs and Docker containers. It then covers topics like installing Docker, finding Docker images and versions, building images with Dockerfiles, running containers with commands like docker run, and managing images and containers.
The document discusses using Docker and Docker Compose to run Python and Django applications. It shows commands for pulling Docker images, running containers, linking databases, mounting volumes, building images, and using Docker Compose to define and run multi-container applications. Key aspects covered include using Dockerfiles to build images, linking containers, mounting host directories as volumes, setting environment variables, and running commands on container startup.
It is a simple introduction to the containers world, starting from LXC to arrive to the Docker Platform.
The presentation is focused on the first steps in the docker environment and the scenarious from a developer point of view.
This presentation looks deep into the concept of containerization. What is containerization, how is it different from VMs, how containerization is achieved using Linux containers (LXC), control groups (cgroups) and copy on write file systems and current trends in containerization/docker are described.
The internals and the latest trends of container runtimesAkihiro Suda
The document discusses the internals and latest trends of container runtimes. It describes how container runtimes like Docker use kernel features like namespaces and cgroups to isolate containers. It explains how containerd and runc work together to manage the lifecycles of container processes. It also covers security measures like capabilities, AppArmor, and SELinux that container runtimes employ to safeguard the host system.
The document provides an overview of getting started with Docker. It discusses what Docker is, how containerization differs from virtualization, and how to install Docker. It covers building Docker images using Dockerfiles, the difference between images and containers, and common Docker commands. The document also compares traditional deployment workflows to those using Docker, demonstrating how Docker can help ensure consistency across environments.
The document discusses Windows containers and how they compare to Linux containers. It covers installing and using Windows containers, building Windows container images, networking and data volumes, and running containers in production using tools like Docker Swarm and Kubernetes. It also explores Windows Hyper-V isolation and the potential future of running more applications as containers on Windows.
Deploying Windows Containers on Windows Server 2016Ben Hall
This document discusses deploying Docker containers on Windows Server 2016. It provides an introduction to Docker and containers, explains how containers work on Windows, and demonstrates how to deploy common applications like IIS and ASP.NET within Windows containers. It also covers building Windows-based Docker images, running containers in production, and the future of containers on Windows platforms.
Plug-ins: Building, Shipping, Storing, and Running - Nandhini Santhanam and T...Docker, Inc.
At Docker, we are striving to enable the extensibility of Docker via "Plugins" and make them available for developers and enterprises alike. Come attend this talk to understand what it takes to build, ship, store and run plugins. We will deep dive into plugin lifecycle management on a single engine and across a swarm cluster. We will also demonstrate how you can integrate plugins from other enterprises or developers into your ecosystem. There will be fun demos accompanying this talk! This will be session will be beneficial to you if you: 1) Are an ops team member trying to integrate Docker with your favorite storage or network vendor 2) Are Interested in extending or customizing Docker; or 3) Want to become a Docker partner, and want to make the technology integration seamless.
This document provides an overview and agenda for a Docker presentation. It discusses the Docker architecture including underlying technologies like cgroups and namespaces. It also covers the Docker engine/daemon, API, Compose, networking, Swarm, Machine, security and storage. The presentation includes a demo of these Docker concepts and capabilities.
The document outlines an 90 minute introduction to Ansible using Docker. It discusses setting up the environment with Docker, using ad-hoc commands and playbooks to automate tasks like installing Apache and configuring variables. Exercises demonstrate inventory management, templating configurations with Jinja2, and other core Ansible concepts. The document provides an overview but does not cover more advanced topics like dynamic inventory, roles, writing custom modules, or Ansible Tower.
This document summarizes Docker security features as of release 1.12. It discusses key security modules like namespaces, cgroups, capabilities, seccomp, AppArmor/SELinux that provide access control and isolation in Docker containers. It also covers multi-tenant security, image signing, TLS for daemon access, and best practices like using official images and regular updates.
Continuous Integration: SaaS vs Jenkins in CloudIdeato
Dopo la diffusione del Cloud Computing e di Docker, è ancora preferibile
adottare i classici SaaS di Continuous Integration rispetto ad un
sistema Jenkins in cloud?
L'intervento ha l’obiettivo di mostrare un caso d'uso applicato in
Ideato di migrazione da un SaaS quale Travis ad un sistema Jenkins in
cloud, sfruttando funzionalità di on demand tramite il cloud di Amazon
Web Services e di containerizzazione tramite Docker.
Tenendo in considerazione gli aspetti tecnici legati all’implementazione
e quelli che potrebbero impattare sul fronte economico come la mancanza
di automatizzazione e i tempi di setup, verranno mostrati pregi e
difetti di questo sistema e come può essere applicato ad una serie di
progetti. Infine verranno elencati una serie di prodotti recentemente
rilasciati e in grado di far evolvere ulteriormente l'attuale sistema.
Docker is an open platform for building, shipping and running containers. It provides lightweight virtualization that allows applications to run reliably from one computing environment to another. Some key benefits of Docker include guaranteed consistency through isolation of applications and their dependencies into lightweight executable packages called containers.
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...Alexey Petrov
This document discusses using Docker, Consul, and Ansible to manage distributed PHP applications. It covers microservices and SOA architectures, using Docker to containerize infrastructure components like databases and services, service discovery with Consul, and clustering applications with tools like Kubernetes and Nomad. It also addresses Dockerizing Symfony applications and some common pitfalls. The presentation aims to explain how to build and deploy scalable PHP applications using containerization and orchestration technologies.
This document provides an overview of Docker security. It discusses how Docker isolates containers using kernel namespaces and cgroups to limit access to resources. It describes how Docker secures communication with its daemon and stores images cryptographically. It also explains how Linux capabilities and features like AppArmor and Seccomp can restrict container access further.
Dockerize your Symfony application - Symfony Live NYC 2014André Rømcke
With the advent of docker it is now easier then ever to make sure you develop, test and deploy using the same environment, resulting in no more issues caused by differences or missing libraries. Talk will go into the basics of containers, docker, and showcase how you might setup a basic php + mysql environment for your symfony app.
https://joind.in/12188
The Docker Toolbox installs several components to allow users to run Docker on their Mac systems without running a Linux VM directly. It includes the Docker client, Docker Machine, Docker Compose, Docker Kitematic, and Oracle VirtualBox. Docker Machine is used to create and connect to a lightweight Linux VM hosted by VirtualBox where the Docker daemon runs. This allows users to work with Docker images and containers without having to manage a separate Linux environment.
This document discusses security mechanisms in Docker containers, including control groups (cgroups) to limit resources, namespaces to isolate processes, and capabilities to restrict privileges. It covers secure computing modes like seccomp that sandbox system calls. Linux security modules like AppArmor and SELinux are also mentioned, along with best practices for the Docker daemon and container security overall.
The document discusses how to create Dockerfiles to containerize web applications. It provides instructions for creating Dockerfiles for both Node.js and Python web applications. For Node.js, it shows how to create a Dockerfile that copies local code and dependencies into an image based on an Alpine Node image and exposes port 8080. For Python, it demonstrates a Dockerfile that copies code and dependencies into an Alpine image, installs Python and pip, exposes port 5000, and runs a Flask app.
This document provides instructions on various Docker commands and concepts. It begins with definitions of Docker and the differences between VMs and Docker containers. It then covers topics like installing Docker, finding Docker images and versions, building images with Dockerfiles, running containers with commands like docker run, and managing images and containers.
The document discusses using Docker and Docker Compose to run Python and Django applications. It shows commands for pulling Docker images, running containers, linking databases, mounting volumes, building images, and using Docker Compose to define and run multi-container applications. Key aspects covered include using Dockerfiles to build images, linking containers, mounting host directories as volumes, setting environment variables, and running commands on container startup.
It is a simple introduction to the containers world, starting from LXC to arrive to the Docker Platform.
The presentation is focused on the first steps in the docker environment and the scenarious from a developer point of view.
This presentation looks deep into the concept of containerization. What is containerization, how is it different from VMs, how containerization is achieved using Linux containers (LXC), control groups (cgroups) and copy on write file systems and current trends in containerization/docker are described.
The internals and the latest trends of container runtimesAkihiro Suda
The document discusses the internals and latest trends of container runtimes. It describes how container runtimes like Docker use kernel features like namespaces and cgroups to isolate containers. It explains how containerd and runc work together to manage the lifecycles of container processes. It also covers security measures like capabilities, AppArmor, and SELinux that container runtimes employ to safeguard the host system.
This document discusses containers security. It introduces containers and compares them to virtual machines. It then covers security mechanisms for containers like namespaces, cgroups, and capabilities. It discusses Linux Containers (LXC) and Docker security features such as isolation via namespaces, resource limiting with cgroups, and auditing tools. The document stresses principles like least privilege and read-only containers. It also covers container threats and the container security pipeline including scanning images for vulnerabilities.
Containers: from development to production at DevNation 2015Jérôme Petazzoni
In Docker, applications are shipped using a lightweight format, managed with a high-level API, and run within software containers which abstract the host environment. Operating details like distributions, versions, and network setup no longer matter to the application developer.
Thanks to this abstraction level, we can use the same container across all steps of the life cycle of an application, from development to production. This eliminates problems stemming from discrepancies between those environments.
Even so, these environments will always have different requirements. If our quality assurance (QA) and production systems use different logging systems, how can we still ship the same container to both? How can we satisfy the backup and security requirements of our production stack without bloating our development stack?
In this sess, you will learn about the unique features in containers that allow you to cleanly decouple system administrator tasks from the core of your application. We’ll show you how this decoupling results in smaller, simpler containers, and gives you more flexibility when building, managing, and evolving your application stacks.
How Secure Is Your Container? ContainerCon Berlin 2016Phil Estes
A conference talk at ContainerCon Europe in Berlin, Germany, given on October 5th, 2016. This is a slightly modified version of my talk first used at Docker London in July 2016.
Dojo given at ESEI, Uvigo.
The slides include a set of great slides from a presentation made by Elvin Sindrilaru at CERN.
Docker is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.
This document discusses the evolution of Linux container virtualization, including technologies like LXC, Docker, CoreOS, and Kubernetes. It provides an overview of key concepts in virtualization like namespaces, cgroups, AppArmor, SELinux, and seccomp. It also summarizes features of Linux container engines like LXC, and container platforms like Docker, CoreOS, and the Kubernetes container cluster management system.
The document provides an overview of Docker fundamentals, including what Docker is, its architecture, common operations, and advantages. It begins by explaining that Docker is a container technology that packages code and dependencies together. Containers run atop the same OS kernel and utilize fewer system resources than virtual machines. The document then describes Docker's client-server architecture and underlying technologies like namespaces and cgroups that enable isolation. It also outlines common Docker commands and explains that Dockerfiles define container configurations.
This document summarizes a presentation on testing Docker security. It discusses security mechanisms like namespaces and cgroups that Docker uses. It covers best practices like running containers as non-root users, using read-only containers and volumes, and dropping unnecessary privileges. Tools are presented for auditing the Docker host and images for vulnerabilities, like Docker Bench Security, Lynis, Docker Security Scanning, and Anchore. The document demonstrates using these tools.
An Updated Performance Comparison of Virtual Machines and Linux ContainersKento Aoyama
The document compares the performance of virtual machines (KVM) and Linux containers (Docker) by running benchmarks that test CPU, memory, network, and file I/O performance. It finds that Docker containers perform comparably to native Linux for most benchmarks, while KVM virtual machines have higher overhead and perform worse than Docker containers or native Linux for several tests, especially those involving CPU, random memory access, and file I/O. The study provides a useful comparison of the performance of these two virtualization technologies.
This document summarizes a presentation on container security given by Phil Estes. It identifies several threat vectors for containers including risks from individual containers, interactions between containers, external attacks, and application security issues. It then outlines various security tools and features in Docker like cgroups, Linux Security Modules, capabilities, seccomp, and user namespaces that can help mitigate these threats. Finally, it discusses some future directions for improving container security through more secure defaults, image signing, and network security enhancements.
Internal presentation of Docker, Lightweight Virtualization, and linux Containers; at Spotify NYC offices, featuring engineers from Yandex, LinkedIn, Criteo, and NASA!
Tokyo OpenStack Summit 2015: Unraveling Docker SecurityPhil Estes
A Docker security talk that Salman Baset and Phil Estes presented at the Tokyo OpenStack Summit on October 29th, 2015. In this talk we provided an overview of the security constraints available to Docker cloud operators and users and then walked through a "lessons learned" from experiences operating IBM's public Bluemix container cloud based on Docker container technology.
Unraveling Docker Security: Lessons From a Production CloudSalman Baset
Unraveling Docker Security: Lessons From a Production Cloud
This document discusses Docker security issues in a multi-tenant cloud deployment model where containers from different tenants run on the same host machine. It outlines threats like containers attacking other containers or the host, and describes Docker features for isolation like namespaces, cgroups, capabilities, AppArmor, and restricting the Docker API. Putting these protections together can help provide security, but inherent issues remain with shared kernel access and some features needing further implementation.
Docker is an open platform for building and running distributed applications across multiple isolated containers. It allows encapsulating applications into lightweight executable packages called containers that include all necessary dependencies. The document discusses Docker's architecture, components, image layers, repositories, building images using Dockerfiles, and challenges in implementing Docker in real-world systems due to limitations in separating runtime configuration and data. Competition in the container space from projects like Rocket, Project Atomic, and Vagga is also discussed.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It was originally developed by Google based on years of experience running production workloads at scale. Kubernetes groups containers into logical units called pods and handles tasks like scheduling, health checking, scaling and rollbacks. The main components include a master node that manages the cluster and worker nodes that run application containers scheduled by the master.
Docker provides security for containerized applications using Linux kernel features like namespaces and cgroups to isolate processes and limit resource usage. The Docker daemon manages these Linux security mechanisms to build secure containers. Docker images can also be scanned for vulnerabilities and signed with content trust to ensure only approved container images are deployed in production.
This document provides an overview of Docker for web developers. It defines containers and Docker, discusses the benefits of Docker like faster deployment and portability. It explains key Docker concepts like images, containers, Dockerfile for building images, Docker platform, and commands for managing images and containers. The document also describes what happens behind the scenes when a container is run, and how to install and use Docker on Linux, Windows and Mac.
AgentExchange is Salesforce’s latest innovation, expanding upon the foundation of AppExchange by offering a centralized marketplace for AI-powered digital labor. Designed for Agentblazers, developers, and Salesforce admins, this platform enables the rapid development and deployment of AI agents across industries.
Email: [email protected]
Phone: +1(630) 349 2411
Website: https://www.fexle.com/blogs/agentexchange-an-ultimate-guide-for-salesforce-consultants-businesses/?utm_source=slideshare&utm_medium=pptNg
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Eric D. Schabell
It's time you stopped letting your telemetry data pressure your budgets and get in the way of solving issues with agility! No more I say! Take back control of your telemetry data as we guide you through the open source project Fluent Bit. Learn how to manage your telemetry data from source to destination using the pipeline phases covering collection, parsing, aggregation, transformation, and forwarding from any source to any destination. Buckle up for a fun ride as you learn by exploring how telemetry pipelines work, how to set up your first pipeline, and exploring several common use cases that Fluent Bit helps solve. All this backed by a self-paced, hands-on workshop that attendees can pursue at home after this session (https://o11y-workshops.gitlab.io/workshop-fluentbit).
This presentation explores code comprehension challenges in scientific programming based on a survey of 57 research scientists. It reveals that 57.9% of scientists have no formal training in writing readable code. Key findings highlight a "documentation paradox" where documentation is both the most common readability practice and the biggest challenge scientists face. The study identifies critical issues with naming conventions and code organization, noting that 100% of scientists agree readable code is essential for reproducible research. The research concludes with four key recommendations: expanding programming education for scientists, conducting targeted research on scientific code quality, developing specialized tools, and establishing clearer documentation guidelines for scientific software.
Presented at: The 33rd International Conference on Program Comprehension (ICPC '25)
Date of Conference: April 2025
Conference Location: Ottawa, Ontario, Canada
Preprint: https://arxiv.org/abs/2501.10037
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?steaveroggers
Migrating from Lotus Notes to Outlook can be a complex and time-consuming task, especially when dealing with large volumes of NSF emails. This presentation provides a complete guide on how to batch export Lotus Notes NSF emails to Outlook PST format quickly and securely. It highlights the challenges of manual methods, the benefits of using an automated tool, and introduces eSoftTools NSF to PST Converter Software — a reliable solution designed to handle bulk email migrations efficiently. Learn about the software’s key features, step-by-step export process, system requirements, and how it ensures 100% data accuracy and folder structure preservation during migration. Make your email transition smoother, safer, and faster with the right approach.
Read More:- https://www.esofttools.com/nsf-to-pst-converter.html
Exploring Wayland: A Modern Display Server for the FutureICS
Wayland is revolutionizing the way we interact with graphical interfaces, offering a modern alternative to the X Window System. In this webinar, we’ll delve into the architecture and benefits of Wayland, including its streamlined design, enhanced performance, and improved security features.
⭕️➡️ FOR DOWNLOAD LINK : http://drfiles.net/ ⬅️⭕️
Maxon Cinema 4D 2025 is the latest version of the Maxon's 3D software, released in September 2024, and it builds upon previous versions with new tools for procedural modeling and animation, as well as enhancements to particle, Pyro, and rigid body simulations. CG Channel also mentions that Cinema 4D 2025.2, released in April 2025, focuses on spline tools and unified simulation enhancements.
Key improvements and features of Cinema 4D 2025 include:
Procedural Modeling: New tools and workflows for creating models procedurally, including fabric weave and constellation generators.
Procedural Animation: Field Driver tag for procedural animation.
Simulation Enhancements: Improved particle, Pyro, and rigid body simulations.
Spline Tools: Enhanced spline tools for motion graphics and animation, including spline modifiers from Rocket Lasso now included for all subscribers.
Unified Simulation & Particles: Refined physics-based effects and improved particle systems.
Boolean System: Modernized boolean system for precise 3D modeling.
Particle Node Modifier: New particle node modifier for creating particle scenes.
Learning Panel: Intuitive learning panel for new users.
Redshift Integration: Maxon now includes access to the full power of Redshift rendering for all new subscriptions.
In essence, Cinema 4D 2025 is a major update that provides artists with more powerful tools and workflows for creating 3D content, particularly in the fields of motion graphics, VFX, and visualization.
Download YouTube By Click 2025 Free Full Activatedsaniamalik72555
Copy & Past Link 👉👉
https://dr-up-community.info/
"YouTube by Click" likely refers to the ByClick Downloader software, a video downloading and conversion tool, specifically designed to download content from YouTube and other video platforms. It allows users to download YouTube videos for offline viewing and to convert them to different formats.
Adobe Lightroom Classic Crack FREE Latest link 2025kashifyounis067
🌍📱👉COPY LINK & PASTE ON GOOGLE http://drfiles.net/ 👈🌍
Adobe Lightroom Classic is a desktop-based software application for editing and managing digital photos. It focuses on providing users with a powerful and comprehensive set of tools for organizing, editing, and processing their images on their computer. Unlike the newer Lightroom, which is cloud-based, Lightroom Classic stores photos locally on your computer and offers a more traditional workflow for professional photographers.
Here's a more detailed breakdown:
Key Features and Functions:
Organization:
Lightroom Classic provides robust tools for organizing your photos, including creating collections, using keywords, flags, and color labels.
Editing:
It offers a wide range of editing tools for making adjustments to color, tone, and more.
Processing:
Lightroom Classic can process RAW files, allowing for significant adjustments and fine-tuning of images.
Desktop-Focused:
The application is designed to be used on a computer, with the original photos stored locally on the hard drive.
Non-Destructive Editing:
Edits are applied to the original photos in a non-destructive way, meaning the original files remain untouched.
Key Differences from Lightroom (Cloud-Based):
Storage Location:
Lightroom Classic stores photos locally on your computer, while Lightroom stores them in the cloud.
Workflow:
Lightroom Classic is designed for a desktop workflow, while Lightroom is designed for a cloud-based workflow.
Connectivity:
Lightroom Classic can be used offline, while Lightroom requires an internet connection to sync and access photos.
Organization:
Lightroom Classic offers more advanced organization features like Collections and Keywords.
Who is it for?
Professional Photographers:
PCMag notes that Lightroom Classic is a popular choice among professional photographers who need the flexibility and control of a desktop-based application.
Users with Large Collections:
Those with extensive photo collections may prefer Lightroom Classic's local storage and robust organization features.
Users who prefer a traditional workflow:
Users who prefer a more traditional desktop workflow, with their original photos stored on their computer, will find Lightroom Classic a good fit.
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfTechSoup
In this webinar we will dive into the essentials of generative AI, address key AI concerns, and demonstrate how nonprofits can benefit from using Microsoft’s AI assistant, Copilot, to achieve their goals.
This event series to help nonprofits obtain Copilot skills is made possible by generous support from Microsoft.
What You’ll Learn in Part 2:
Explore real-world nonprofit use cases and success stories.
Participate in live demonstrations and a hands-on activity to see how you can use Microsoft 365 Copilot in your own work!
🌍📱👉COPY LINK & PASTE ON GOOGLE http://drfiles.net/ 👈🌍
Adobe Illustrator is a powerful, professional-grade vector graphics software used for creating a wide range of designs, including logos, icons, illustrations, and more. Unlike raster graphics (like photos), which are made of pixels, vector graphics in Illustrator are defined by mathematical equations, allowing them to be scaled up or down infinitely without losing quality.
Here's a more detailed explanation:
Key Features and Capabilities:
Vector-Based Design:
Illustrator's foundation is its use of vector graphics, meaning designs are created using paths, lines, shapes, and curves defined mathematically.
Scalability:
This vector-based approach allows for designs to be resized without any loss of resolution or quality, making it suitable for various print and digital applications.
Design Creation:
Illustrator is used for a wide variety of design purposes, including:
Logos and Brand Identity: Creating logos, icons, and other brand assets.
Illustrations: Designing detailed illustrations for books, magazines, web pages, and more.
Marketing Materials: Creating posters, flyers, banners, and other marketing visuals.
Web Design: Designing web graphics, including icons, buttons, and layouts.
Text Handling:
Illustrator offers sophisticated typography tools for manipulating and designing text within your graphics.
Brushes and Effects:
It provides a range of brushes and effects for adding artistic touches and visual styles to your designs.
Integration with Other Adobe Software:
Illustrator integrates seamlessly with other Adobe Creative Cloud apps like Photoshop, InDesign, and Dreamweaver, facilitating a smooth workflow.
Why Use Illustrator?
Professional-Grade Features:
Illustrator offers a comprehensive set of tools and features for professional design work.
Versatility:
It can be used for a wide range of design tasks and applications, making it a versatile tool for designers.
Industry Standard:
Illustrator is a widely used and recognized software in the graphic design industry.
Creative Freedom:
It empowers designers to create detailed, high-quality graphics with a high degree of control and precision.
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AIdanshalev
If we were building a GenAI stack today, we'd start with one question: Can your retrieval system handle multi-hop logic?
Trick question, b/c most can’t. They treat retrieval as nearest-neighbor search.
Today, we discussed scaling #GraphRAG at AWS DevOps Day, and the takeaway is clear: VectorRAG is naive, lacks domain awareness, and can’t handle full dataset retrieval.
GraphRAG builds a knowledge graph from source documents, allowing for a deeper understanding of the data + higher accuracy.
WinRAR Crack for Windows (100% Working 2025)sh607827
copy and past on google ➤ ➤➤ https://hdlicense.org/ddl/
WinRAR Crack Free Download is a powerful archive manager that provides full support for RAR and ZIP archives and decompresses CAB, ARJ, LZH, TAR, GZ, ACE, UUE, .
Get & Download Wondershare Filmora Crack Latest [2025]saniaaftab72555
Copy & Past Link 👉👉
https://dr-up-community.info/
Wondershare Filmora is a video editing software and app designed for both beginners and experienced users. It's known for its user-friendly interface, drag-and-drop functionality, and a wide range of tools and features for creating and editing videos. Filmora is available on Windows, macOS, iOS (iPhone/iPad), and Android platforms.
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMaxim Salnikov
Imagine if apps could think, plan, and team up like humans. Welcome to the world of AI agents and agentic user interfaces (UI)! In this session, we'll explore how AI agents make decisions, collaborate with each other, and create more natural and powerful experiences for users.
Why Orangescrum Is a Game Changer for Construction Companies in 2025Orangescrum
Orangescrum revolutionizes construction project management in 2025 with real-time collaboration, resource planning, task tracking, and workflow automation, boosting efficiency, transparency, and on-time project delivery.
Discover why Wi-Fi 7 is set to transform wireless networking and how Router Architects is leading the way with next-gen router designs built for speed, reliability, and innovation.
Copy & Paste On Google >>> https://dr-up-community.info/
EASEUS Partition Master Final with Crack and Key Download If you are looking for a powerful and easy-to-use disk partitioning software,
2. $ whoami
● Patrick Kleindienst
● Computer Science & Media (CS3)
● student trainee at Bertsch Innovation GmbH (since 2014)
● interested in Linux, software development, infrastructure etc.
2
3. Outline
● Review: Hardware virtualization and VMs
● Docker at a glance
● Container internals (using the example of Docker)
● Container security: How secure is Docker?
● Conclusion and further thoughts
● Discussion
3
5. Review: Virtual Machine basics
5
● VM = replication of a computer system
● runs a whole operating system with its
own OS kernel
● hypervisor creates a virtual environment
for each VM (RAM, CPU, Storage, ..)
● hypervisor as an abstraction layer
between host and guest(s)
● each host may run multiple guest VMs
6. Hardware Virtualization: Pros and Cons
single kernel per VM offers high degree of
isolation
hypervisor reduces attack surface
VM escape is considered very difficult
improvement of hardware resources
utilization
guest OS may be different from host OS
● full kernel = almost certainly many bugs
● hypervisor may also ship with bugs
● not as efficient as an ordinary host
● running on virtual hardware is slower than
physical hardware
● highly elastic infrastructure based on VMs
is not so easy6
7. Docker at a
glance
● About Docker
● The Container approach
● Docker architecture
● Demo
7
8. About Docker
● started as dotCloud (shipping Software with LXC)
● release of Docker as Open Source Project (2013)
● slogan: “Build, Ship, Run”
● ease of packaging and deploying applications
● focused on usability
● trigger for DevOps movement
8
9. The Container approach
9
● no more hypervisor, no more VMs
● lightweight Docker Engine running on top
of host OS
● Docker engine runs apps along with their
dependencies as isolated processes
sharing the host kernel (Containers)
● Starting/Stopping a container takes
seconds instead of minutes (or even
hours)
10. Docker architecture (1)
Docker Image:
read-only template containing a minimal OS
(e.g. Ubuntu, Debian, CentOS, ..)
may also contain additional layers (JRE,
Python, Apache, VIM, ..)
published and shared by means of Dockerfiles
Docker Container:
additional read-write layer on top of an image
does not manipulate the underlying image
10
11. Docker architecture (2)
● Docker Client:
○ for interaction with Docker Daemon
○ shares a UNIX socket with the daemon
● Docker Daemon:
○ connects to the same UNIX socket as the
client
○ responsible for starting, stopping and
monitoring containers
11
12. What we’ve learned so far:
● In contrast to VMs, containers running on the same host share the
underlying kernel
● Therefore, they’re lightweight and save lots of resources
● As for starting/stopping/setup, they’re also much faster than traditional
VMs
● Docker distinguishes between Images and Containers
● Docker Images ship with at least a single minimal OS layer12
13. What we DON’T know so far:
Thinking about the underlying technology:
What exactly are file system layers and Copy-on-Write?
How to provide isolation between multiple containers running on same host?
Did Docker really invent all this stuff??
Thinking about security:
Eeehm, … how secure is running a container in the first place?
And what about Docker?13
15. Union file systems (AUFS)
● unification filesystem: stack of multiple directories on an Linux host which
provides a single unified view (like stacked sheets on a overhead
projector)
● involved directories need a shared mount point (union mount)
● shared mount point provides a single view on the mounted directories
● a directory participating in a union mount is called a branch
● result: each layer simply stores what has changed compared to the layers15
18. Namespaces
● isolation mechanism of the Linux kernel
● provide processes with a different views on global resources
● examples: PIDs, network interfaces, mount points
● processes can work on that views without affecting the global
configuration
● Linux makes use of certain system calls for namespace creation
18
19. Mount Namespaces
19
● Linux OS maintains data structure
containing all existing mount points
(which fs is mounted on which path?)
● Kernel allows for cloning this data
structure and pass is to a process or
group of processes
● Process(es) can change their mount
points without side-effects
● e.g. allows for changing the root fs
(similar to chroot)
20. PID Namespaces
20
● in a single process tree, a privileged process
may inspect or kill other processes
● Linux kernel allows for nested PID
namespaces
● Processes inside a PID namespace are not
aware of what’s going on outside
● However, processes in the outer PID
namespace consider them as regular
members of the outer process tree
21. Network Namespaces
● allows a process/group of processes to
see a different set of network interfaces
● each container gets assigned a virtual
network interface
● each virtual network interface is
connected to the Docker daemon’s
docker0 interface
● docker0 routes traffic between containers
and the host (depending on settings)
21
22. Control groups (cgroups)
● mechnism for limiting certain resources a process/group of processes can
call for
● e.g. CPU, Memory, device access, network (QoS), ..
● a cgroup as a whole can be “frozen” and later “unfrozen”
● freeze mechanism allows to easily stop associated idling processes and to
wake them up if necessary
● might prevent a container from “running amok” (e.g. binds all resources or22
23. What we’ve learned:
● union file systems enable re-use of single image layers
● a container makes use of CoW in order to work on read-only images
● multiple namespaces provided by host kernel allow for isolated execution
of container processes
● cgroups as a means for limiting access and resource consumption
23
24. As for security, questions remain:
● The container default user is root. What happens if anyone succeeds
breaking out of a container?
● Is container breakout even possible?
● What about container threats in general?
● What about client-side authentication/authorization in Docker?
● Is there any option to verify the publisher of Docker images in order to
avoid tampering and replay attacks?24
25. Container security:
How secure is
Docker?
● uid 0 - one account to rule them
all
● Demo: Container breakout
● User namespaces, capabilities
and MAC
● Common container threats
● Docker CLI AuthN/AuthZ
● Docker Content Trust
25
26. uid 0 - one account to rule them all
● to get that clear: considering the mechanisms introduced so far, there’s
actually no difference between host root and container root!!
● this can even be expanded: Any user allowed to access the Docker
daemon is effectively root on the host!!
● This is also true for otherwise unprivileged users belonging to the docker
group
● Sounds incredible? Watch and be astonished ;)
26
27. User namespaces to the rescue
● problem: container root is root on host is case of breakout
● solution: “root remapping” (introduced with Docker 1.10)
● maps uid 0 inside container to arbitrary uid outside the container
● caution: user namespaces are disabled by default!
● confinement: there’s only one single user namespace per Docker daemon,
not per container
27
28. Taming root with Capabilities?
● another problem: setuid-root binaries (e.g. /bin/ping)
● these binaries are also executed with the rights of their owner (guess which
user owns ping)
● heavily increases the risk of privilege escalation in case of flaws
● capabilities idea: grant fine-granular access only to what’s absolutely needed
(network sockets in case of ping)
● allows for unprivileged containers (missing in Docker)28
29. One last try: Mandatory Access Control
(MAC)
● Linux standard: Discretionary Access
Control (DAC)
● grants access only by the actor’s identity
(access rights per user)
● every resource (file, directory, ..) has a
owning user/group
● Linux manages acess rights for owner,
group and world (rwx)
29
● another approach: Mandatory Access
Control (MAC)
● access is granted by a policy or rather
fine-granular rules
● Linux implementations: SELinux,
AppArmor (rules per file/directory)
● there’re ready-to-use templates offered by
Docker for both
● writing own policy is tricky and error-prone
30. Container threats: Escaping
● What’s happening?
○ compromising of the host
○ worst case: attacker can do anything on the host system
● Why does it happen?
○ lack of user namespaces
○ insecure defaults/weak configuration (user namespaces disabled)
■ user namespaces disabled30
31. Container threats: Cross-container attacks
● What’s happening?
○ compromising of sensitive containers (e.g.database container)
○ ARP spoofing and steal of credentials
○ DoS attack (e.g. XML bombs)
● Why does it happen?
○ weak network defaults (default bridge configuration in Docker)
○ poor/missing resource limitation defaults31
32. Container threats: Inner-container attacks
What’s happening?
attacker gains unauthorized access to a single container
root cause of previous container threats
Why does it happen?
typically due to non-container related flaws (e.g. webapp vulnerabilities)
out of date software
exposing a container to insecure/untrusted networks32
34. Docker Registry: Challenges
● Docker Registry = kind of git repositoy for Docker Images (public/private)
● Handy for collaboration (e.g. in organization context)
➔challenge 1: Make sure that docker pull actually gives us exactly the
content that we want (identity/integrity)
➔challenge 2: Make sure that we always get the latest version of a
requested software (freshness)34
35. Docker Registry: Attacks (1)
Scenario 1: Attacker hacks into registry server and tampers a single layer of
an up-to-date image (image forgery)
35
36. Docker Registry: Attacks (2)
Scenario 2: Attacker hacks into registry server and provides content which is
actually out of date (replay attack)
36
37. Docker Content Trust: Notary
● Implementation of The Update Framework (TUF), which has its origins in
the TOR project (Apache license)
● focus: publisher identity & freshness guarantees
● relies on several keys which are stored at physically different places
● oncept of online and offline keys (compared to simple GPG)
● offline (root) key remains on a USB stick, smart card, ..
37
39. Docker Content Trust: Registry V2
● Content Addressable System (key-value store)
● pull by hash/pull by digest: key = hash(object)
● self-verifying system (integrity)
● docker pull is a secure operation, as long as we get the correct hash
➔quiz game: How can we ensure to always get the correct hash?
39
40. Conclusion
● Container systems become more and more security-aware
● However, container security is still work in progress
● Namespaces and Capabilities are relatively new kernel features (buggy?)
● root seems to be a never-ending problem
● Docker provides useful defaults, but lacks support for fine-granular
AuthN/AuthZ
40
41. Research Questions (1)
Q1: “Will container technology and it’s security become part of a developer’s
everyday life?”
What I think: “Clearly yes! Facing more and more attack vectors every day,
shipping software by means of containers requires at least a basic
understanding of the underlying container system’s security properties. The
DevOps movement relocates responsibilities like deployment, reliability and
security to developers!”
41
42. Research Questions (2)
Q2: “What about Docker’s future approach in terms of security?”
What I think: “Docker seems to have understood the importance of security for
their tool stack in order to stay successful. In my opinion, the biggest challenge
they’ve to face is integrating security features without damaging the great
usability they offer, since this is what sets them apart from alternative solutions.”
42
43. Research Questions (3)
Q3: “What about Unikernels? How might this technology help improving Docker
security and Docker in general?”
What I think: “Hard to answer. Regarding one of their blog posts, Docker uses
Unikernels for spawning minimal hypervisors and combines them with the
Docker Engine, creating lightweight apps that contain everything it needs to run
Docker under Non-Linux environments. I’m very excited to hear about their future
plans with Unikernels.”
43
44. Research Questions (4)
Q4: “Will container systems ever be really secure some day?”
What I think: “In my opinion, there will never be 100% security. The point is: We
saw that containers completely rely on kernel features, they couldn’t even exist
without a kernel. As a consequence, containers will probably be as secure or
rather as unsecure as the operating system they run on.”
44
46. Sources (1)
46
Internet:
Docker Inc. (2016): Docker Docs [https://docs.docker.com/]
Docker Inc. (2016): What is Docker? [https://www.docker.com/what-docker]
Ridwan, Mahmud (2016): Separation Anxiety: A Tutorial for Isolating Your System with Linux Namespaces
[https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces]
Wikipedia (2016): Descretionary Access Control [https://de.wikipedia.org/wiki/Discretionary_Access_Control]
Wikipedia (2016): Virtuelle Maschine [https://de.wikipedia.org/wiki/Virtuelle_Maschine]
Literature:
#6:
Hypervisor = Virtual Machine Monitor
virtuelle Hardware: Jeder VM wird “vorgegaugelt”, dass sie alleinigen Zugang zur Hardware besitzt (simuliert durch virtuelle Hardware)
auch “Hardware-Virtualisierung” genannt
hier: in Software implementierter Hypervisor, der auf einem Host läuft (Anwendungsprogramm): z.B. VirtualBox (Typ-1-Hypervisor ~> läuft auf Host)
alternativ: Typ-2-Hypervisor (setzt direkt auf Hardware auf), z.B. Xen
#7:
Lauffähigkeit von verschiedenen Betriebssystemen (Windows, Linux, ..) bzw. verschiedenen Versionen
Hypervisor kann ebenfalls Bugs enthalten (kann z.B. zu DoS führen, da Hypervisor für Kontrolle und Zuteilung der Ressourcen zuständig ist)
Effizienz: Hypervisor bindet ebenfalls Ressourcen, hohe Auslastung einer VM kann andere VMs aufgrund der shared Hardware beeinflussen
dynamische Skalierung: Ressourcen dann verfügbar machen, wenn sie gebraucht werden
Kosten, Energieeffizienz
Beispiel Netflix (AWS-Zonen)
Aufsetzen, Hochfahren etc. von VMs braucht Zeit
Folge: keine schnelle Reaktion auf Ausfälle, bzw. redundante VMs im Leerlauf
Deployment:
Produktionsumgebung unterscheidet sich von Test- bzw. Entwicklungsumgebung (vorhandene Software, Dienste etc.)
erfordert aufwendiges Testen
Auftreten unvorhergesehener Fehler aufgrund der Heterogenität der Live- bzw. Testsysteme
#9:
Docker-Fokus: Erleichterung des Packaging- und Deployment-Prozesses
Bauen von sogenannten “Images” und anschließender Betrieb als Container
DevOps = Aufweichung der strikten Trennung zwischen Entwicklung und Systemadministration
dennoch: Fokus darauf, den Overhead für Entwickler möglichst gering zu halten
#12:
Images = read-only Templates, die ein minimales OS enthalten (z.B. Ubuntu) + z.B. Webapplikation (zusammen mit nginx Server)
Image wird aus Repository gepullt, falls nicht lokal auf Host vorhanden
Container = RW-Layer auf einem Image, wird aus einem Image erzeugt
UNIX Socket dient der Kommunikation von Prozessen (IPC = Inter Process Communication)
kurze Demo im Anschluss: Container starten und stoppen
#15:
wichtig; aufgeführte Punkte sind Kernel-Features
Konsequenz: Docker nutzt i.d.R. vorhandene Features, hat das Rad nicht neu erfunden!
#16: AUFS = Advanced Multi-Layered Unification File System
#17:
Jede “Schicht” wird in einem separaten Verzeichnis gespeichert
Beim Start eines Containers werden alle Layer eines Images an einem shared Mount-Point gemountet (union mount)
Das AUFS ermöglicht einen transparenten und einheitlichen Blick auf die Gesamtheit dem am shared Mount-Pount eingehängten Verzeichnisse (vgl. Tageslichtprojektor)
Vorteile:
jeder Layer speichert nur das ab, was sich im Vergleich zu den darunter liegenden Schichten gändert hat
somit sind die einzelnen Schichten de facto voneinander lösgelöst und können wiederverwendet werden (Speichereffizienz!)
ein Container ist nichts anderes als ein zusätzliches Verzeichnis, das “oben drauf” gelegt wird (allerdings mit RW-Rechten)
Ein Container kann gespeichert werden, das heißt, es wird ein neues RO-Image mit den Änderungen des Container-Layers als oberste Schicht erzeugt
#18:
Copy-on-Write: Soll ein File bearbeitet werden, so wird es durch die einzelnen Schichten von oben nach unten gesucht. Sobald es gefunden wurde, wird innerhalb des Container-Layers eine Kopie angelegt. Somit “schattiert” (bzw. verdeckt) das neu angelegte File zukünftig die alte Version.
Löschen erfolgt mit sogenannten “Whiteout-Files”
#19: Bislang klar: Aufbau von Images und Erzeugung von Containern
Unklar: Wenn der Kernel unter allen Containern auf einem Host geshared wird, wie kann dann eine isolierte Umgebung für jeden Container erzeugt werden?
#20: Wie komme ich zu meinem Root-FS innerhalb des Containers?
Mount-Namespace wird u.a. zum Mounten von Volumes benutzt (Verzeichnisse auf dem Host, Laufwerke, Devices, ..)
Check der aktuellen Mount-Points unter Linux: $ mount
#21: Prozesse innerhalb der einzelnen Container müssen voneinander abgeschirmt werden
Dürfen sich nicht gegenseitig “sehen” können
Unter Linux wird der User-Space mit dem “init”-Prozess gestartet (PID 1)
- Erzeugung eines neuen PID-Namespace: Prozess ruft clone() syscall mit bestimmtem Flag auf > resultierender Prozess erhält PID1 innerhalb des neuen Namespace (wird zuvor erzeugt)
#22: typische Netwerk-Interfaces: eth0 oder lo (loopback, 127.0.0.1)
#24:
Wiederverwendung von Image-Schichten spart Ressourcen (in erster Linie Speicherplatz)
#29:
setuid Binaries, die root gehören, erhöhen das Riskio einer Privilege Escalation immens (durch Programierfehler in den jeweiligen Programmen)
Das Capability-Modell befindet sich immer noch im Entwicklungsstadium!
Unprivileged Containers: Container, die von Nicht-Root-Usern erzeugt wurden (jedoch mit entsprechender Capability)
Capablities benötigen sinnvolle Defaults (siehe Docker)
#30:
DAC: Zugriffsentscheidung für eine Ressource auf Basis der Identität des Akteurs (Benutzers)
Zugriffsrechte werden PRO USER festgelegt
MAC: Zugriff aufgrund von allgemeinen Regeln (SELinux, AppArmor im Linux-Umfeld)
#31:
unsichere Defaults:
Aktivierung von unsicheren Capabilities
zu schwache cgroup Restriktionen
versehentliches Offenlegen von Host-Verzeichnissen
unsicheres Netzwerk:
viele Services binden sich standardmäßig an alle Interfaces (0.0.0.0, legt zahlreiche Daemons offen)
dazu gehört auch das Bridge-Interface bei Containern (von Docker standardmäßg verwendet)
dient der Kommunikation zwischen Containern (docker0 verhält sich dabei wie ein Switch)
ermöglicht Angriffe über das Netzwerk
Kernel Ring Buffer:
enthält verschiedenste Nachrichten (Ringpuffer)
werden anschließend nach /var/log/messages etc. geschrieben
verhindert ständiges I/O (langsam)
#32:
Ressourcenverbrauch:
eigentliche Ursache kann eine Applikation sein, z.B. Parser-Rekursion (Jackson in Java für JSON/XML)
schädlich, falls Speicherverbrauch nicht eingeschränkt wird
Container Management Systeme:
zwingend notwendig zur Orchestrierung von Containern in großer Zahl (Relilience, Ausfallsicherheit)
brauchen gewissen Zugang zu Clients (z.B. Health-Checks, erfordern offene Verbindungen in beide Richtungen)
#33:
Ursachen für unautorisierten Container-Zugang:
Schwachstellen in Webanwendungen (z.B. SQL-Injection)
Command Injection (falls Interpreter direkt aufgerufen werden, z.B. Python oder auch bash)
schwache (oder keine) Passwörter
resultiert in der Regel in Privilege Escalation (Erweiterung bestehender Rechte)
Ursachen für Inner-Container Attacken:
veraltete Software (auch Container müssen Updates unterzogen werden!)
große Basis-Images (bedeutet auch immer: viele mögliche Schwachstellen, große Menge an Software, die aktualisiert werden muss)
#34:
Authentifizierung:
TLS/SSL standardmäßg deaktiviert
möglich: Aktivierung und anschließendes Auth mit Zertifikaten (Client-Daemon)
kompromittierbarer Mechanismus, wenig robust
bisher allerdings keine Unterscheidung zwischen Usern (Zugang zu Socket = Root)
Autorisierung:
es existiert bis heute KEIN Autorisierungsmechanismus
laut Docker in Planung
#35:
Kein GPG aufgrund von Anfälligkeit für Replay-Attacken/Man-In-The-Middle (Server liefert veraltete Packages, sind aber korrekt signiert)
Private Key liegt auf Server (kompromittierbar)
Keine Chance bei Kompromittierung des GPG Keys
TUF hat seinen Ursprung in TOR (für TOR entwickelt)
TUF:
Freshness: sicherstellen, dass kein veralteter Content ausgeliefert wird (aktuellste Version einer Software)
Key-Kompromittierung überleben (Unterscheidung von Online- u. Offline-Keys, Aufteilung der Keys für Robustheit)
Offline (root) Key signiert Online-Key (einfache Key-Rotation, falls Online-Key kompromittiert wird) -> auf USB-Stick, Smart Card
zusätzlicher Timestamp-Key stellt sicher, dass kein älterer Content gepusht werden kann als im Repo vorhanden
kompromittierter Timestamp-Key führt lediglich zu Verlust der Freshness-Guarantee (kein Push in Repo möglich)
Root of trust:
TOFUs (trust on first use over tls)
erste Verbindung über TLS, danach: TLS/SSL vollkommen irrelevant
danach ist TLS völlig egal: Der Server hat nicht die Möglichkeit, Inhalte im Repo zu signieren (selbst dann, wenn der Server kompromittiert ist)
#38:
Kein GPG aufgrund von Anfälligkeit für Replay-Attacken/Man-In-The-Middle (Server liefert veraltete Packages, sind aber korrekt signiert)
Private Key liegt auf Server (kompromittierbar)
Keine Chance bei Kompromittierung des GPG Keys
TUF hat seinen Ursprung in TOR (für TOR entwickelt)
TUF:
Freshness: sicherstellen, dass kein veralteter Content ausgeliefert wird (aktuellste Version einer Software)
Key-Kompromittierung überleben (Unterscheidung von Online- u. Offline-Keys, Aufteilung der Keys für Robustheit)
Offline (root) Key signiert Online-Key (einfache Key-Rotation, falls Online-Key kompromittiert wird) -> auf USB-Stick, Smart Card
zusätzlicher Timestamp-Key stellt sicher, dass kein älterer Content gepusht werden kann als im Repo vorhanden
kompromittierter Timestamp-Key führt lediglich zu Verlust der Freshness-Guarantee (kein Push in Repo möglich)
Root of trust:
TOFUs (trust on first use over tls)
erste Verbindung über TLS, danach: TLS/SSL vollkommen irrelevant
danach ist TLS völlig egal: Der Server hat nicht die Möglichkeit, Inhalte im Repo zu signieren (selbst dann, wenn der Server kompromittiert ist)
#40:
Docker Registry V2 ermöglicht “Pull-by-digest” (Pull by hash), z.B. Mapping von Ubuntu:latest auf bestimmten Hash (identifiziert zu pullendes Objekt)
Registry -> Content addressable system
Hash ist gleichzeitig kryptographische Prüfsumme, die Clients Verifizierung ermöglicht
Objekt wird gehasht -> muss Hash sein, der von Notary ermittelt wurde