Business and Enterprise
Protect your company from cybercriminals.Start Free Trial
DevOps security, also known as DevSecOps, is a conglomeration of the words development, operations and security. Both DevOps security and DevSecOps refer to a philosophy of integrating security into the software development lifecycle (SDLC) as early as possible, preferably before a single line of code is written.
DevSecOps is an extension or enhancement to the DevOps philosophy. For this reason, it's important to understand what DevOps and DevSecOps have in common before discussing their differences.
Both DevOps and DevSecOps refer to a philosophy or approach to software development, not a particular tool or set of tools. Just as installing an issue-tracking system doesn't mean you're "doing DevOps," installing static or dynamic application security tools doesn't mean you're "doing DevSecOps."
DevOps and DevSecOps both emphasise collaboration, automation and active monitoring of software applications. The ability to capture application data in real-time is key to both philosophies, because "doing" DevOps and DevSecOps requires continuously capturing and analyzing this data to discover ways to enhance productivity and drive improvements.
Both philosophies also depend on collaboration, particularly eliminating organisational silos. DevOps seeks to break down silos between software development and IT operations, the idea being that when developers and IT personnel work together, software is released more quickly and with fewer errors. DevSecOps takes things a step further and seeks to give security operations a seat at the table. The idea behind DevSecOps is that when developers, IT personnel and security personnel work together, software is released more quickly, is of higher quality and is more secure.
"Doing" DevSecOps right means that applications are properly secured against risks before they're delivered to production. This practice is often called "shift left," because it refers to integrating security at the start of the project timeline – before a single line of code is written – instead of addressing it in later phases. In a DevSecOps environment, developers code with security in mind – something that DevOps, on its own, doesn't address.
By introducing practices such as code analysis, threat investigation and vulnerability assessment into the SDLC, with continuous testing and evaluation, DevSecOps ensures that the codebase is secure from inception. In addition to improving application security, DevSecOps enhances productivity. Finding and fixing security problems early on is much less time-consuming and costly than having to refactor code later in the software lifecycle.
For all the benefits of DevSecOps, organisations can struggle to implement it properly. Let's examine some of the most common challenges to DevOps security.
Too heavy a focus on tools, too light a focus on processes. As mentioned earlier in the article, both DevOps and DevSecOps are philosophies, not mandates to use particular software.
Cultural resistance from developers, or "But we've always done it this way." Developers may not be accustomed to secure coding practices. Traditionally, developers coded for workability, and security flaws were discovered and patched later. Developers may fear that having to "worry" about security will slow production.
Cultural resistance from security teams. Developers aren't the only ones who may cling to "the way it's always been done." DevOps teams focus on speed, modifying and pushing out code over hours or days – a rapid pace that can leave security teams askance. The difference is that DevOps teams automate as many processes as possible, while security teams often do a lot of their work manually.
Inadequate secrets management. DevOps environments are highly complex and deeply interconnected. It's not unusual for DevOps shops to have hundreds of security groups and thousands of server instances, all of which utilise secrets such as privileged account credentials, SSH keys, API tokens, database passwords and more, all scattered throughout the organisation's data environment in a condition known as "secrets sprawl." A simple misconfiguration can lead to one of these secrets being exposed – and the organisation suffering a catastrophic cyberattack.
Inadequate privileged access management. To speed production, many DevOps teams give their members virtually unlimited access to privileged accounts like root and admin. Even worse, multiple individuals may share the same set of credentials – a big security no-no, as well as a major issue during compliance audits, where organisations are expected to produce a clean audit trail. Additionally, orchestration, configuration management, and other DevOps tools may also have very high access levels, far more than the tool needs to operate.
Following are some best practices for implementing DevOps security in your organisation.