SlideShare a Scribd company logo
Security Practices in
OpenShift
as experienced @ Amadeus
Nenad Bogojević
Amadeus S.A.S.
Diogenes Rettori
Red Hat
2017
©AmadeusITGroupanditsaffiliatesandsubsidiaries
_Provides IT services for travel
industry
_Operates e-commerce web sites,
payment processing, b2b services in
travel
_Using OpenShift 3 since 2 years
• In own datacenters, in public clouds
2
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Amadeus
In one slide
_Protecting assets
• computing capacity, data
_Personal information
• General Data Protection Regulation
(GDPR)
_e-Commerce & payment processing
• PCI/DSS
3
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Why security
And not the one like in picture
_OpenShift & Containers
• Lot of things are changing
• Old rules may not be applicable
• Risks are still out there
4
©AmadeusITGroupanditsaffiliatesandsubsidiaries
How?
To be better than the one like in picture
_OpenShift & Containers
• Lot of things are changing
• Old rules may not be applicable
• Risks are still out there
EVERYONE ON BOARD
5
©AmadeusITGroupanditsaffiliatesandsubsidiaries
How?
To be better than the one like in picture
Infrastructure
©AmadeusITGroupanditsaffiliatesandsubsidiaries
7
©AmadeusITGroupanditsaffiliatesandsubsidiaries
OpenShift Architecture
In one slide
Use OpenStack on our hardware
Or public cloud providers
8
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Preparing infrastructure
And security
_Pre-constructed VM images
• mirrored repositories & registries
• scanned using OpenSCAP
_Network design
• Where are DMZ and layered
protection?
• OpenStack – security groups
_Access control (bastion server)
_Upgrade policy
• Rebuild vs rolling
• Bi-weekly/monthly
9
©AmadeusITGroupanditsaffiliatesandsubsidiaries
OpenShift Security Architecture
Different kind of network zones
Users
DevOps
Developers
App Nodes
Infra Nodes
Bastion
Repository
CI/CD
SSH
Masters
HTTPS
Repository
pull
SDN
@
OpenShift
©AmadeusITGroupanditsaffiliatesandsubsidiaries
11
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Let’s login!
12
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Let’s login!
oc login -u system:admin
13
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Let’s login!
14
©AmadeusITGroupanditsaffiliatesandsubsidiaries
OpenShift Security Introduction
_Way of managing & distributing sensitive information
• keys, certificates, passwords, usernames
_Separate sensitive information management from application pods
• Secured delivery to nodes (TLS)
• Only present in memory on openshift nodes
• Centralized management
• Easy access from application
• Environment variables
• Volumes
15
©AmadeusITGroupanditsaffiliatesandsubsidiaries
OpenShift Secrets
Decoupling sensitive information from applications
16
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Using Secrets
Security as code
apiVersion: v1
kind: Pod
metadata:
name: use-secret-pod
spec:
containers:
- name: secret-test-container
image: myapp
env:
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: top-secret
key: username
restartPolicy: Always
apiVersion: v1
kind: Secret
metadata:
name: top-secret
data:
username: bmVuYWQ=
password: aWtuZXd5b3V3b3VsZHRyeXRoaXM=
Masters
_Stored in (almost) clear
• in etcd on masters
• on tmp storage on nodes
• accessible through API
_How about vaults?
17
©AmadeusITGroupanditsaffiliatesandsubsidiaries
OpenShift Secrets – „Less Great Things“
Handbrake for certification
_You already have big issue if someone compromised your infrastructure
_Encrypt disks
_Store in vault, with decryption service
• Side-car or init containers
• Security as a service
_Compensating controls
18
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Some solutions
It’s not show-stopper
_OpenShift provides log of activities that have affected system by individual
users, administrators, or other components of the system.
_Activate on master /etc/origin/master/master-config.yaml
19
©AmadeusITGroupanditsaffiliatesandsubsidiaries
OpenShift Audit Log
auditConfig:
enabled: true
AUDIT: id="5c3b8227-4af9-4322-8a71-542231c3887b" ip="127.0.0.1"
method="GET" user="nenad" as="<self>" namespace="someproject"
uri="/api/v1/namespaces/someproject/secrets"
AUDIT: id="5c3b8227-4af9-4322-8a71-542231c3887b" response="401"
20
©AmadeusITGroupanditsaffiliatesandsubsidiaries
auditd introduction
audit.log
rsyslog
Alerting system
auditd rules
-a always,exit -S <syscall>
-w <filename>
_OpenShift master - know if someone plays with etcd
21
©AmadeusITGroupanditsaffiliatesandsubsidiaries
auditd rules for masters
Monitoring etcd
-a always,exit -F arch=b64 -S creat -S open -S openat
-S open_by_handle_at -S truncate -S ftruncate
–F dir=/var/lib/etcd
-k openshift_etcd
_Secrets mounted as tmpfs inside /var/lib/opesnift.
_When new secret is mounted add it to auditd rules
• When new secret is unmounted remove it to from auditd rules
_All monitorable secrets must have certain string in name
• (e.g. secret~example)
_If you open or close secrets often, it may generate a lot of messages
22
©AmadeusITGroupanditsaffiliatesandsubsidiaries
..and on nodes
Monitoring secret
findmnt --list --noheadings --types tmpfs --poll --output ACTION,TARGET |
grep secret~example |
awk ‘$1 == “mount” { print $2 }‘ |
xargs -L 1 -i auditctl --a always,exit -F arch=b64 -S creat -S open -S openat
-S open_by_handle_at -S truncate -S ftruncate -F dir={} -k openshift_secret
findmnt --list --noheadings --types tmpfs --poll --output ACTION,TARGET |
grep secret~example |
awk ‘$1 == “unmount” { print $2 }‘ |
xargs -L 1 -i auditctl --d always,exit -F arch=64 -S creat -S open -S openat
-S open_by_handle_at -S truncate -S ftruncate -F dir={} -k openshift_secret
23
©AmadeusITGroupanditsaffiliatesandsubsidiaries
More use of auditd
With the help of openscap
_Secure communication inside or outside your cluster
_Service annotated with
service.alpha.openshift.io/serving-cert-secret-
name=name
_Certificate automatically generated and provided as
a secret to pod
_Clients can rely on automatically mounted CA
/var/run/secrets/kubernetes.io/serviceaccount/
service-ca.crt
24
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Service Signing Certificate
clientpod
mongodb.myproject.svc
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Containers
• We want to empower developer
• Let’s be agile!
• Run as root
• Privileged containers – hostpath
• port < 1000
• Running old containers
• FROM httpd:2.4.12
• There’s this cool blackhat/jboss
container on docker hub, let’s pull it
26
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Containers & Developers
• We want to empower developer
• Let’s be agile!
• Run as root
• Privileged containers – hostpath
• port < 1000
• Running old containers
• FROM httpd:2.4.12
• There’s this cool blackhat/jboss
container on docker hub, let’s pull it
27
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Containers & Developers
When will
they learn!
_Support arbitrary user ids
• Use root group
chown -R someuser:root /app && chmod –R g+rwX /app
_Your application needs to listen on port 80?
• Can’t you change it?
_Use SCC (Security Context Constraint)
• privileged containers, host paths, user id,
FS Groups, selinux, capabilities
_seccomp if you want to restrict even more
28
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Root Access
Not allowed
apiVersion: v1
kind: Service
metadata:
name: httpd
spec:
ports:
- port: 80
targetPort: 10080
protocol: TCP
_All images come from internal registry
_Using RHEL as base images
• RedHat repository mirrored into internal
_Other images must be built internally from source code
_No automatic access to docker hub from build machines
_Production access it’s own repository with only validated
images
29
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Image control
Secured source
access.redhat.com/containers
_Can we run security scan on image before it runs?
• image-inspector
• oscap-docker
_Run OpenSCAP on a docker image and serve
result
docker run -ti --rm --privileged -p 8080:8080
-v /var/run/docker.sock:/var/run/docker.sock
openshift/image-inspector --image=some-application:20
--path=/tmp/image-content --serve 0.0.0.0:8080 --scan-
type=openscap
_Used during build process
30
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Old images and security vulnerabilities
image-inspector
_Platform can be secured from container vulnerabilities
• containers do bring risk, but it can be managed
_Platform will not solve application vulnerabilities
• but it can help
• true multitenancy is complex
_Start with the principle of least access
• grant new capabilities to applications only when needed
31
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Guiding thoughts
Encryption of Secrets!
Network policies – internal and egress
Generic/pluggable image-inspector?
More fine-grained RBAC.
32
©AmadeusITGroupanditsaffiliatesandsubsidiaries
What we miss
This might be roadmap
Thank you!
©AmadeusITGroupanditsaffiliatesandsubsidiaries
You can follow us on:
AmadeusITgroup
amadeus.com
amadeus.com/blog
Ad

