SlideShare uma empresa Scribd logo
1 de 20
Incluindo Ferramentas de
Segurança no Pipeline
Claudio Romão |@claudiobernardo
Head DevOps & Training – Cloud Motion
Processo Atual
Release
Ciclo 1 Ciclo 2 Ciclo 3
Produção
Processo Atual
Release
Ciclo 1 Ciclo 2 Ciclo 3
Produção
5
Shift-left
Processo Atual
Release
Ciclo 1 Ciclo 2 Ciclo 3
Produção
Mas o que podemos adicionar?
• Adicionar informações de segurança no requisito
• Adicionar requisitos de segurança
• Treinamento do time de dev para desenvolver de modo seguro
• Análise estática de código
• Análise de pacotes utilizados
• Compliance as a code
Mas o que podemos adicionar?
• Gestão de Configuração
• Cofres
• Testes de segurança: PenTest
• Monitoramento das aplicações e infra
• Métricas e relatórios para acompanhamento
• Governança
9
10
Push CI
11
90% dos projetos
usam pacotes
open-source
Open Source License
• Todos os pacotes Open Source possuem um tipo de licença
• Instalar ou usar em algum processo do seu ciclo de pipeline você está
concordando com a licença daquele software
• A licença geralmente está em um arquivo ou quando você instala algum software naquele
checkbox que quase ninguém lê.
• Existem vários tipos de licenças open source e é aí que temos o problema.
Permissive Licenses
• Esse tipo permite que você utilize, modifique e redistribua da maneira que quiser.
Sem ter a necessidade de colocar o seu código como aberto.
• MIT
• .net Core
• Jquery
• BSD License
• GO
13
Copyleft Licenses
• Elas permitem que você utilize e altere, porém você tem que colocar seu
software nos mesmos termos do “trabalho original”
• GNU - GPL
• Isso pode ser um problema, pois você tem que talvez disponibilizar seu código
dependendo dos termos descritos na licença. Caso esteja desenvolvendo
algo comercial, você pode estar em risco.
14
Riscos de Open Source
• Segurança
• Licenciamento
• Saúde/Estabilidade
• Tempo de resposta
15
16
Push CI
17
Publish
Dev Prd
Monitoramento e Aprendizado
18
Ambientes
Noturna
Monitoramento e Aprendizado
Ferramentas
• Roslyn
• Sonarlint
• Azure Repos – branch policy com acesso a serviços externos
• SonarCloud / SonarQube (versão free) – Análise estática de código
• WhiteSource / WhiteSource Bolt (versão free) – Análise de Bibliotecas Open Source
• OWASP ZAP – PentTest (modo passivo para CI / Ativo para Noturno)
• Azure Pipelines - Tokenização de variáveis
• Azure Policy – Verificação de ferramentas de compliance na Nuvem
• Inspec – Verificação de compliance de vms e seus componentes
• Chef – ferramenta de gestão de configuração como código.
19
Demonstrações
20
Nossas
Redes Sociais
21
facebook.com/cloudmotionbr
instagram.com/cloudmotionbr/
linkedin/cloudmotionbr
@claudiobernardo
youtube.com/cloubmotionbr

Mais conteúdo relacionado

Mais procurados

Jenkins + DCS / Dafiti Conference 2014
Jenkins + DCS / Dafiti Conference 2014Jenkins + DCS / Dafiti Conference 2014
Jenkins + DCS / Dafiti Conference 2014Rodrigo Moyle
 
Testes de integração em microservices
Testes de integração em microservicesTestes de integração em microservices
Testes de integração em microservicesClaudenir Freitas
 
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva 3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva minastestingconference
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featuretdc-globalcode
 
Automatizando seus testes com robot framework
Automatizando seus testes com robot frameworkAutomatizando seus testes com robot framework
Automatizando seus testes com robot frameworkClaudenir Freitas
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Renato Groff
 
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...iMasters
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código LegadoCesar Romero
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Igor Abade
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureGrupo de Testes Carioca
 
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareLetticia Nicoli
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 

Mais procurados (20)

Testes
TestesTestes
Testes
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
 
Jenkins + DCS / Dafiti Conference 2014
Jenkins + DCS / Dafiti Conference 2014Jenkins + DCS / Dafiti Conference 2014
Jenkins + DCS / Dafiti Conference 2014
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
Testes de integração em microservices
Testes de integração em microservicesTestes de integração em microservices
Testes de integração em microservices
 
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva 3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e feature
 
Automatizando seus testes com robot framework
Automatizando seus testes com robot frameworkAutomatizando seus testes com robot framework
Automatizando seus testes com robot framework
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
 
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código Legado
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live Share
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 

