Documentation
¶
Overview ¶
Package config holds config related files
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// event monitor/probe parameters
ebpf.Config
// EnableAllProbes defines if all probes should be activated regardless of loaded rules (while still respecting config, especially network disabled)
EnableAllProbes bool
// EnableKernelFilters defines if in-kernel filtering should be activated or not
EnableKernelFilters bool
// EnableApprovers defines if in-kernel approvers should be activated or not
EnableApprovers bool
// EnableDiscarders defines if in-kernel discarders should be activated or not
EnableDiscarders bool
// FlushDiscarderWindow defines the maximum time window for discarders removal.
// This is used during reload to avoid removing all the discarders at the same time.
FlushDiscarderWindow int
// PIDCacheSize is the size of the user space PID caches
PIDCacheSize int
// StatsTagsCardinality determines the cardinality level of the tags added to the exported metrics
StatsTagsCardinality string
// CustomSensitiveWords defines words to add to the scrubber
CustomSensitiveWords []string
// CustomSensitiveRegexps defines regexps to add to the scrubber
CustomSensitiveRegexps []string
// ERPCDentryResolutionEnabled determines if the ERPC dentry resolution is enabled
ERPCDentryResolutionEnabled bool
// MapDentryResolutionEnabled determines if the map resolution is enabled
MapDentryResolutionEnabled bool
// DentryCacheSize is the size of the user space dentry cache
DentryCacheSize int
// NOTE(safchain) need to revisit this one as it can impact multiple event consumers
// EnvsWithValue lists environnement variables that will be fully exported
EnvsWithValue []string
// EventStreamUseRingBuffer specifies whether to use eBPF ring buffers when available
EventStreamUseRingBuffer bool
// EventStreamBufferSize specifies the buffer size of the eBPF map used for events
EventStreamBufferSize int
// EventStreamUseFentry specifies whether to use eBPF fentry when available instead of kprobes
EventStreamUseFentry bool
// EventStreamUseKprobeFallback specifies whether to use fentry fallback can be used
EventStreamUseKprobeFallback bool
// EventStreamKretprobeMaxActive specifies the maximum number of active kretprobe at a given time
EventStreamKretprobeMaxActive int
// RuntimeCompilationEnabled defines if the runtime-compilation is enabled
RuntimeCompilationEnabled bool
// NetworkLazyInterfacePrefixes is the list of interfaces prefix that aren't explicitly deleted by the container
// runtime, and that are lazily deleted by the kernel when a network namespace is cleaned up. This list helps the
// agent detect when a network namespace should be purged from all caches.
NetworkLazyInterfacePrefixes []string
// NetworkClassifierPriority defines the priority at which CWS should insert its TC classifiers.
NetworkClassifierPriority uint16
// NetworkClassifierHandle defines the handle at which CWS should insert its TC classifiers.
NetworkClassifierHandle uint16
// RawNetworkClassifierHandle defines the handle at which CWS should insert its Raw TC classifiers.
RawNetworkClassifierHandle uint16
// NetworkFlowMonitorEnabled defines if the network flow monitor should be enabled.
NetworkFlowMonitorEnabled bool
// NetworkFlowMonitorPeriod defines the period at which collected flows should flushed to user space.
NetworkFlowMonitorPeriod time.Duration
// NetworkFlowMonitorSKStorageEnabled defines if the network flow monitor should use a SK_STORAGE map (higher memory footprint).
NetworkFlowMonitorSKStorageEnabled bool
// ProcessConsumerEnabled defines if the process-agent wants to receive kernel events
ProcessConsumerEnabled bool
// NetworkConsumerEnabled defines if the network tracer system-probe module wants to receive kernel events
NetworkConsumerEnabled bool
// NetworkEnabled defines if the network probes should be activated
NetworkEnabled bool
// NetworkIngressEnabled defines if the network ingress probes should be activated
NetworkIngressEnabled bool
// NetworkRawPacketEnabled defines if the network raw packet is enabled
NetworkRawPacketEnabled bool
// NetworkRawPacketLimiterRate defines the rate at which raw packets should be sent to user space
NetworkRawPacketLimiterRate int
// NetworkRawPacketRestriction defines the global raw packet filter
NetworkRawPacketFilter string
// NetworkPrivateIPRanges defines the list of IP that should be considered private
NetworkPrivateIPRanges []string
// NetworkExtraPrivateIPRanges defines the list of extra IP that should be considered private
NetworkExtraPrivateIPRanges []string
// StatsPollingInterval determines how often metrics should be polled
StatsPollingInterval time.Duration
// SyscallsMonitorEnabled defines if syscalls monitoring metrics should be collected
SyscallsMonitorEnabled bool
// DNSResolverCacheSize is the numer of entries in the DNS resolver LRU cache
DNSResolverCacheSize int
// DNSResolutionEnabled resolving DNS names from IP addresses
DNSResolutionEnabled bool
// SpanTrackingEnabled defines if span tracking should be enabled
SpanTrackingEnabled bool
// SpanTrackingCacheSize is the size of the span tracking cache
SpanTrackingCacheSize int
// CapabilitiesMonitoringEnabled defines whether process capabilities usage should be reported
CapabilitiesMonitoringEnabled bool
// CapabilitiesMonitoringPeriod defines the period at which process capabilities usage events should be reported back to userspace
CapabilitiesMonitoringPeriod time.Duration
// SnapshotUsingListmount enables the use of listmount to take filesystem mount snapshots
SnapshotUsingListmount bool
}
Config defines a security config
Click to show internal directories.
Click to hide internal directories.