More Related Content

What's hot (20)

Monitoring in CloudStack
Monitoring in CloudStackMonitoring in CloudStack
Monitoring in CloudStack
ShapeBlue
 
Anthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsAnthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applications
Greg Castle
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
Winton Winton
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
Kangaroot
 
Nginx Reverse Proxy with Kafka.pptx
Nginx Reverse Proxy with Kafka.pptxNginx Reverse Proxy with Kafka.pptx
Nginx Reverse Proxy with Kafka.pptx
wonyong hwang
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
Tom Mens
 
Google Cloud Networking Deep Dive
Google Cloud Networking Deep DiveGoogle Cloud Networking Deep Dive
Google Cloud Networking Deep Dive
Michelle Holley
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Flink Forward
 
NiFi Best Practices for the Enterprise
NiFi Best Practices for the EnterpriseNiFi Best Practices for the Enterprise
NiFi Best Practices for the Enterprise
Gregory Keys
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 
IBM RedHat OCP Vs xKS.pptx
IBM RedHat OCP Vs xKS.pptxIBM RedHat OCP Vs xKS.pptx
IBM RedHat OCP Vs xKS.pptx
ssuser666667
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK Stack
Rohit Sharma
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
Brice Fernandes
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
Kangaroot
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
Kirill Tsym
 
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
Freddy Rolland
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application
VMUG IT
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container Platform
DLT Solutions
 
