SlideShare a Scribd company logo
1 of 25
Download to read offline
GitOps and security
Zürich, 2020-03-12
Zürich,Reto Bollinger / public 2019-02-05
iso@nine:~$
Name: Reto Bollinger
Job Title: Chief Information Security Officer @ Nine Internet Solutions AG
Tasks: maintain ISMS (ISO27001) and QMS (ISO9001), good cop/bad cop in one
Attributes: slightly paranoid ;) and a bit reclusive but overly communicative...
iso@nine:~$ wiso@nine:~$ whiso@nine:~$ whoiso@nine:~$ whoaiso@nine:~$ whoamiso@nine:~$ whoami
Zürich,
C I A
What is information security?
Confidentiality Integrity Availability
Zürich,
Ops / DevOps / DevSecOps
and confidentiality
Hey, I need to quickly access that data
Sure, * I will adjust permissions quickly and revert them after
*) add here one of the following:
a) <nothing>
b) let me just disable config mgmt and
c) let me just get approval for disabling config mgmt and disable config mgmt and
Zürich,
Ops / DevOps / DevSecOps
and confidentiality
Zürich,
Ops / DevOps / DevSecOps
and confidentiality
… 12 months later:
Hey! Why is that accessible to the world?
Who the f*** messed with the permissions? And why?
Let’s check logs!
Damn! Logs only go back 6 months, must have happened before...
Zürich,
Ops / DevOps / DevSecOps
and integrity
Hey I quickly need to check these log files
What ugly format is that? Let me strip unnecessary stuff
<insert some fancy in-place sed/awk/grep command here
recursively going through subdirs>
Oops the config files were affected too?
Wait, what do you mean they were not revision controlled?!?
Zürich,
Ops / DevOps / DevSecOps
and availability
Let’s roll out that brand new version of the app
Oh man, so many dependencies? Luckily package manager resolves it all
Oops it breaks everything!
Wait, what do you mean we can’t roll back because of dependencies?
Zürich,
Sounds familiar?
Who has experienced one or the other of those scenarios or something similar?
Zürich,
And now for something completely different!
Zürich,
Firmware
A story from my former life...
App
Libs
OS
Drivers
Buildsystem
(CI/CD) Config
Packages
OS
Builds loaded onto
Binary Repo Sourcecode Repo 1 Sourcecode Repo 2
Assume you have the following (slightly simplified):
How likely are you able to build a 1:1 identical firmware in 5 years from now?
Zürich,
GitOps to the rescue!
● We have lots of dependencies
● We have multiple repositories with their own histories and revisions
● We have additional configurations
● We probably even have data that relies on specific revision of SW (databases)
-> We have to track the whole state of all these.
Describe the state of each repository, configuration and whatever and track this
combination in a repository as well
Zürich,
Deployment
Let’s get back to the cloud
Service 1 Service 2 Service 3
yaml
Defined by
Zürich,
Deployment
Service 2
Dealing with service disruptions/changes
Service 1 Service 3
Monitoring
DISRUPTION!
ssh
Ooops it failed!
Let’s SSH into it and “fix” it
(e.g. chmod a+rw *.*)
oh and silence that alert
Zürich,
Deployment
Service 2
Dealing with service disruptions/changes
Service 1 Service 3
Monitoring
Service 2 is now insecure.
Alerting is completely silenced (for that case)
Any update to Service 2 will make the problem re-occur or break even more
Zürich,
Deployment
Let’s go the GitOps way
CI/CD
Service 1 Service 2 Service 3
MonitoringBuilds
yaml
Defined by
Zürich,
Deployment
Service 2
Let’s go the GitOps way
CI/CD
Service 1 Service 3
MonitoringBuilds
yaml
Defined by
DISRUPTION!
ssh
Ooops it failed!
Let’s SSH into it and “fix” it
No No!
No touchy touchy!
Only looky looky!
With GitOps you
should have
“read-only” access to
your instances
X
Zürich,
Deployment
Service 2
Let’s go the GitOps way
CI/CD
Service 1 Service 3
MonitoringBuilds
Defined by
DISRUPTION!
vi
git
Ooops it failed!
Let’s SSH into it and “fix” it
Let’s fix the declaration and push it
yaml
Zürich,
Deployment
Let’s go the GitOps way
CI/CD
Service 1 Service 2 Service 3
MonitoringBuilds
yaml
Defined by
What GitOps means:
● Declare EVERYTHING
● Do not depend on external states but declare these states
● Work ONLY on declaration but not on actual instances (looking is allowed)
Zürich,
Deployment
Let’s go the GitOps way
CI/CD
Service 1 Service 2 Service 3
Configuration
MonitoringBuilds
yaml
Defined by
yaml
Zürich,
Deployment
CI/CD
Service 1
Configuration
Service 2 Service 3
Configuration
Monitoring
yaml
Defined by
yaml
yaml
Builds
Let’s go GitOps all the way
● Declare everything
● Think about how to bootstrap
● Test incremental changes as well as full rebuilds
● Keep a mirror of public repositories
● Use unique identifiers (tags most often are not necessarily unique)
Zürich,
So now:
Why is GitOps good from security perspective?
Confidentiality: One can still accidentially misconfigure permissions
BUT: its documented and traceable
merge requests require approval (4 eyes principle)
merge requests could be checked for suspicious patterns
Direct access to instances can be restricted
Integrity: One can no longer create inconsistency: it’s all declarative
Availability: Either it runs or it doesn’t: if it doesn’t revert to previous state
Rolling out quick-fixes definitely takes longer
...but changes/fixes are of better quality
Zürich,
What makes a good GitOps project
from security perspective?
● No (or read-only) “backend” access to running instances
● Automated testing: test everything: new way to break it? -> new test!
● Automated testing: incremental (update) as well as bootstrap (from scratch)
● Automated testing: find edge cases and robustify with chaos engineering*
● Merge requests (4+ eyes principle)
● Have a well defined scope: what is declared? Where are your boundaries?
(not only “outwards” also “inwards”: customers realm)
*) Dan Acristini held a very good talk about it: https://www.nine.ch/de/blog/gcp-meetup-ein-rueckblick-3
Zürich, 2019-11-21Intern / Reto Bollinger / ISM-QMS-intro
“Tha ’ al folk !”
Zürich, 2019-11-21Intern / Reto Bollinger / ISM-QMS-intro
“An Question ?”

