Security Considerations for Microservice Architectures
Daniel Richter, Tim Neumann, and Andreas Polze
Operating Systems & Middleware Group Hasso Plattner Institute at University of Potsdam, Germany
Security Considerations for Microservice Architectures Daniel - - PowerPoint PPT Presentation
Security Considerations for Microservice Architectures Daniel Richter, Tim Neumann, and Andreas Polze Operating Systems & Middleware Group Hasso Plattner Institute at University of Potsdam, Germany Motivation EPA the legacy system
Daniel Richter, Tim Neumann, and Andreas Polze
Operating Systems & Middleware Group Hasso Plattner Institute at University of Potsdam, Germany
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
2
▪ reserve and book train seats operated by Deutsche Bahn (German railway) ▪ 1 mio seat requests & 300,000 bookings ▪ first version: 1980s ▪ set of Pathway Services as part of HP NonStop system ▪ especially fault-tolerant and highly-available
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
3
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
4
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
5
▪ e.g. for deployment, scaling and management of containerized applications.
▪ different technology stacks ▪ different vendors, teams, products… ▪ frequent new versions
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
6
Ticket Machine Smart Phone BFF for Ticket Machine BFF for Smartphone Booking Service User Service Seat Reservation Service
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
7
EC2, EBS, VPC
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018 8
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
9
Base Layer Groups
▪ all AWS related layers ▪ provides some kind of computing infrastructure (physical or virtual machines, some networking solution, and some file storage system) ▪ start a new machine (based on template) & connect to network
▪ physical machines, virtual machines ▪ own data center, 3rd party data center, cloud provider
▪ e.g. AWS, Google Cloud Platform, Microsoft Azure, OpenStack
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
10
Base Layer Groups
▪ Docker layer and Weave layer ▪ provide a distributed runtime environment for containers, responsible for isolating services from each
by predefined communication) ▪ running multiple (lightweight) services on one machine
▪ VM-based encapsulation vs. container-based encapsulation ➔ isolation vs. overhead, technology independence, tools
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
11
Base Layer Groups
▪ Kubernetes layers ▪ distribute containers among multiple nodes automatically ▪ take software in source or binary format and ensure its execution and configuration ▪ avoid doing “by hand” ▪ e.g. Docker Swarm, Kubernetes
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
12
Base Layer Groups
▪ such as PCI DSS Level 1
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
13
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
14
Base Layer Groups
▪ very coarse-grained access control (essentially either full or no access to cluster) ▪ API server: unauthenticated &unencrypted endpoint
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018 15
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
16
Application Layer
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
17
Application Layer
▪ pre-shared, asymmetric, after session start
▪ network, Application, transport
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
18
Application Layer
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018 19
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
20
Evaluation of Authentication and Authorization in our T estbed
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
21
Evaluation of Authentication and Authorization in our T estbed
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
22
Evaluation of Authentication and Authorization in our T estbed
(a) third-party software: no control (b) between different core components: assumed trusted network
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
23
Evaluation of Authentication and Authorization in our T estbed
(c) between BFFs and core components: separate networks & BFFs may considered untrusted (directly accessible from public network)
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
24
Evaluation of Authentication and Authorization in our T estbed
(d) public network from untrusted device (e) public network from trusted device
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
25
Evaluation of Authentication and Authorization in our T estbed
(f) public network from untrusted device; must be publicly accessible, no authorization or authentication required or possible
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
26
Evaluation of Authentication and Authorization in our T estbed
(g) public network from untrusted device; does not have to be publicly accessible
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
29
Evaluation of Authentication and Authorization in our T estbed
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
30
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
31
Security Considerations for Microservice Architectures | CLOSER 2018 | Daniel Richter | 22. March 2018
32
We would like to thank Lena Feinbube, Leonard Marschke, Cornelius Pohl, Robert Beilich, Tim Basel, Timo Traulsen, Henry Hübler, Dr. Stephan Gerberding, Wolfgang Schwab, and Ingo Schwarzer for their support and assistance with this project.