SeaweedFS introduction
SeaweedFS introductionSeaweedFS introduction
SeaweedFS introduction
chrislusf
 
Monitoring in CloudStack
Monitoring in CloudStackMonitoring in CloudStack
Monitoring in CloudStack
ShapeBlue
 
Anthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsAnthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applications
Greg Castle
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
Winton Winton
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
Kangaroot
 
Nginx Reverse Proxy with Kafka.pptx
Nginx Reverse Proxy with Kafka.pptxNginx Reverse Proxy with Kafka.pptx
Nginx Reverse Proxy with Kafka.pptx
wonyong hwang
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
Tom Mens
 
Google Cloud Networking Deep Dive
Google Cloud Networking Deep DiveGoogle Cloud Networking Deep Dive
Google Cloud Networking Deep Dive
Michelle Holley
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Flink Forward
 
NiFi Best Practices for the Enterprise
NiFi Best Practices for the EnterpriseNiFi Best Practices for the Enterprise
NiFi Best Practices for the Enterprise
Gregory Keys
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 
IBM RedHat OCP Vs xKS.pptx
IBM RedHat OCP Vs xKS.pptxIBM RedHat OCP Vs xKS.pptx
IBM RedHat OCP Vs xKS.pptx
ssuser666667
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK Stack
Rohit Sharma
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
Brice Fernandes
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
Kangaroot
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
Kirill Tsym
 
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
Freddy Rolland
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application
VMUG IT
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container Platform
DLT Solutions
 
SeaweedFS introduction
SeaweedFS introductionSeaweedFS introduction
SeaweedFS introduction
chrislusf
 

Similar to Security practices in OpenShift (20)

Cncf microservices security
Cncf microservices securityCncf microservices security
Cncf microservices security
Leonardo Gonçalves
 
Simplifying Multi-User SOLIDWORKS Implementations
Simplifying Multi-User SOLIDWORKS ImplementationsSimplifying Multi-User SOLIDWORKS Implementations
Simplifying Multi-User SOLIDWORKS Implementations
Hawk Ridge Systems
 
MySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL DaysMySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL Days
Mark Swarbrick
 
Microservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache CassandraMicroservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache Cassandra
Jorge Bay Gondra
 
PGEncryption_Tutorial
PGEncryption_TutorialPGEncryption_Tutorial
PGEncryption_Tutorial
Vibhor Kumar
 
ArchivePod a legacy data solution when migrating to the #CLOUD
ArchivePod a legacy data solution when migrating to the #CLOUDArchivePod a legacy data solution when migrating to the #CLOUD
ArchivePod a legacy data solution when migrating to the #CLOUD
Garet Keller
 
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Akamai Developers & Admins
 
