Develop a security and compliance plan Flashcards

1
Q

What percent of the total exam questions are dedicated to this subject?

A

10% to 15%

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How do we get access to the outside world?

A

Typically through a service connection.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do we control the resources which an Azure Service Connection can connect to?

A

Define users, pipelines and project access permissions to the service connection.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How is an Azure Service Connnection used?

A

Once configured, it is referred to by name in a typical pipeline instruciton format.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a persinal access token and how is it used on Azure DevOps?

A

A PAT contains your security credentials. You can create and manage your PATs thoguh the Azure UI or the PAT lifecycle management API.

PATs should be assigned an explicit set of permissions and an expiration date/time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Are variable groups a safe way to persist credentials?

A

Yes, variable groups are protected resources and can offer a secret variable type (once written, you will not be able to read them back). Variable groups can be scoped to to users, projects and pipelines to limit the exposure of the secrets in the variable group.

  • Save the secrets directly to the pipeline
  • Save the secrets as ‘secret’ type in a variable group
  • Store the secrets in Azure key vault and map the necessary secret keys to the variable group (only the key not the value is visible in the variable group). This way the credentials are usable but unknowable. Azure Key Vault offers logging and management features and any changes from within Azure Key Vault will then be reflected accross every pipeline which accesses the updated secrets via this variable group -> secret mapping.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How to design a secrets storage and retrieval strategy?

A
  • Grant user, group, pipeline etc. most limited access/permissions necessary
  • Keep a separate store for configuration and secrets
  • Create separate vaults for application or stage
  • Grant access to groups rather than users to facilitate access management as team size fluctuates
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the best practices around files which contain secrets or confidential information in an Azure Pipeline?

A

Examples of sensitive files are:
* Signing Certificates
* Apple provisioning profiles
* Android keystore files
* SSH keys

You can store them using the Secure Files library and so they are treated as secrets but can be shared accross pipelines.

An alternative option would be to use Azure Key Vault and variable groups.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are some best practices to avoif leakage of sensitive information?

A

To protect from contributed code:

  • Don’t provide secrets to fork builds
  • Consider manually triggering fork builds
  • Use Microsoft hosted agents for fork builds

Other considerations:

  • Don’t rely on PATH (not very predictable)
  • Maintain a log of secrets but do not print the secret values
  • Lock down containers
  • Control available tasks
  • Use the auditing service
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the four possible aids in a good code compliance solution?

A
  • Use githooks (pre-commit, scans, audits, vunderabilities etc.)
  • Use GitHub Security (features like vunerability scanning and dependabot)
  • Use Pipelein based scans (tools available through Azure Marketplace like whitesource or checkmarx)
  • USe SonarQube (opensource, inspects code quality)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

At what stages can and should dependency scanning happen?

A
  • Client side (IDE plugins and pre-commit hooks etc.)
  • CI side (Azure services like GitHub Security)
  • Source side (Services or tools like CodeQL or whitesource)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the target features of WhiteSource and GitHub when it comes to automated security scanning?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

At what scopes can an Azure DevOps service connection be granted access?

A
  • pipeline
  • project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

You need a compliance solution to help manage vulnerabilities in application dependencies. What possible options would you have?

A
  • Whitesource Bolt
  • Github dependabot
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Static Code Analysis?

A

identify potential vulnerabilities in code by analyzing the code without executing it (SonarQube)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Dynamic Code Analysis?

A

identify potential vulnerabilities in code by analyzing the code during execution (OWASP ZAP)

17
Q

What is the LCM?

A

Local Configuration Manager: It runs on all target nodes, and it is responsible for calling the configuration resources that are included in a DSC configuration script

https://learn.microsoft.com/en-us/powershell/dsc/managing-nodes/metaconfig4?view=dsc-1.1

18
Q

What is DSC ?

A

Windows PowerShell Desired State Configuration (DSC) engine. It runs on all target nodes, and it is responsible for calling the configuration resources that are included in a DSC configuration script. This topic lists the properties of Local Configuration Manager and describes how you can modify the Local Configuration Manager settings on a target node.