Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Control name and description:

1) Allow

...

privilege

...

escalation:
Attackers

...

may

...

gain

...

access

...

to

...

a

...

container

...

and

...

uplift

...

its

...

privilege

...

to

...

enable

...

excessive

...

capabilities.

2)Allowed

...

hostPath:
Mounting

...

host

...

directory

...

to

...

the

...

container

...

can

...

be

...

abused

...

to

...

get

...

access

...

to

...

sensitive

...

data

...

and

...

gain

...

persistence

...

on

...

the

...

host

...

machine.

...

3) Applications

...

credentials

...

in

...

configuration

...

files:
Attackers

...

who

...

have

...

access

...

to

...

configuration

...

files

...

can

...

steal

...

the

...

stored

...

secrets

...

and

...

use

...

them.

...

Checks

...

if

...

ConfigMaps

...

or

...

pods

...

have

...

sensitive

...

information

...

in

...

configuration.

...

4) Automatic

...

mapping

...

of

...

service

...

account:

...


Potential

...

attacker

...

may

...

gain

...

access

...

to

...

a

...

POD

...

and

...

steal

...

its

...

service

...

account

...

token.

...

Therefore,

...

it

...

is

...

recommended

...

to

...

disable

...

automatic

...

mapping

...

of

...

the

...

service

...

account

...

tokens

...

in

...

service

...

account

...

configuration

...

and

...

enable

...

it

...

only

...

for

...

PODs

...

that

...

need

...

to

...

use

...

them.

...

 

5) CVE-2021-25741

...

-

...

Using

...

symlink

...

for

...

arbitrary

...

host

...

file

...

system

...

access:

...


A

...

user

...

may

...

be

...

able

...

to

...

create

...

a

...

container

...

with

...

subPath

...

volume

...

mounts

...

to

...

access

...

files

...

&

...

directories

...

outside

...

of

...

the

...

volume,

...

including

...

on

...

the

...

host

...

filesystem.

...


This

...

was

...

affected

...

at

...

the

...

following

...

versions:

...

v1.22.0

...

-

...

v1.22.1,

...

v1.21.0

...

-

...

v1.21.4,

...

v1.20.0

...

-

...

v1.20.10,

...

version

...

v1.19.14

...

and

...

lower.

...

6) Cluster-admin

...

binding:

...


Attackers

...

who

...

have

...

Cluster-admin

...

permissions

...

(can

...

perform

...

any

...

action

...

on

...

any

...

resource),

...

can

...

take

...

advantage

...

of

...

their

...

high

...

privileges

...

for

...

malicious

...

intentions.

...

Determines

...

which

...

subjects

...

have

...

cluster

...

admin

...

permissions.

...

7) Container

...

hostPort:

...


...

Configuring

...

hostPort

...

limits

...

you

...

to

...

a

...

particular

...

port,

...

and

...

if

...

any

...

two

...

workloads

...

that

...

specify

...

the

...

same

...

HostPort

...

cannot

...

be

...

deployed

...

to

...

the

...

same

...

node.

...

And

...

if

...

the

...

scale

...

of

...

your

...

workload

...

is

...

larger

...

than

...

the

...

number

...

of

...

nodes

...

in

...

your

...

Kubernetes

...

cluster,

...

the

...

deployment

...

fails.

...

8) Control

...

plane

...

hardening:

...


...

Kubernetes

...

control

...

plane

...

API

...

is

...

running

...

with

...

non-secure

...

port

...

enabled

...

which

...

allows

...

attackers

...

to

...

gain

...

unprotected

...

access

...

to

...

the

...

cluster.

...

9) Dangerous

...

capabilities:

...


Giving

...

dangerous

...

and

...

unnecessary

...

capabilities

...

for

...

a

...

container

...

can

...

increase

...

the

...

impact

...

of

...

a

...

container

...

compromise.

...

10) Exec

...

into

...

container:

...


...

Attackers

...

who

...

have

...

permissions,

...

can

...

run

...

malicious

...

commands

...

in

...

containers

...

in

...

the

...

cluster

...

using

...

exec

...

command

...

(“kubectl

...

exec”).

...

Determines

...

which

...

subjects

...

have

...

permissions

...

to

...

exec

...

into

...

containers.

...

 

11) Exposed

...

dashboard:

...


If

...

Kubernetes

...

dashboard

...

is

...

exposed

...

externally

...

in

...

Dashboard

...

versions

...

before

...

2.01,

...

it

...

will

...

allow

...

unauthenticated

...

remote

...

management

...

of

...

the

...

cluster.

...

12) Host

...

PID/IPC

...

privileges:

...

 
Containers

...

should

...

be

...

as

...

isolated

...

as

...

possible

...

from

...

the

...

host

...

machine.

...

The

...

hostPID

...

and

...

hostIPC

...

fields

...

in

...

Kubernetes

...

may

...

excessively

...

expose

...

the

...

host

...

for

...

potentially

...

malicious

...

actions.

...

 

13) Immutable

...

container files:
Mutable container filesystem can be abused to gain malicious code and data injection into containers. Use immutable (read-only)

...

filesystem

...

to

...

limit

...

potential

...

attacks.

...


Deployment

...

-

...

nginx-deployment

...


Remediation:

...

Set

...

the

...

filesystem

...

of

...

the

...

container

...

to

...

read-only

...

when

...

possible.

...

If

...

the

...

containers

...

application

...

needs

...

to

...

write

...

into

...

the

...

filesystem,

...

it

...

is

...

possible

...

to

...

mount