More Related Content

Similar to GitOps and security by Reto Bollinger, CSIO nine.ch

Continuous Security for GitOps
Continuous Security for GitOpsContinuous Security for GitOps
Continuous Security for GitOpsWeaveworks
 
Cfgmgmt Challenges aren't technical anymore
Cfgmgmt Challenges aren't technical anymoreCfgmgmt Challenges aren't technical anymore
Cfgmgmt Challenges aren't technical anymoreJulien Pivotto
 
How to Make a Honeypot Stickier (SSH*)
How to Make a Honeypot Stickier (SSH*)How to Make a Honeypot Stickier (SSH*)
How to Make a Honeypot Stickier (SSH*)Jose Hernandez
 
Jailbreak Detector Detector
Jailbreak Detector DetectorJailbreak Detector Detector
Jailbreak Detector DetectorNick Mooney
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructureRodrigo Stefani Domingues
 
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOpsWebinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOpsWeaveworks
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityWeaveworks
 
Monitoring at Cloud Scale
Monitoring at Cloud ScaleMonitoring at Cloud Scale
Monitoring at Cloud ScaleJulien Pivotto
 
Managing Github via Terrafom.pdf
Managing Github via Terrafom.pdfManaging Github via Terrafom.pdf
Managing Github via Terrafom.pdfmicharaeck
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Weaveworks
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsWeaveworks
 
Skaffold - faster development on K8S
Skaffold - faster development on K8SSkaffold - faster development on K8S
Skaffold - faster development on K8SHuynh Thai Bao
 
