devops and devsec - episerver · devops and devsec with episerver joona immonen software architect...

36
Episerver

Upload: others

Post on 19-Jun-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

Page 2: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

DevOps and DevSec with EpiserverJoona Immonen Software architect Solita Oy https://www.linkedin.com/in/joonaimmonen

Twitter@rinorragi@SolitaOy

Page 3: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

THIS IS SOLITATurnover 2015

49,7Million euros

Nearly

500professionals

Over

20years

Working in

3offices

Over

1000projects

Over

97 %customer

satisfaction

Ranking

6.in Great Place to

Work

in Finland 2015

Ranking

43.in European

Best Workplaces

Page 4: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

About me

• 1985 Hello world

• 1989 DOS basics

• 1999 Got first time paid from

IT stuff

• 2001 First IT job

• 2001-2016 Nerd stuff

Page 5: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

What is DevOps

Page 6: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

What wiki says

https://en.wikipedia.org/wiki/DevOps

Page 7: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

What I think

https://memegenerator.net/

Page 8: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

DEVELOPMENT ENVIRONMENT

Page 9: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

NEW GUY JOINS YOUR PROJECT

http://theworstthingsforsale.com/2012/12/05/html-for-babies/

Page 10: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

TWO STEPS PLAN

1. Install windows features and software with script

2. Install project specific settings with script

Page 11: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

CHOCOLATEY

• Package Manager for

Windows

• Use it by installing software

• or by using Windows Package

Manager

• Do not overtrust packages

https://chocolatey.org/content/images/logo_square.svg

Page 12: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

DEMO

Show chocolatey scripts…

https://github.com/solita/powershell-

webdevelopertools/blob/master/install/workstation-install.ps1

Page 13: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

SERVER INSTALLATION

Page 14: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

NEW SERVERS ARE WAITING FOR SETUP

Page 15: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

WHICH WILL YOU CHOOSE?

WIZARDS SCRIPTS

https://pixabay.com/en/magician-ball-boy-kid-magic-1454487/

https://pixabay.com/en/abstract-lines-numbering-system-1231863/

Page 16: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

DEMO

Show server installation scripts…

https://github.com/solita/powershell-

webdevelopertools/blob/master/install-episerver/server-install.ps1

Page 17: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

BUILDING A BUILD PIPELINE

Page 18: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

EXPANDING YOUR PIPELINE

• Can I build a cloud environment like I build my code?

• Should I have separated pipeline for infrastructure?

• Are my build jobs so important that they should be under version

control?

• Should I version my build configurations?

Page 19: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

https://pixabay.com/en/yes-board-school-font-education-593834/

Page 20: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

PIPELINE AS A CODE

• Setup a groovy script

• Create Jenkins Job DSL

job with the groovy script

• Build your build jobs with

build job

Page 21: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

YOU GET A NICE PIPELINE VIEW TOO

Page 22: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

Used Jenkins pluginsMSBuild Plugin

xUnit Plugin

MSTest plugin

MSTestRunner plugin

PowerShell plugin

Visual Studio Code Metrics Plugin

HipChat Plugin

Performance Plugin

Sonarqube plugin

OWASP-Dependency-Check Plugin

ZAProxy Plugin

New Relic Deployment Notifier Plugin

Gravatar plugin

Dynamic Parameter plugin

Selenium HTML report

Thinbackup

Violations plugin

Timestamper

Delivery Pipeline Plugin

Job DSL

Build pipeline plugin

Build Name Setter Plugin

Git plugin

Test stability history

Page 23: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

EXAMPLE GROOVY SCRIPT

Under work™ example can be found at:

https://github.com/Rinorragi/pipeline-

template/blob/master/dotnet/jobs/Main.groovy

Page 24: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

WHAT IS DEVSEC?

Page 25: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

WHAT IS INFORMATION SECURITY?

InfoSec

Confidentiality

AvailabilityIntegrity

Page 26: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

Hack youself first!

DevSec is a culture where

developers

• are security aware

• break stuff

• automate breaking stuff

https://commons.wikimedia.org/wiki/File:Syrian.hacker.jpg

Page 27: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

DevSec in Agile cycle

Training

Policies

Design

Develop

Deploy

MonitorMotivation

News

Page 28: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

CYBER SECURITY PIPELINE

Page 29: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

Design

Threat analysis

Policy review

Architecture

Develop

Static code analysis

Known vulnerability

analysis

Deploy

Web application security testing

Network scanning

Attack surface analysis

Monitor

Incident & response

Alerts

Page 30: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

DevelopFxCop

SonarQube

Code Analysis

Code Metrics

OWASP Dependency check

DeployBurp suite

Acunetix

OWASP ZAP

Nessus

jMeter

MonitorElasticsearch

Greylock

NewRelic

HipChat / Slack

Dashing.io

Page 31: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

GIT AS A TICKET STATUS MONITOR

Page 32: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

USING FEATURE BRANCHES

SUPPORT-1

branchTEST

QA

PROD

(master)

Feature

being

developed

Pull request

for code

review

Ready for

customer

testing

Go live

Page 33: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

TIPS & TRICKS

•Use DIFF to see what tickets are on which environment

•Query Jira to see if it matches with GIT

•Put everything on the screen

Page 34: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

SUPPORT SITUATION

TODO REVIEW QA PROD

SUPPORT-1

SUPPORT-2

SUPPORT-5 SUPPORT-73

SUPPORT-28

SUPPORT-21

SUPPORT-13

Page 35: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

BEING A HERO THAT YOUR PROJECT MANAGER LOVES

https://pixabay.com/en/superman-lego-superhero-hero-super-1275374/

Page 36: DevOps and DevSec - Episerver · DevOps and DevSec with Episerver Joona Immonen Software architect ... Sonarqube plugin OWASP-Dependency-Check Plugin ZAProxy Plugin New Relic Deployment

Episerver

Thanks!

Learn PowerShell and

prosper!