Application deployment and Security Flashcards

1
Q

Name the 4 tier structure for app deployment

A

Development
Testing
Staging
Production

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

Development models (types of servers)? (4)

A

Bare Metal
Virtual Machine
Container Based
Serverless

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

Difference between type 1 and type 2 hypervisor

A

Type 1 - Bare metal

Type 2 - runs as an application on a OS

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

Types of infrastructure? (5)

A
On-premise
Private Cloud
Public Cloud
Hybrid Cloud
Edge Cloud
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is docker?

A

Container based solution to contain an application, without worrying about underlying OS libraries etc.

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

Dockerfile - to pull from and existing image (first line of docker file)?

A

FROM

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

Dockerfile - set the working directory

A

WORKDIR

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

Dockerfile - copy files

A

COPY

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

Dockerfile - execute commands when docker starts

A

CMD

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

Dockerfile - execute commands as part of the build

A

RUN

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

Command to build docker image

A

docker build -t .

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

Start a docker image

A

docker run image_name

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

docker run -P vs -p

A
  • p 8080:80 will translate local port 8080 to docker port 80

- P will use the dockerfile EXPOSE ports to local random ports

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

docker run but detach option

A

docker run -d image_name

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

docker - enter an running container

A

docker exec -it container_name /bin/sh

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

download a docker image

A

docker pull NAME:TAG

17
Q

upload a docker image

A

docker push NAME:TAG

18
Q

list running docker images

A

docker ps

docker container ls

19
Q

In CI/CD explain what CI is

A

Its the process of continually merging small changes to the code so that any given change set is small with less impact than a big change

20
Q

In CI/CD whats the difference between Continuous Delivery vs Continuous Deployment

A

Delivery - ensures shorts sprints are always done to ensure code is deployable
Deployment - code is constantly deployed provided its tagged ready for production (tests are done in Delivery)

21
Q

Name methods to avoid impact to users when deploying new code or changes to code (3)

A

Rolling upgrade:
Canary Pipeline:
Blue/Green deployment

22
Q

CI/CD Benefits (6)

A
Integration with agile methods
Shorter MTTR
Automated deployment
Less disruptive
Improved quality
Improved time to market
23
Q

Load balance methods (6)

A
Persistent
Round Robin
Least Connections
IP Hash
Blue-Green
Canary
24
Q

Three common web attacks

A

SQL injection
Cross-Site Scripting (XSS)
CSRF

25
Q

Whats the difference between data at rest and data in flight

A

Data at rest - when data is being stored

Data in flight or in motion - when data is being transferred

26
Q

Things to consider when storing data (5)

A

Encrypting data: One way/Two way encryption
Software vulnerabilities: be mindfull when using existing libraries
Storing too much data: store what you need
Storing data in the cloud: data is stored on someone else hardware
Roaming devices: laptops, phones etc

27
Q

Explain one way vs two way encryption

A

One-way encryption: doesn’t need a key and doesn’t need to be decrypted once encrypted
Two-way encryption: Uses a key to encrypt and store then decrypt when you need it again

28
Q

Best practice for transporting data

A

SSH
TLS
VPN

29
Q

OWASP

A

Open Web Application Security Project

Defines tools and documentation to avoid common web security issues

30
Q

Top 10 OWASP list

A
  • Injection
  • Broken authentication
  • Sensitive Data Exposure
  • XML External Entities (XXE)
  • Broken Access control
  • Security Misconfiguration
  • Cross-Site Scripting (XSS) -
  • Insecure Deserialization
  • Using components with known vulnerabilities -
  • Insufficient logging and monitoring
31
Q

What is a salted password

A

Using random data to hash the password, ie the same password will have different hash.

32
Q

Password cracking methods

A

Password guessing
Dictionary attack
Rainbow table - using pre-compiled list of password hashes
Social engineering

33
Q

Types of attacks to gain information

A
  • Phishing - fraudulently gaining information through links etc.
  • Vishing (Voice Phishing) - voice calls to gain info
  • Smishing - Phishing via sms
  • Impersonation - impersonating someone of authority or service provider
34
Q

6 principles of human influence

A

○ Reciprocity - return a favour when asked
○ Commitment and consistency - when people commit they tend to honour it… ie sign up later checkbox.
○ Social Proof - follow the sheep mentality
○ Authority - People obey authority figures
○ Liking - like-able people can persuade people easily
○ Scarcity - when items or offers or limited, offers are taken up quickly

35
Q

What is ISC

A

Information Security Culture

The behavior of employees that has an impact on organizations data

36
Q

DevOps Principals (7)

A

Iterative - break process into smaller bits
Incremental - Projects need to be developed in small and rapid incremental cycles
Continuous - merge development and deployment into simpler process
Automated - everything can be automated
Self-service - What DevOps principle Every IT engineer should have the same development environment to develop and test projects
Collaborative - teams need to work together
Holistic - Treats process as a whole service

37
Q

Types of SQL injection

A

In-band SQL injection
Inferential or blind SQL injection
Out-of-band SQL injection