You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,10 +26,10 @@ vArmor is a cloud-native container sandbox system. It leverages Linux's [AppArmo
26
26
**vArmor Features:**
27
27
***Cloud-Native**. vArmor follows the Kubernetes Operator design pattern, allowing users to harden specific workloads by manipulating the [CRD API](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). This approach enables sandboxing of containerized microservices from a perspective closely aligned with business needs.
28
28
***Multiple Enforcers**. vArmor abstracts AppArmor, BPF, and Seccomp as enforcers, supporting their use individually or in combination. This enables enforcing access control on container file access, process execution, network outbound, syscalls, and more.
29
-
***Allow-by-Default**. vArmor currently focuses on supporting this model, where only explicitly declared behaviors will be blocked, which effectively minimizes performance impact and enhances usability. Besides, it supports auditing behaviors that violate the access control rules, and the violation behaviors can also be allowed instead of being blocked.
29
+
***Allow-by-Default**. vArmor currently focuses on supporting this model, where only explicitly declared behaviors will be blocked, which effectively minimizes performance impact and enhances usability. Besides, it supports auditing violations, and these violations can also be allowed rather than blocked.
30
30
***Built-in Rules**. vArmor features a range of built-in rules ready to use out of the box. They are designed for the Allow-by-Default security model, eliminating the need for expertise in security profile creation.
31
-
***Behavior Modeling**. vArmor supports behavior modeling for workloads. This can be used for developing an allowlist profile, analyze which built-in rules can harden the application, or guide the configuration of workloads to adhere to the principle of least privilege.
32
-
***Deny-by-Default**. vArmor is capable of creating an allowlist profile from behavior models and ensuring that only explicitly declared behaviors are permitted.
31
+
***Behavior Modeling**. vArmor features a range of built-in rules ready to use out of the box. They are designed for the Allow-by-Default security model, eliminating the need for expertise in security profile creation.
32
+
***Deny-by-Default**. vArmor is capable of using allowlist profiles to harden workloads and provide a more user-friendly approach to develop and manage profiles.
33
33
34
34
35
35
vArmor was created by the **Elkeid Team** of the endpoint security department at ByteDance. And the project is still in active development.
Copy file name to clipboardExpand all lines: docs/README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,10 +17,10 @@ vArmor is a cloud-native container sandbox system. It leverages Linux's [AppArmo
17
17
**vArmor Features:**
18
18
* Cloud-Native. vArmor follows the Kubernetes Operator design pattern, allowing users to harden specific workloads by manipulating the [CRD API](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). This approach enables sandboxing of containerized microservices from a perspective closely aligned with business needs.
19
19
* Multiple Enforcers. vArmor abstracts AppArmor, BPF, and Seccomp as enforcers, supporting their use individually or in combination. This enables enforcing access control on container file access, process execution, network outbound, syscalls, and more.
20
-
* Allow-by-Default. vArmor currently focuses on supporting this model, where only explicitly declared behaviors will be blocked, which effectively minimizes performance impact and enhances usability. Besides, it supports auditing behaviors that violate the access control rules, and the violation behaviors can also be allowed instead of being blocked.
20
+
* Allow-by-Default. vArmor currently focuses on supporting this model, where only explicitly declared behaviors will be blocked, which effectively minimizes performance impact and enhances usability. Besides, it supports auditing violations, and these violations can also be allowed rather than blocked.
21
21
* Built-in Rules. vArmor features a range of built-in rules ready to use out of the box. They are designed for the Allow-by-Default security model, eliminating the need for expertise in security profile creation.
22
-
* Behavior Modeling. vArmor supports behavior modeling for workloads. This can be used for developing an allowlist profile, analyze which built-in rules can harden the application, or guide the configuration of workloads to adhere to the principle of least privilege.
23
-
* Deny-by-Default. vArmor is capable of creating an allowlist profile from behavior models and ensuring that only explicitly declared behaviors are permitted.
22
+
* Behavior Modeling. vArmor features a range of built-in rules ready to use out of the box. They are designed for the Allow-by-Default security model, eliminating the need for expertise in security profile creation.
23
+
* Deny-by-Default. vArmor is capable of using allowlist profiles to harden workloads and provide a more user-friendly approach to develop and manage profiles.
24
24
25
25
vArmor was created by the **Elkeid Team** of the endpoint security department at ByteDance. And the project is still in active development.
vArmor allows you to configure its functionality during installation using the helm command.
37
37
38
38
### General Options
39
-
#### Disable AppArmor enforcer
39
+
#### Disable AppArmor Enforcer
40
40
The AppArmor enforcer should be disabled when the system doesn't support AppArmor LSM. Default: enabled.
41
41
42
42
```bash
43
43
--set appArmorLsmEnforcer.enabled=false
44
44
```
45
45
46
-
#### Enable BPF enforcer
46
+
#### Enable BPF Enforcer
47
47
The BPF enforcer can be enabled when the system supports BPF LSM. Default: disabled.
48
48
49
49
```bash
50
50
--set bpfLsmEnforcer.enabled=true
51
51
```
52
52
53
-
#### Enable the BehaviorModeling mode
53
+
#### Enable the BehaviorModeling Mode
54
54
This is an experimental feature. Currently, only the AppArmor and Seccomp enforcers support the BehaviorModeling mode. Please refer to the [BehaviorModeling Mode](../guides/policies_and_rules/policy_modes/behavior_modeling.md) for more details. Default: disabled.
55
55
56
56
```bash
57
57
--set behaviorModeling.enabled=true
58
58
```
59
59
60
-
#### Configure the search list of audit logs
61
-
vArmor sequentially checks whether the audit logs exist and monitors the first valid file to consume AppArmor and Seccomp audit events for the violation auditing and behavioral modeling features. If you are using *auditd*, the audit events of AppArmor and Seccomp will be stored by default in `/var/log/audit/audit.log`. Otherwise they will be stored in `/var/log/kern.log`.
60
+
#### Configure the Search List for System Audit Logs
61
+
vArmor sequentially checks whether the system audit logs exist and monitors the first valid file to consume AppArmor and Seccomp audit events for the violation auditing and behavioral modeling features. If you are using *auditd*, the audit events of AppArmor and Seccomp will be stored by default in `/var/log/audit/audit.log`. Otherwise they will be stored in `/var/log/kern.log`.
62
62
63
63
You can use the option to specify the audit logs or determine the search order yourself. Please use a vertical bar to separate file paths. Default: `/var/log/audit/audit.log|/var/log/kern.log`.
You can enable metrics to monitor the operation of vArmor. All metrics are exposed at the `/metric` endpoint on port `8081` of every manager instance. Default: disabled.
71
71
72
72
```bash
@@ -79,53 +79,73 @@ You can use the following command to create a `ServiceMonitor` object in the nam
79
79
--set metrics.serviceMonitorEnabled=true
80
80
```
81
81
82
-
#### Set the log output format to JSON
82
+
#### Set the Log Output Format to JSON
83
83
The default format of agent and manager is TEXT. You can use the following command to set it to JSON.
84
84
85
85
```bash
86
86
--set jsonLogFormat.enabled=true
87
87
```
88
88
89
+
#### Inject Metadata into Violation Events
90
+
This feature enables you to inject custom metadata into violation events. It enhances the observability of vArmor's audit logs by associating violation events with environment-specific context. Default: No custom metadata.
91
+
92
+
You can add key-value pairs of metadata using commands similar to the following.
93
+
94
+
```bash
95
+
--set auditEventMetadata.clusterID="ID"\
96
+
--set auditEventMetadata.clusterName="NAME"\
97
+
--set auditEventMetadata.region="REGION"
98
+
```
99
+
89
100
### Advanced Options
90
-
#### Set the match label of webhook
101
+
#### Set the Match Label of Webhook
91
102
vArmor will only enable sandbox protection for workloads that contain a specific label. You can set the label you want or disable this feature by using `--set 'manager.args={--webhookMatchLabel=}'`. Default: `sandbox.varmor.org/enable=true`.
vArmor allows users to decide whether to perform a rolling restart on all target workloads or not, when creating or deleting a policy with the `.spec.updateExistingWorkloads` field. You can disable this feature with following option. Default: enabled.
99
110
100
111
```bash
101
112
--set restartExistWorkloads.enabled=false
102
113
```
103
114
104
-
#### Run Agent in hostNetwork mode
115
+
#### Disable Pod and Service Egress Control
116
+
The feature extends network access control to restrict container access to specific Pods and Services. You can use the following option to disable it. Default: enabled.
117
+
118
+
```bash
119
+
--set podServiceEgressControl.enabled=false
120
+
```
121
+
122
+
The feature is currently only supported by the BPF enforcer and requires Kubernetes v1.21 or higher.
123
+
124
+
#### Run Agent in HostNetwork Mode
105
125
The agent runs in its own network namespace and exposes the readinessProbe on port `6080` by default. If you want to run it in the host's network namespace, you can use following options.
106
126
107
127
```bash
108
128
--set agent.network.hostNetwork=true \
109
129
--set agent.network.readinessPort=HOSTPORT
110
130
```
111
131
112
-
#### Enable exclusive mode for BPF enforcer
132
+
#### Enable Exclusive Mode for BPF Enforcer
113
133
If your system supports AppArmor LSM, the default AppArmor profile of container runtime will be applied to the workloads which don't have an AppArmor setting explicitly.
114
134
You can use this option to disable the default AppArmor profile if a policy with a BPF enforcer is applied to the workload. Default: disabled.
115
135
116
136
```bash
117
137
--set bpfExclusiveMode.enabled=true
118
138
```
119
139
120
-
#### Unload all AppArmor profiles
140
+
#### Unload All AppArmor Profiles
121
141
All AppArmor profiles managed by vArmor will not be unloaded when the Agent exits or vArmor is uninstalled.
122
142
You can use the following option to change this behavior. Default: disabled.
123
143
124
144
```bash
125
145
--set unloadAllAaProfiles.enabled=true
126
146
```
127
147
128
-
#### Remove all Seccomp profiles
148
+
#### Remove All Seccomp Profiles
129
149
All Seccomp profiles managed by vArmor will not be removed when the Agent exits or vArmor is uninstalled.
130
150
You can use the following option to change this behavior. Default: disabled.
0 commit comments