Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automate all the Security

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →
Avatar for Kat Kat
May 04, 2016

Automate all the Security

Talk at the Continuous Lifecycle Conference - London May 2016

Photo on slide two by the very talented Tom Garnett of tgarnett.com

Avatar for Kat

Kat

May 04, 2016

Other Decks in Technology

Transcript

  1. Kat McIvor (Samperi) @Kaiylie Principal Technologist – DevOps at QA

    Ltd PhD in Computer Science / Intelligent Agents (come talk to me about game agents and building maps!) Who am I?
  2. Write some code Test Locally Push to Source Control Build

    and test on server Build Container Push to deployment Monitor
  3. Write some code Test Locally Push to Source Control Build

    and test on server Build Container Push to deployment Monitor Security!?
  4. Leaning in over Always Saying “No” Data & Security Science

    over Fear, Uncertainty and Doubt Open Contribution & Collaboration over Security-Only Requirements Consumable Security Services with APIs over Mandated Security Controls & Paperwork Business Driven Security Scores over Rubber Stamp Security Red & Blue Team Exploit Testing over Relying on Scans & Theoretical Vulnerabilities 24x7 Proactive Security Monitoring over Reacting after being Informed of an Incident Shared Threat Intelligence over Keeping Info to Ourselves Compliance Operations over Clipboards & Checklists Call to action - http://www.devsecops.org/
  5. My Security Policy The host machine should be configured according

    to best practices Apache should be installed Git should not be installed Port 80 should be open Port 8080 should not be open
  6. Using Test Kitchen: Security in Config Management control_group 'webserver' do

    control 'apache working and listening on port 80' do it 'is installed' do expect(package('apache2')).to be_installed end it 'should be listening on port 80' do expect(port(80)).to be_listening end end … end
  7. Automated tools for identifying problems - Docker Bench - Identify

    problems on the docker host Security in Containers - Host
  8. Scan your Dockerfiles or running containers for problems with ServerSpec

    Security in Containers - Dockerfile describe "Dockerfile" do describe package('apache2') do it { should be_installed } end it 'should not expose random ports' do expect(@image.json['ContainerConfig']['ExposedPorts']).to contain_exactly(["80/tcp", {}]) end end end
  9. SecComp in the Docker engine Security in Containers – When

    running { "defaultAction" : "SCMP_ACT_ALLOW", "syscalls": [ { "name" : "chmod", "action" : "SCMP_ACT_ERRNO" } ] } $ docker run --security-opt seccomp:chmod.json busybox \ chmod 400 /etc/hostname chmod: /etc/hostname: Operation not permitted
  10. module.exports = leftpad; function leftpad (str, len, ch) { str

    = String(str); var i = -1; if (!ch && ch !== 0) ch = ' '; len = len - str.length; while (++i < len) { str = ch + str; } return str; }