Geecon11 - Git: a Gentle InTroduction
Geecon11 -  Git: a Gentle InTroductionGeecon11 -  Git: a Gentle InTroduction
Geecon11 - Git: a Gentle InTroductionBruno Bossola
 
The devops approach to monitoring, Open Source and Infrastructure as Code Style
The devops approach to monitoring, Open Source and Infrastructure as Code StyleThe devops approach to monitoring, Open Source and Infrastructure as Code Style
The devops approach to monitoring, Open Source and Infrastructure as Code StyleJulien Pivotto
 
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...Puppet
 

Similar to GitOps and security by Reto Bollinger, CSIO nine.ch (20)

Continuous Security for GitOps
Continuous Security for GitOpsContinuous Security for GitOps
Continuous Security for GitOps
 
Cfgmgmt Challenges aren't technical anymore
Cfgmgmt Challenges aren't technical anymoreCfgmgmt Challenges aren't technical anymore
Cfgmgmt Challenges aren't technical anymore
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
From SVN to Git
From SVN to GitFrom SVN to Git
From SVN to Git
 
How to Make a Honeypot Stickier (SSH*)
How to Make a Honeypot Stickier (SSH*)How to Make a Honeypot Stickier (SSH*)
How to Make a Honeypot Stickier (SSH*)
 
Jailbreak Detector Detector
Jailbreak Detector DetectorJailbreak Detector Detector
Jailbreak Detector Detector
 
Docker e git lab
Docker e git labDocker e git lab
Docker e git lab
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOpsWebinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
 
Monitoring at Cloud Scale
Monitoring at Cloud ScaleMonitoring at Cloud Scale
Monitoring at Cloud Scale
 
Managing Github via Terrafom.pdf
Managing Github via Terrafom.pdfManaging Github via Terrafom.pdf
Managing Github via Terrafom.pdf
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
 
Skaffold - faster development on K8S
Skaffold - faster development on K8SSkaffold - faster development on K8S
Skaffold - faster development on K8S
 
Geecon11 - Git: a Gentle InTroduction
Geecon11 -  Git: a Gentle InTroductionGeecon11 -  Git: a Gentle InTroduction
Geecon11 - Git: a Gentle InTroduction
 
HPC on OpenStack
HPC on OpenStackHPC on OpenStack
HPC on OpenStack
 
Git hooks
Git hooksGit hooks
Git hooks
 
The devops approach to monitoring, Open Source and Infrastructure as Code Style
The devops approach to monitoring, Open Source and Infrastructure as Code StyleThe devops approach to monitoring, Open Source and Infrastructure as Code Style
The devops approach to monitoring, Open Source and Infrastructure as Code Style
 
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
 

More from nine

Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...nine
 
Delivering real-time video globally at Internet scale - Stefan Birrer, Co-Fou...
Delivering real-time video globally at Internet scale - Stefan Birrer, Co-Fou...Delivering real-time video globally at Internet scale - Stefan Birrer, Co-Fou...
Delivering real-time video globally at Internet scale - Stefan Birrer, Co-Fou...nine
 
How a titan empowers our cloud monitoring infrastructure
How a titan empowers our cloud monitoring infrastructureHow a titan empowers our cloud monitoring infrastructure
How a titan empowers our cloud monitoring infrastructurenine
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architecturesnine
 
Security In The Public Cloud
Security In The Public CloudSecurity In The Public Cloud
Security In The Public Cloudnine
 
TechTalkThursday: Microservices
TechTalkThursday: MicroservicesTechTalkThursday: Microservices
TechTalkThursday: Microservicesnine
 
Automating OpenShift Deployments
Automating OpenShift DeploymentsAutomating OpenShift Deployments
Automating OpenShift Deploymentsnine
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developersnine
 
Das Web im Geschwindigkeitsrausch
Das Web im GeschwindigkeitsrauschDas Web im Geschwindigkeitsrausch
Das Web im Geschwindigkeitsrauschnine
 
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?nine
 