How You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionHow You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in Production
BoldRadius Solutions
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
Morgan Tocker
 
DataStax | Best Practices for Securing DataStax Enterprise (Matt Kennedy) | C...
DataStax | Best Practices for Securing DataStax Enterprise (Matt Kennedy) | C...DataStax | Best Practices for Securing DataStax Enterprise (Matt Kennedy) | C...
DataStax | Best Practices for Securing DataStax Enterprise (Matt Kennedy) | C...
DataStax
 
MongoDB World 2018: Supercharge Your MongoDB Deployment with Ops Manager Auto...
MongoDB World 2018: Supercharge Your MongoDB Deployment with Ops Manager Auto...MongoDB World 2018: Supercharge Your MongoDB Deployment with Ops Manager Auto...
MongoDB World 2018: Supercharge Your MongoDB Deployment with Ops Manager Auto...
MongoDB
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL Secrets
Derek Downey
 
CIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CIS14: SCIM: Why It’s More Important, and More Simple, Than You ThinkCIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CloudIDSummit
 
Webinar: Cloud Data Masking - Tips to Test Software Securely
Webinar: Cloud Data Masking - Tips to Test Software Securely Webinar: Cloud Data Masking - Tips to Test Software Securely
Webinar: Cloud Data Masking - Tips to Test Software Securely
Skytap Cloud
 
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
Kelly Grizzle
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
Olivier DASINI
 
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Cisco DevNet
 
Containerized MySQL OpenWorld talk
Containerized MySQL OpenWorld talkContainerized MySQL OpenWorld talk
Containerized MySQL OpenWorld talk
Patrick Galbraith
 
Systemd evolution revolution_regression
Systemd evolution revolution_regressionSystemd evolution revolution_regression
Systemd evolution revolution_regression
Susant Sahani
 
Q Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - ConjurQ Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - Conjur
conjur_inc
 
Simplifying Multi-User SOLIDWORKS Implementations
Simplifying Multi-User SOLIDWORKS ImplementationsSimplifying Multi-User SOLIDWORKS Implementations
Simplifying Multi-User SOLIDWORKS Implementations
Hawk Ridge Systems
 
MySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL DaysMySQL At Mastercard - 2018 MySQL Days
MySQL At Mastercard - 2018 MySQL Days
Mark Swarbrick
 
Microservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache CassandraMicroservices with Node.js and Apache Cassandra
Microservices with Node.js and Apache Cassandra
Jorge Bay Gondra
 
PGEncryption_Tutorial
PGEncryption_TutorialPGEncryption_Tutorial
PGEncryption_Tutorial
Vibhor Kumar
 
