Securing intra-pod communication in Kubernetes

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorBufalino, Jacopo
dc.contributor.advisorMartin Navarro, Jose Luis
dc.contributor.authorRäsänen, Tommi
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorDi Francesco, Mario
dc.date.accessioned2023-12-18T20:14:21Z
dc.date.available2023-12-18T20:14:21Z
dc.date.issued2023-12-11
dc.description.abstractThe microservice architecture has lately increased in popularity. These services are made of software containers that are managed by an orchestrator. Kubernetes is the most prevalent among them. Due to its popularity, Kubernetes is also a potential target for malicious parties. Therefore, it is important to secure Kubernetes deployments, preferably by using a defense-in-depth approach. One option is represented by service meshes such as Istio. A service mesh is an infrastructure layer that is responsible for managing and securing communication between microservices. While securing inter-microservice communication strengthens security, service meshes provide no additional means for securing communication inside a given microservice, i.e., between the containers therein. A defense-in-depth approach demands securing communications inside a microservice as well. Therefore, this thesis proposes a solution to automatically apply network access control rules between containers inside a Kubernetes microservice, namely a pod. The proposed solution utilizes a combination of Kubernetes admission webhooks, init containers and iptables. This approach allows specifying service local access control rules directly in the Kubernetes object file definition. The access control rules are then automatically applied when the object is deployed to a Kubernetes cluster. The proposed solution is evaluated and determined to fulfill the requirements of blocking the communication between a pair of containers. It is also demonstrated to be compatible with pre-existing methods for access control between microservices. Thus, it is possible to combine the proposed solution with existing ones to achieve access control both inside and outside a microservice.en
dc.description.abstractMikrotjänstarkitektur har blivit populärt under de senaste åren. Dessa tjänster byggs upp av containrar som hanteras av en orkestrator. Kubernetes är den populäraste orkestratorn. På grund av Kubernetes popularitet har den också blivit ett potentiellt mål för angriparna. Därför är det viktigt att säkra Kubernetes kluster. Flernivåförsvar är ett bra princip. Som en lösning for att säkra kluster har tjänstnät så som Istio, utvecklats. Ett tjänstnät är ett infrastrukturlager som ansvarar för att säkra kommunikationen mellan mikrotjänster. Även om tjänstnät hjälper med att säkra kommunikationen mellan mikrotjänster, ger tjänstnät inga ytterligare medel för att säkra kommunikation inuti mikrotjänsten; mellan containrarna som utgör tjänsten. När man tillämpar flernivåförsvarprincipen bör man även säkra kommunikationen inuti mikrotjänsten. Därför föreslår denna avhandling en lösning för att tillämpa åtkomstkontroll för kommunikationen mellan containrar inuti en Kubernetes mikrotjänst, nämligen en pod. Lösningen använder sig av Kubernetes admission webhooks, containrar och iptables för att möjliggöra automatisk åtkomstkontroll. Detta gör det möjligt att specificera åtkomstkontrollregler för tjänster direkt i Kubernetes objektfilen. Åtkomstkontrollreglerna tillämpas sedan automatiskt när objektet förs till ett Kubernetes kluster. Lösningen utvärderas och påvisas uppfylla kraven på att möjliggöra blockering av kommunikationen mellan två containrar. Den demonstreras också vara kompatibelt med redan existerande åtkomstkontrollmetoder mellan mikrotjänster. Därmed är det möjligt att kombinera denna lösning med befintliga lösningar för att uppnå åtkomstkontroll både innanför och utanför en mikrotjänst.sv
dc.format.extent54+16
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/125059
dc.identifier.urnURN:NBN:fi:aalto-202312187427
dc.language.isoenen
dc.programmeMaster's Programme in Computer, Communication and Information Sciencesfi
dc.programme.majorComputer Sciencefi
dc.programme.mcodeSCI3042fi
dc.subject.keywordKubernetesen
dc.subject.keywordcontainersen
dc.subject.keywordmicroservicesen
dc.subject.keywordnetwork securityen
dc.subject.keywordcontainer-to-containeren
dc.subject.keywordintra-poden
dc.titleSecuring intra-pod communication in Kubernetesen
dc.titleSäkrandet av kommunikationen innanför pods i Kubernetessv
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
master_Räsänen_Tommi_2023.pdf
Size:
877.98 KB
Format:
Adobe Portable Document Format