TechTalkThursday 02.03.2017: Container-Orchestrierung mit OpenShift - Unser W...
TechTalkThursday 02.03.2017: Container-Orchestrierung mit OpenShift - Unser W...TechTalkThursday 02.03.2017: Container-Orchestrierung mit OpenShift - Unser W...
TechTalkThursday 02.03.2017: Container-Orchestrierung mit OpenShift - Unser W...nine
 
TechTalkThursday 27.10.2016: Ceph im NVME Cluster
TechTalkThursday 27.10.2016: Ceph im NVME ClusterTechTalkThursday 27.10.2016: Ceph im NVME Cluster
TechTalkThursday 27.10.2016: Ceph im NVME Clusternine
 
TechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
TechTalkThursday 27.10.2016: Redundante Linux Failover ClusterTechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
TechTalkThursday 27.10.2016: Redundante Linux Failover Clusternine
 
TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates ...
TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates ...TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates ...
TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates ...nine
 
TechTalkThursday 14.04.2016: Load tests of web applications as a service
TechTalkThursday 14.04.2016: Load tests of web applications as a serviceTechTalkThursday 14.04.2016: Load tests of web applications as a service
TechTalkThursday 14.04.2016: Load tests of web applications as a servicenine
 
TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.ch
TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.chTechTalkThursday 14.04.2016: Service Oriented Architecture @nine.ch
TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.chnine
 
TechTalkThursday 26.11.2015: Zentrales Metriken-System - ist der Flügelschlag...
TechTalkThursday 26.11.2015: Zentrales Metriken-System - ist der Flügelschlag...TechTalkThursday 26.11.2015: Zentrales Metriken-System - ist der Flügelschlag...
TechTalkThursday 26.11.2015: Zentrales Metriken-System - ist der Flügelschlag...nine
 
TechTalkThursday 26.11.2015: Manage the minions - Docker Container mit Kubern...
TechTalkThursday 26.11.2015: Manage the minions - Docker Container mit Kubern...TechTalkThursday 26.11.2015: Manage the minions - Docker Container mit Kubern...
TechTalkThursday 26.11.2015: Manage the minions - Docker Container mit Kubern...nine
 

More from nine (18)

Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
Challenges behind the scenes of the large Swiss e-Commerce shop apfelkiste.ch...
 
Delivering real-time video globally at Internet scale - Stefan Birrer, Co-Fou...
Delivering real-time video globally at Internet scale - Stefan Birrer, Co-Fou...Delivering real-time video globally at Internet scale - Stefan Birrer, Co-Fou...
Delivering real-time video globally at Internet scale - Stefan Birrer, Co-Fou...
 
How a titan empowers our cloud monitoring infrastructure
How a titan empowers our cloud monitoring infrastructureHow a titan empowers our cloud monitoring infrastructure
How a titan empowers our cloud monitoring infrastructure
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
Security In The Public Cloud
Security In The Public CloudSecurity In The Public Cloud
Security In The Public Cloud
 
TechTalkThursday: Microservices
TechTalkThursday: MicroservicesTechTalkThursday: Microservices
TechTalkThursday: Microservices
 
Automating OpenShift Deployments
Automating OpenShift DeploymentsAutomating OpenShift Deployments
Automating OpenShift Deployments
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Das Web im Geschwindigkeitsrausch
Das Web im GeschwindigkeitsrauschDas Web im Geschwindigkeitsrausch
Das Web im Geschwindigkeitsrausch
 
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?
 
TechTalkThursday 02.03.2017: Container-Orchestrierung mit OpenShift - Unser W...
TechTalkThursday 02.03.2017: Container-Orchestrierung mit OpenShift - Unser W...TechTalkThursday 02.03.2017: Container-Orchestrierung mit OpenShift - Unser W...
TechTalkThursday 02.03.2017: Container-Orchestrierung mit OpenShift - Unser W...
 