ArchivePod a legacy data solution when migrating to the #CLOUD
ArchivePod a legacy data solution when migrating to the #CLOUDArchivePod a legacy data solution when migrating to the #CLOUD
ArchivePod a legacy data solution when migrating to the #CLOUD
Garet Keller
 
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Configs, Configs, Everywhere! (Actually, Let's Simplify All Those Configs)
Akamai Developers & Admins
 
How You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionHow You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in Production
BoldRadius Solutions
 
DataStax | Best Practices for Securing DataStax Enterprise (Matt Kennedy) | C...
DataStax | Best Practices for Securing DataStax Enterprise (Matt Kennedy) | C...DataStax | Best Practices for Securing DataStax Enterprise (Matt Kennedy) | C...
DataStax | Best Practices for Securing DataStax Enterprise (Matt Kennedy) | C...
DataStax
 
MongoDB World 2018: Supercharge Your MongoDB Deployment with Ops Manager Auto...
MongoDB World 2018: Supercharge Your MongoDB Deployment with Ops Manager Auto...MongoDB World 2018: Supercharge Your MongoDB Deployment with Ops Manager Auto...
MongoDB World 2018: Supercharge Your MongoDB Deployment with Ops Manager Auto...
MongoDB
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL Secrets
Derek Downey
 
CIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CIS14: SCIM: Why It’s More Important, and More Simple, Than You ThinkCIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CloudIDSummit
 
Webinar: Cloud Data Masking - Tips to Test Software Securely
Webinar: Cloud Data Masking - Tips to Test Software Securely Webinar: Cloud Data Masking - Tips to Test Software Securely
Webinar: Cloud Data Masking - Tips to Test Software Securely
Skytap Cloud
 
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
Kelly Grizzle
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
Olivier DASINI
 
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
Cisco DevNet
 
Containerized MySQL OpenWorld talk
Containerized MySQL OpenWorld talkContainerized MySQL OpenWorld talk
Containerized MySQL OpenWorld talk
Patrick Galbraith
 
Systemd evolution revolution_regression
Systemd evolution revolution_regressionSystemd evolution revolution_regression
Systemd evolution revolution_regression
Susant Sahani
 
Q Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - ConjurQ Con New York 2015 Presentation - Conjur
Q Con New York 2015 Presentation - Conjur
conjur_inc
 
Ad

Recently uploaded (20)

fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Developing System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptxDeveloping System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptx
wondimagegndesta
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
Ivano Malavolta
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient CareAn Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
Cyntexa
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
James Anderson
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Developing System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptxDeveloping System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptx
wondimagegndesta
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
Ivano Malavolta
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient CareAn Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
Cyntexa
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
James Anderson
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
Ad

Security practices in OpenShift

  • 1. Security Practices in OpenShift as experienced @ Amadeus Nenad Bogojević Amadeus S.A.S. Diogenes Rettori Red Hat 2017 ©AmadeusITGroupanditsaffiliatesandsubsidiaries
  • 2. _Provides IT services for travel industry _Operates e-commerce web sites, payment processing, b2b services in travel _Using OpenShift 3 since 2 years • In own datacenters, in public clouds 2 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Amadeus In one slide
  • 3. _Protecting assets • computing capacity, data _Personal information • General Data Protection Regulation (GDPR) _e-Commerce & payment processing • PCI/DSS 3 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Why security And not the one like in picture
  • 4. _OpenShift & Containers • Lot of things are changing • Old rules may not be applicable • Risks are still out there 4 ©AmadeusITGroupanditsaffiliatesandsubsidiaries How? To be better than the one like in picture
  • 5. _OpenShift & Containers • Lot of things are changing • Old rules may not be applicable • Risks are still out there EVERYONE ON BOARD 5 ©AmadeusITGroupanditsaffiliatesandsubsidiaries How? To be better than the one like in picture
  • 8. Use OpenStack on our hardware Or public cloud providers 8 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Preparing infrastructure And security _Pre-constructed VM images • mirrored repositories & registries • scanned using OpenSCAP _Network design • Where are DMZ and layered protection? • OpenStack – security groups _Access control (bastion server) _Upgrade policy • Rebuild vs rolling • Bi-weekly/monthly
  • 9. 9 ©AmadeusITGroupanditsaffiliatesandsubsidiaries OpenShift Security Architecture Different kind of network zones Users DevOps Developers App Nodes Infra Nodes Bastion Repository CI/CD SSH Masters HTTPS Repository pull SDN @
  • 15. _Way of managing & distributing sensitive information • keys, certificates, passwords, usernames _Separate sensitive information management from application pods • Secured delivery to nodes (TLS) • Only present in memory on openshift nodes • Centralized management • Easy access from application • Environment variables • Volumes 15 ©AmadeusITGroupanditsaffiliatesandsubsidiaries OpenShift Secrets Decoupling sensitive information from applications
  • 16. 16 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Using Secrets Security as code apiVersion: v1 kind: Pod metadata: name: use-secret-pod spec: containers: - name: secret-test-container image: myapp env: - name: SECRET_USERNAME valueFrom: secretKeyRef: name: top-secret key: username restartPolicy: Always apiVersion: v1 kind: Secret metadata: name: top-secret data: username: bmVuYWQ= password: aWtuZXd5b3V3b3VsZHRyeXRoaXM= Masters
  • 17. _Stored in (almost) clear • in etcd on masters • on tmp storage on nodes • accessible through API _How about vaults? 17 ©AmadeusITGroupanditsaffiliatesandsubsidiaries OpenShift Secrets – „Less Great Things“ Handbrake for certification
  • 18. _You already have big issue if someone compromised your infrastructure _Encrypt disks _Store in vault, with decryption service • Side-car or init containers • Security as a service _Compensating controls 18 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Some solutions It’s not show-stopper
  • 19. _OpenShift provides log of activities that have affected system by individual users, administrators, or other components of the system. _Activate on master /etc/origin/master/master-config.yaml 19 ©AmadeusITGroupanditsaffiliatesandsubsidiaries OpenShift Audit Log auditConfig: enabled: true AUDIT: id="5c3b8227-4af9-4322-8a71-542231c3887b" ip="127.0.0.1" method="GET" user="nenad" as="<self>" namespace="someproject" uri="/api/v1/namespaces/someproject/secrets" AUDIT: id="5c3b8227-4af9-4322-8a71-542231c3887b" response="401"
  • 21. _OpenShift master - know if someone plays with etcd 21 ©AmadeusITGroupanditsaffiliatesandsubsidiaries auditd rules for masters Monitoring etcd -a always,exit -F arch=b64 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate –F dir=/var/lib/etcd -k openshift_etcd
  • 22. _Secrets mounted as tmpfs inside /var/lib/opesnift. _When new secret is mounted add it to auditd rules • When new secret is unmounted remove it to from auditd rules _All monitorable secrets must have certain string in name • (e.g. secret~example) _If you open or close secrets often, it may generate a lot of messages 22 ©AmadeusITGroupanditsaffiliatesandsubsidiaries ..and on nodes Monitoring secret findmnt --list --noheadings --types tmpfs --poll --output ACTION,TARGET | grep secret~example | awk ‘$1 == “mount” { print $2 }‘ | xargs -L 1 -i auditctl --a always,exit -F arch=b64 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F dir={} -k openshift_secret findmnt --list --noheadings --types tmpfs --poll --output ACTION,TARGET | grep secret~example | awk ‘$1 == “unmount” { print $2 }‘ | xargs -L 1 -i auditctl --d always,exit -F arch=64 -S creat -S open -S openat -S open_by_handle_at -S truncate -S ftruncate -F dir={} -k openshift_secret
  • 24. _Secure communication inside or outside your cluster _Service annotated with service.alpha.openshift.io/serving-cert-secret- name=name _Certificate automatically generated and provided as a secret to pod _Clients can rely on automatically mounted CA /var/run/secrets/kubernetes.io/serviceaccount/ service-ca.crt 24 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Service Signing Certificate clientpod mongodb.myproject.svc
  • 26. • We want to empower developer • Let’s be agile! • Run as root • Privileged containers – hostpath • port < 1000 • Running old containers • FROM httpd:2.4.12 • There’s this cool blackhat/jboss container on docker hub, let’s pull it 26 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Containers & Developers
  • 27. • We want to empower developer • Let’s be agile! • Run as root • Privileged containers – hostpath • port < 1000 • Running old containers • FROM httpd:2.4.12 • There’s this cool blackhat/jboss container on docker hub, let’s pull it 27 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Containers & Developers When will they learn!
  • 28. _Support arbitrary user ids • Use root group chown -R someuser:root /app && chmod –R g+rwX /app _Your application needs to listen on port 80? • Can’t you change it? _Use SCC (Security Context Constraint) • privileged containers, host paths, user id, FS Groups, selinux, capabilities _seccomp if you want to restrict even more 28 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Root Access Not allowed apiVersion: v1 kind: Service metadata: name: httpd spec: ports: - port: 80 targetPort: 10080 protocol: TCP
  • 29. _All images come from internal registry _Using RHEL as base images • RedHat repository mirrored into internal _Other images must be built internally from source code _No automatic access to docker hub from build machines _Production access it’s own repository with only validated images 29 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Image control Secured source access.redhat.com/containers
  • 30. _Can we run security scan on image before it runs? • image-inspector • oscap-docker _Run OpenSCAP on a docker image and serve result docker run -ti --rm --privileged -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock openshift/image-inspector --image=some-application:20 --path=/tmp/image-content --serve 0.0.0.0:8080 --scan- type=openscap _Used during build process 30 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Old images and security vulnerabilities image-inspector
  • 31. _Platform can be secured from container vulnerabilities • containers do bring risk, but it can be managed _Platform will not solve application vulnerabilities • but it can help • true multitenancy is complex _Start with the principle of least access • grant new capabilities to applications only when needed 31 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Guiding thoughts
  • 32. Encryption of Secrets! Network policies – internal and egress Generic/pluggable image-inspector? More fine-grained RBAC. 32 ©AmadeusITGroupanditsaffiliatesandsubsidiaries What we miss This might be roadmap
  • 33. Thank you! ©AmadeusITGroupanditsaffiliatesandsubsidiaries You can follow us on: AmadeusITgroup amadeus.com amadeus.com/blog
  翻译: