mirror of
https://github.com/falcosecurity/falco.git
synced 2026-04-02 18:12:15 +00:00
Compare commits
3 Commits
update/pid
...
feat/grpc-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
960ac52bcc | ||
|
|
3a33dfff0b | ||
|
|
542cdb493c |
@@ -1,16 +1,18 @@
|
|||||||
FROM fedora:31
|
FROM fedora:31
|
||||||
|
|
||||||
LABEL name="falcosecurity/falco-tester"
|
LABEL name="falcosecurity/falco-tester"
|
||||||
LABEL usage="docker run -v /boot:/boot:ro -v /var/run/docker.sock:/var/run/docker.sock -v $PWD/..:/source -v $PWD/build:/build -e FALCO_VERSION=<current_falco_version> --name <name> falcosecurity/falco-tester test"
|
LABEL usage="docker run -v /boot:/boot:ro -v /var/run/docker.sock:/var/run/docker.sock -v $PWD/..:/source -v $PWD/build:/build --name <name> falcosecurity/falco-tester test"
|
||||||
LABEL maintainer="cncf-falco-dev@lists.cncf.io"
|
LABEL maintainer="cncf-falco-dev@lists.cncf.io"
|
||||||
|
|
||||||
ENV FALCO_VERSION=
|
ENV FALCO_VERSION=
|
||||||
ENV BUILD_TYPE=release
|
ENV BUILD_TYPE=release
|
||||||
|
|
||||||
|
ADD https://github.com/fullstorydev/grpcurl/releases/download/v1.6.0/grpcurl_1.6.0_linux_x86_64.tar.gz /
|
||||||
RUN dnf install -y python-pip python docker findutils jq unzip && dnf clean all
|
RUN dnf install -y python-pip python docker findutils jq unzip && dnf clean all
|
||||||
ENV PATH="/root/.local/bin/:${PATH}"
|
ENV PATH="/root/.local/bin/:${PATH}"
|
||||||
RUN pip install --user avocado-framework==69.0
|
RUN pip install --user avocado-framework==69.0
|
||||||
RUN pip install --user avocado-framework-plugin-varianter-yaml-to-mux==69.0
|
RUN pip install --user avocado-framework-plugin-varianter-yaml-to-mux==69.0
|
||||||
|
RUN tar -C /usr/bin -xvf grpcurl_1.6.0_linux_x86_64.tar.gz
|
||||||
|
|
||||||
COPY ./root /
|
COPY ./root /
|
||||||
|
|
||||||
|
|||||||
38
test/confs/grpc_unix_socket.yaml
Normal file
38
test/confs/grpc_unix_socket.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2020 The Falco Authors.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Whether to output events in json or text.
|
||||||
|
json_output: false
|
||||||
|
|
||||||
|
# Send information logs to stderr and/or syslog
|
||||||
|
# Note these are *not* security notification logs!
|
||||||
|
# These are just Falco lifecycle (and possibly error) logs.
|
||||||
|
log_stderr: false
|
||||||
|
log_syslog: false
|
||||||
|
|
||||||
|
# Where security notifications should go.
|
||||||
|
stdout_output:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# gRPC server using an unix socket.
|
||||||
|
grpc:
|
||||||
|
enabled: true
|
||||||
|
bind_address: "unix:////tmp/falco.sock"
|
||||||
|
threadiness: 8
|
||||||
|
|
||||||
|
grpc_output:
|
||||||
|
enabled: true
|
||||||
@@ -195,6 +195,19 @@ class FalcoTest(Test):
|
|||||||
os.makedirs(filedir)
|
os.makedirs(filedir)
|
||||||
self.outputs = outputs
|
self.outputs = outputs
|
||||||
|
|
||||||
|
self.grpc_unix_socket_path = self.params.get('grpc_unix_socket_path', '*', default='/var/run/falco.sock')
|
||||||
|
self.grpc_address = self.params.get('address', 'grpc/*', default='/var/run/falco.sock')
|
||||||
|
if self.grpc_address.startswith("unix://"):
|
||||||
|
self.is_grpc_using_unix_socket = True
|
||||||
|
self.grpc_address = self.grpc_address[len("unix://"):]
|
||||||
|
self.grpc_proto = self.params.get('proto', 'grpc/*', default='')
|
||||||
|
self.grpc_service = self.params.get('service', 'grpc/*', default='')
|
||||||
|
self.grpc_method = self.params.get('method', 'grpc/*', default='')
|
||||||
|
self.grpc_results = self.params.get('results', 'grpc/*', default='')
|
||||||
|
# todo: if string wrap in an array
|
||||||
|
if self.grpc_results == '':
|
||||||
|
self.grpc_results = []
|
||||||
|
|
||||||
self.disable_tags = self.params.get('disable_tags', '*', default='')
|
self.disable_tags = self.params.get('disable_tags', '*', default='')
|
||||||
|
|
||||||
if self.disable_tags == '':
|
if self.disable_tags == '':
|
||||||
|
|||||||
@@ -672,6 +672,20 @@ trace_files: !mux
|
|||||||
outputs:
|
outputs:
|
||||||
- /tmp/falco_outputs/program_output.txt: Warning An open was seen
|
- /tmp/falco_outputs/program_output.txt: Warning An open was seen
|
||||||
|
|
||||||
|
grpc_unix_socket_outputs:
|
||||||
|
detect: True
|
||||||
|
detect_level: WARNING
|
||||||
|
rules_file:
|
||||||
|
- rules/single_rule.yaml
|
||||||
|
conf_file: confs/grpc_unix_socket.yaml
|
||||||
|
grpc:
|
||||||
|
address: unix:///tmp/falco.sock
|
||||||
|
proto: output.proto
|
||||||
|
service: falco.output.service
|
||||||
|
method: subscribe
|
||||||
|
results:
|
||||||
|
- "Warning An open was seen"
|
||||||
|
|
||||||
detect_counts:
|
detect_counts:
|
||||||
detect: True
|
detect: True
|
||||||
detect_level: WARNING
|
detect_level: WARNING
|
||||||
|
|||||||
Reference in New Issue
Block a user