Semelhante a Incluindo Ferramentas de Segurança no Pipeline

Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsRafael Salerno de Oliveira
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open SourceDiogo Silva
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourcetdc-globalcode
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Renato Groff
 
TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"Cesar Romero
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiFelipe Caputo
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiMayara Fernandes
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxImpacta Eventos
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...iMasters
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
Alcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaAlcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaSamanta Cicilia
 
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolsoTecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolsoRodrigo Calumby
 

Semelhante a Incluindo Ferramentas de Segurança no Pipeline (20)

Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open Source
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSource
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016
 
TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em Delphi
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
 
Startups e DevOps
Startups e DevOpsStartups e DevOps
Startups e DevOps
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Alcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaAlcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínua
 
Solução Zabbix
Solução ZabbixSolução Zabbix
Solução Zabbix
 
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolsoTecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
Tecnologias Abertas: Visão geral, mitos, produtividade e dinheiro no bolso
 
Potencializando a qualidade de código
Potencializando a qualidade de códigoPotencializando a qualidade de código
Potencializando a qualidade de código
 

Incluindo Ferramentas de Segurança no Pipeline

Notas do Editor

  1. Depois veio a onda do DevOps, então encurtamos e melhoramos a maneira que planejávamos e desenvolvíamos software, deixamos o processo mais rápido e cíclico porém, a equipe de segurança continuava ficando no final do processo, onde podia impedir um sistema de ir ou não para produção. Nesse contexto nós temos dois grandes problemas. O primeiro e bem conhecido é que quanto mais perto de produção eu descubro um bug, mais caro é para arrumar por n razões (já tem muita coisa que depende da área defeituosa – acoplamento; hoje já não lembramos muito bem de o porque aquilo foi implementado daquele jeito; a pessoa que fez já não faz mais parte do time, ou está em outro projeto ou até mesmo saiu da empresa.) O segundo problema e bem mais sério é: Se descobrirmos um problema de segurança no final, perto da data de entrega nos resta apenas duas saídas: 1 – Não liberar a ida para produção do sistema ou feature nova que foi implementada; pois não queremos nos arriscar a perder dados sensíveis ou até mesmo ter um possível ponto de invasão. 2 – Ceder a pressão de mercado e interna (CEO, áreas de negócio) e liberar mesmo sabendo dos riscos. Idealmente geraríamos um débito técnico – que seria nesse caso igual pegar dinheiro com agiota – e teríamos que resolver o mais rápido possível. Isso vai gerar novos trabalhos que não estavam planejados e consequentemente impactar na capacidade do time de continuar desenvolvendo projetos novos que vão trazer mais benefícios para a empresa.
  2. 2 – Ceder a pressão de mercado e interna (CEO, áreas de negócio) e liberar mesmo sabendo dos riscos. Idealmente geraríamos um débito técnico – que seria nesse caso igual pegar dinheiro com agiota – e teríamos que resolver o mais rápido possível. Isso vai gerar novos trabalhos que não estavam planejados e consequentemente impactar na capacidade do time de continuar desenvolvendo projetos novos que vão trazer mais benefícios para a empresa.
  3. 2 – Ceder a pressão de mercado e interna (CEO, áreas de negócio) e liberar mesmo sabendo dos riscos. Idealmente geraríamos um débito técnico – que seria nesse caso igual pegar dinheiro com agiota – e teríamos que resolver o mais rápido possível. Isso vai gerar novos trabalhos que não estavam planejados e consequentemente impactar na capacidade do time de continuar desenvolvendo projetos novos que vão trazer mais benefícios para a empresa.
  4. Segunda avaliações de algumas empresas de segurança, existem mais de 2500 tipos de licenças open source. Não existe um padrão, quem está desenvolvendo pode criar os termos que quiser e você acaba concordando com eles quando começa a utilizar a biblioteca Mas existe um esforço sendo feito para padronizar essas licenças para que o desenvolvedor não precise escrever a própria. Open Source Initiative (OSI) : Existem em torno de 96 tipos de licenças “aprovadas” por eles
  5. Segurança: Por ser um OSS não quer dizer que ele não é seguro. Softwares comerciais geralmente notificam quando existem patch Com Open Source você tem que estar de olho para saber se tem vulnerabilidades e se já existem patches que corrijam o erro. E Você geralmente tem que pegar e reinstalar essa nova versão Você precisa estar ciente: Saber que existe alguma vulnerabilidade no pacote Saber quais são os OSS usados no seu sistema – ter um inventário. Senão você não tem como saber o que tem que atualizar pq está vulnerável. Quais versões você está executando: Saber se ela está desatualizada e precisa ser atualizada. Dependências.: Não basta ter uma lista de OSS que vc está usando, tipo o package.config, pq uma biblioteca lá pode depender de outras e você fica sem visão disso.