TechTalkThursday 27.10.2016: Ceph im NVME Cluster
TechTalkThursday 27.10.2016: Ceph im NVME ClusterTechTalkThursday 27.10.2016: Ceph im NVME Cluster
TechTalkThursday 27.10.2016: Ceph im NVME Cluster
 
TechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
TechTalkThursday 27.10.2016: Redundante Linux Failover ClusterTechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
TechTalkThursday 27.10.2016: Redundante Linux Failover Cluster
 
TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates ...
TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates ...TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates ...
TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates ...
 
TechTalkThursday 14.04.2016: Load tests of web applications as a service
TechTalkThursday 14.04.2016: Load tests of web applications as a serviceTechTalkThursday 14.04.2016: Load tests of web applications as a service
TechTalkThursday 14.04.2016: Load tests of web applications as a service
 
TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.ch
TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.chTechTalkThursday 14.04.2016: Service Oriented Architecture @nine.ch
TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.ch
 
TechTalkThursday 26.11.2015: Zentrales Metriken-System - ist der Flügelschlag...
TechTalkThursday 26.11.2015: Zentrales Metriken-System - ist der Flügelschlag...TechTalkThursday 26.11.2015: Zentrales Metriken-System - ist der Flügelschlag...
TechTalkThursday 26.11.2015: Zentrales Metriken-System - ist der Flügelschlag...
 
TechTalkThursday 26.11.2015: Manage the minions - Docker Container mit Kubern...
TechTalkThursday 26.11.2015: Manage the minions - Docker Container mit Kubern...TechTalkThursday 26.11.2015: Manage the minions - Docker Container mit Kubern...
TechTalkThursday 26.11.2015: Manage the minions - Docker Container mit Kubern...
 

Recently uploaded

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 

