DevSecOps and Drupal:
Securing Your Applications in
a Modern IT Landscape
I am Will Hall
My role is Digital Architect which means I have
all video conferencing applications installed.
I support code projects in Drupal (PHP),
Python, Ruby, JavaScript; using Docker,
Ansible, GitLab, GitLab CI and Bash… I don’t
understand it all.
You can find me at @hn_will
Hello!
Imposters and security...
Personal
Vulnerabilities
The History of
Musical Notation
La, la, la, la, la.
We’ll get to why this is relevant soon.
1
“
Music is oral history. However, in
its history it was unable to be
communicated easily across time
& space.
Compressed history of musical notation
◉ Boethius (480-525 AD) - Letter associated with notes
◉ Gregory the Great (600 AD) - First seven letters, Uppercase
and Lowercase. Also introduced lines (similar to stave) with
words moving up and down.
◉ Franco of Cologne (1200 AD) Symbols for length of notes.
Standards take
time, effort, evolution
DevOps is filled with incomplete
standards
We have so much to compete with
when joining code to infrastructure.
So many additional variables.
What is DevSecOps?
Because everyone needs a buzzword
2
Development Team
Favourite phrase:
Works On My Machine
DevOps
Operations Team
Favourite phrase:
Server is up, must be
application errors.
Security Team
Favourite Phrase:
No
DevOps
OperationsDevelopment DevOps
DevOps is fixated on the successful
movement of products
between environments
DevSecOps
Operations
Development Security
DevSecOps
DevSecOps is fixated on the secure,
successful movement of secure products
between secure environments
DevOps is moving
products
Is that an oversimplification?
3
DevOps delusion
first lastsecond
Our process is easy...
€89,526,124
That’s a lot of money
100%
Total success!
185,244 users
And a lot of users
Global
our
office
The internet is held together by string, glue
and uncommented code.
Testing
Automation
Doing the same things over and over again
4
Let’s review some testing
concepts
Static Analysis Testing
Checking the code against
standards. What is acceptable,
what is not.
Build Testing
Does the application build with
its dependencies?
Smoke Testing
Is it broken now?
Unit Testing
Testing the functionality of
code. Inputs and outputs.
Functional Testing
Testing functions/features
inside the application.
Security Testing
Testing elements of security.
You don’t need to be a plumber to like
pipelines.
Pipelines
Code Static
Analysis
Unit
Test
Build
Test
Functional
Test
Smoke
Test
Local testing?
Where is security testing
inside your pipelines?
🤷
Security you can automate
◉ Secrets Management (secure your pipeline)
◉ Dependency/Vulnerabilty Scanning
◉ Vulnerability Attacks
◉ Load Testing/DDoS Simulations
Let’s get real.
◉ Everything should be in a container.
◉ Containers should have the minimum required.
◉ We should process jobs in parallel.
Let’s demo this…Or in practice, use my pre-completed examples
😲
We probably already know what our
greatest weakness is...
Testing Tools
Because choosing things is hard
5
Secrets Management
◉ How do you achieve minimum required access?
◉ Where do you inject secrets?
◉ How do you control access?
◉ Tools:
○ Hashicorp Vault
○ Docker Secrets
○ Keybase
Vulnerability Databases
◉ When standing on the “shoulders of giants”, we can see
further, but we also don’t know all of our dependencies
◉ CVE - https://www.cvedetails.com/
◉ Nist - https://nvd.nist.gov/
◉ Tools:
○ Clair - coreos/clair - Docker layer security
○ Snyk - Application Level
○ Retire.js
○ drupal.org
Vulnerability Attacks
◉ Attack your known weaknesses
◉ Bad users
◉ Tools:
○ Kali Linux 😈
○ Fuzzing, brute force, module enumeration, Metasploit,
Burp Portswigger...
Security Auditing
◉ DevSecOps does not replace Security Audits, it augments
the pipeline to allow greater focus.
What you need to
do now
Actionable items for you
6
Automate your build
◉ If you are building manually, stop. Automate.
◉ If you already use Jenkins, that is fine, if not, don’t start on it.
◉ GitOps - This should be your new search topic...
◉ Or:
○ GitLab CI
○ Drone.io
○ CircleCI
Clusters/Orchestrations
◉ Clusters and orchestration of containers are the future of
application delivery.
◉ Learn Docker
◉ Learn Kubernetes (and probably use services; EKS, RDS on
AWS).
Automate your security
◉ Test your weaknesses
◉ Reduce your effort
◉ Speed is essential - time is your non-transferable resource
We probably already know what our
greatest strength is…
Each other.
Any questions?
https://www.surveymonkey.com/r/QTLXNVQ
You can find me at
◉ @hn_will
◉ linkedin.com/in/willhallonline
◉ willhallonline.co.uk
Thanks!
Credits
Special thanks to all the people who made and
released these awesome resources for free:
◉ Presentation template by SlidesCarnival
◉ Photographs by Pixabay

DevSecOps and Drupal: Securing your applications in a modern IT landscape