...

secondary

...

filesystems

...

for

...

specific

...

directories

...

where

...

application

...

require

...

write

...

access.

...

 

14) Ingress

...

and

...

Egress

...

blocked:

...


...

By

...

default,

...

you

...

should

...

disable

...

Ingress

...

and

...

Egress

...

traffic

...

on

...

all

...

pods.

...


Deployment

...

-

...

nginx-deployment

...


Remediation:

...

Define

...

a

...

network

...

policy

...

that

...

restricts

...

ingress

...

and

...

egress

...

connections.

...

 

15) Insecure

...

capabilities:

...


Giving

...

insecure

...

and

...

unnecessary

...

capabilities

...

for

...

a

...

container

...

can

...

increase

...

the

...

impact

...

of

...

a

...

container

...

compromise.

...

 

16) Linux

...

hardening:

...

 
Often,

...

containers

...

are

...

given

...

more

...

privileges

...

than

...

actually

...

needed.

...

This

...

behavior

...

can

...

increase

...

the

...

impact

...

of

...

a

...

container

...

compromise.

...

 
Deployment

...

-

...

nginx-deployment

...


Remediation:

...

Make

...

sure

...

you

...

define

...

at

...

least

...

one

...

linux

...

security

...

hardening

...

property

...

out

...

of

...

AppArmor,

...

Seccomp,

...

SELinux

...

or

...

Capabilities.

...

17) Network

...

policies:

...

If

...

no

...

network

...

policy

...

is

...

defined,

...

attackers

...

who

...

gain

...

access

...

to

...

a

...

single

...

container

...

may

...

use

...

it

...

to

...

probe

...

the

...

network.

...

Lists

...

namespaces

...

in

...

which

...

no

...

network

...

policies

...

are

...

defined.

...

 

18) Non-root

...

containers:

...


Potential

...

attackers

...

may

...

gain

...

access

...

to

...

a

...

container

...

and

...

leverage

...

its

...

privileges

...

to

...

conduct

...

an

...

attack.

...

Hence

...

it

...

is

...

not

...

recommended

...

to

...

deploy

...

containers

...

with

...

root

...

privileges

...

unless

...

it

...

is

...

absolutely

...

necessary.

...

 

19) Privileged

...

container:

...


Potential

...

attackers

...

may

...

gain

...

access

...

to

...

privileged

...

containers

...

and

...

inherit

...

access

...

to

...

the

...

host

...

resources.

...

Therefore,

...

it

...

is

...

not

...

recommended

...

to

...

deploy

...

privileged

...

containers

...

unless

...

it

...

is

...

absolutely

...

necessary.

...

 

20) Resource

...

policies:

...


CPU

...

and

...

memory

...

resources

...

should

...

have

...

a

...

limit

...

set

...

for

...

every

...

container

...

to

...

prevent

...

resource

...

exhaustion.

...

21) hostNetwork

...

access:

...


...

Potential

...

attackers

...

may

...

gain

...

access

...

to

...

a

...

POD

...

and

...

inherit

...

access

...

to

...

the

...

entire

...

host

...

network.

...

For

...

example,

...

in

...

AWS

...

case,

...

they

...

will

...

have

...

access

...

to

...

the

...

entire

...

VPC.



Example of a scorecard:

+-----------------------------------------------------------------------+------------------+-------------------+---------------+-----------+
|                             CONTROL NAME                              | FAILED RESOURCES | WARNING RESOURCES | ALL RESOURCES | % SUCCESS |
+-----------------------------------------------------------------------+------------------+-------------------+---------------+-----------+
| Allow privilege escalation                                            | 0                | 0                 | 1             | 100%      |
| Allowed hostPath                                                      | 0                | 0                 | 1             | 100%      |
| Applications credentials in configuration files                       | 0                | 0                 | 1             | 100%      |
| Automatic mapping of service account                                  | 0                | 0                 | 0             | NaN       |
| CVE-2021-25741 - Using symlink for arbitrary host file system access. | 0                | 0                 | 1             | 100%      |
| Cluster-admin binding                                                 | 0                | 0                 | 0             | NaN       |
| Container hostPort                                                    | 0                | 0                 | 1             | 100%      |
| Control plane hardening                                               | 0                | 0                 | 1             | 100%      |
| Dangerous capabilities                                                | 0                | 0                 | 1             | 100%      |
| Exec into container                                                   | 0                | 0                 | 0             | NaN       |
| Exposed dashboard                                                     | 0                | 0                 | 1             | 100%      |
| Host PID/IPC privileges                                               | 0                | 0                 | 1             | 100%      |
| Immutable container filesystem                                        | 1                | 0                 | 1             | 0%        |
| Ingress and Egress blocked                                            | 1                | 0                 | 1             | 0%        |
| Insecure capabilities                                                 | 0                | 0                 | 1             | 100%      |
| Linux hardening                                                       | 1                | 0                 | 1             | 0%        |
| Network policies                                                      | 0                | 0                 | 0             | NaN       |
| Non-root containers                                                   | 0                | 0                 | 1             | 100%      |
| Privileged container                                                  | 0                | 0                 | 1             | 100%      |
| Resource policies                                                     | 0                | 0                 | 1             | 100%      |
| hostNetwork access                                                    | 0                | 0                 | 1             | 100%      |
+-----------------------------------------------------------------------+------------------+-------------------+---------------+-----------+
|                                  21                                   |        3         |         0         |      17       |    82%    |
+-----------------------------------------------------------------------+------------------+-------------------+---------------+-----------+

...