Microservice security Flashcards
Describe the monolithic architecture?
user interface
Business logic
Data access layer
->
<-
DB
What are some downsides of using a monolithic architecture? (3)
Limited scalability
Single-point of failure
Must rebuild entire development to change a small constraint or check
Describe the microservice architecture (5)
Loosely coupled
Communicate via APIs
Maintainable and testable
Independently deployable
Organized around business logic
What is the structure of microservice architecture?
user interface -> microservice ->DB
Microservice [presentation-, business-, data-layer]
Interface connected to multiple microservices, each connected to individual DBs
Name microservice security challenges (7)
Trust between services
Large attack area
Testing
Low visibility
Polyglot Architecture
Container management
Secret management
Name causes of microservice security challenges (4)
Architectural complexity
Poor testing
Immature tools and standards
Developer inexperience
Name consequences in microservice security (3)
Susceptible to attack
Performance overhead
Increased faults
What are the abstractions in microservice security? (3)
Service/Application
Communication
Visualization/Cloud
What are the objectives of microservice security? (5)
CIA
Resiliency
Visibility
Describe what we mean by low visibility of microservice architectures
Usually deployed on cloud. Cloud infrastructure tend to be opaque and disparate (different from normal).
What are some challenges in regards to cloud usage? (3)
Securing internet-facing service endpoints
Having access management from enterprise to cloud.
Secure inter-service communication
Why is trust between services important?
Some microservices might be malicious and can compromise the services they communicate with
What can cause insecure communication between services?
Insufficient auth
Improper authorization
What is a polyglot architecture?
Using several languages
Service 1: Java
Service 2: Python
What is a security challenge with polyglot architecture?
Need to have dedicated experts who specialize in a particular technology stack.
Difficult to have a sentralized security team taking care of every service.
What are the 5 parts of security countermeasures in micro services?
Best practises
Methods
Deployment tools
Development tools
Patterns
Name some best practices
Defense in depth
Encryption
least privileges
rate throttling (limit number of requests from a single user)
DevSecOps
Immutable container
Secure by design
Name some methods
Standards (OAuth)
Protocols (Open ID connect, mTLS)
TOKENS (JWT)
Name some dev tools
Container orchestration (docker, kubernetes)
Testing
Scanners
Name some deploy tools
Certificate management
Real-time monitoring
Benchmarking
config management
Identity management