GitOps and security by Reto Bollinger, CSIO nine.ch

  • 2. Zürich,Reto Bollinger / public 2019-02-05 iso@nine:~$ Name: Reto Bollinger Job Title: Chief Information Security Officer @ Nine Internet Solutions AG Tasks: maintain ISMS (ISO27001) and QMS (ISO9001), good cop/bad cop in one Attributes: slightly paranoid ;) and a bit reclusive but overly communicative... iso@nine:~$ wiso@nine:~$ whiso@nine:~$ whoiso@nine:~$ whoaiso@nine:~$ whoamiso@nine:~$ whoami
  • 3. Zürich, C I A What is information security? Confidentiality Integrity Availability
  • 4. Zürich, Ops / DevOps / DevSecOps and confidentiality Hey, I need to quickly access that data Sure, * I will adjust permissions quickly and revert them after *) add here one of the following: a) <nothing> b) let me just disable config mgmt and c) let me just get approval for disabling config mgmt and disable config mgmt and
  • 5. Zürich, Ops / DevOps / DevSecOps and confidentiality
  • 6. Zürich, Ops / DevOps / DevSecOps and confidentiality … 12 months later: Hey! Why is that accessible to the world? Who the f*** messed with the permissions? And why? Let’s check logs! Damn! Logs only go back 6 months, must have happened before...
  • 7. Zürich, Ops / DevOps / DevSecOps and integrity Hey I quickly need to check these log files What ugly format is that? Let me strip unnecessary stuff <insert some fancy in-place sed/awk/grep command here recursively going through subdirs> Oops the config files were affected too? Wait, what do you mean they were not revision controlled?!?
  • 8. Zürich, Ops / DevOps / DevSecOps and availability Let’s roll out that brand new version of the app Oh man, so many dependencies? Luckily package manager resolves it all Oops it breaks everything! Wait, what do you mean we can’t roll back because of dependencies?
  • 9. Zürich, Sounds familiar? Who has experienced one or the other of those scenarios or something similar?
  • 10. Zürich, And now for something completely different!
  • 11. Zürich, Firmware A story from my former life... App Libs OS Drivers Buildsystem (CI/CD) Config Packages OS Builds loaded onto Binary Repo Sourcecode Repo 1 Sourcecode Repo 2 Assume you have the following (slightly simplified): How likely are you able to build a 1:1 identical firmware in 5 years from now?
  • 12. Zürich, GitOps to the rescue! ● We have lots of dependencies ● We have multiple repositories with their own histories and revisions ● We have additional configurations ● We probably even have data that relies on specific revision of SW (databases) -> We have to track the whole state of all these. Describe the state of each repository, configuration and whatever and track this combination in a repository as well
  • 13. Zürich, Deployment Let’s get back to the cloud Service 1 Service 2 Service 3 yaml Defined by
  • 14. Zürich, Deployment Service 2 Dealing with service disruptions/changes Service 1 Service 3 Monitoring DISRUPTION! ssh Ooops it failed! Let’s SSH into it and “fix” it (e.g. chmod a+rw *.*) oh and silence that alert
  • 15. Zürich, Deployment Service 2 Dealing with service disruptions/changes Service 1 Service 3 Monitoring Service 2 is now insecure. Alerting is completely silenced (for that case) Any update to Service 2 will make the problem re-occur or break even more
  • 16. Zürich, Deployment Let’s go the GitOps way CI/CD Service 1 Service 2 Service 3 MonitoringBuilds yaml Defined by
  • 17. Zürich, Deployment Service 2 Let’s go the GitOps way CI/CD Service 1 Service 3 MonitoringBuilds yaml Defined by DISRUPTION! ssh Ooops it failed! Let’s SSH into it and “fix” it No No! No touchy touchy! Only looky looky! With GitOps you should have “read-only” access to your instances X
  • 18. Zürich, Deployment Service 2 Let’s go the GitOps way CI/CD Service 1 Service 3 MonitoringBuilds Defined by DISRUPTION! vi git Ooops it failed! Let’s SSH into it and “fix” it Let’s fix the declaration and push it yaml
  • 19. Zürich, Deployment Let’s go the GitOps way CI/CD Service 1 Service 2 Service 3 MonitoringBuilds yaml Defined by What GitOps means: ● Declare EVERYTHING ● Do not depend on external states but declare these states ● Work ONLY on declaration but not on actual instances (looking is allowed)
  • 20. Zürich, Deployment Let’s go the GitOps way CI/CD Service 1 Service 2 Service 3 Configuration MonitoringBuilds yaml Defined by yaml
  • 21. Zürich, Deployment CI/CD Service 1 Configuration Service 2 Service 3 Configuration Monitoring yaml Defined by yaml yaml Builds Let’s go GitOps all the way ● Declare everything ● Think about how to bootstrap ● Test incremental changes as well as full rebuilds ● Keep a mirror of public repositories ● Use unique identifiers (tags most often are not necessarily unique)
  • 22. Zürich, So now: Why is GitOps good from security perspective? Confidentiality: One can still accidentially misconfigure permissions BUT: its documented and traceable merge requests require approval (4 eyes principle) merge requests could be checked for suspicious patterns Direct access to instances can be restricted Integrity: One can no longer create inconsistency: it’s all declarative Availability: Either it runs or it doesn’t: if it doesn’t revert to previous state Rolling out quick-fixes definitely takes longer ...but changes/fixes are of better quality
  • 23. Zürich, What makes a good GitOps project from security perspective? ● No (or read-only) “backend” access to running instances ● Automated testing: test everything: new way to break it? -> new test! ● Automated testing: incremental (update) as well as bootstrap (from scratch) ● Automated testing: find edge cases and robustify with chaos engineering* ● Merge requests (4+ eyes principle) ● Have a well defined scope: what is declared? Where are your boundaries? (not only “outwards” also “inwards”: customers realm) *) Dan Acristini held a very good talk about it: https://www.nine.ch/de/blog/gcp-meetup-ein-rueckblick-3
  • 24. Zürich, 2019-11-21Intern / Reto Bollinger / ISM-QMS-intro “Tha ’ al folk !”
  • 25. Zürich, 2019-11-21Intern / Reto Bollinger / ISM-QMS-intro “An Question ?”