Skip to content

Commit be08f76

Browse files
dseidel-b9dseideljragozzinocb
authored
CB-31071: prep for 3.7.0 release (#189)
* CB-31071: begin prep for 3.7.0 release * CB-31071: updat README and CHANGELOG, remove stale TODO * CB-31071: update RPM spec * CB-31071: prepend make command with "RELEASE=1" to get RPM without timestamp * CB-31071: deprecate Upstart in favor of sysvinit (which we already support) * CB-31071: RPM fix attempt * CB-31071: slight makefile cleanup * CB-31071: missed a spot * CB-31071: remove accidental dependency * CB-31071: remove more makefile cruft * CB-31071: another rpm fix * CB-30664: Add AMSI events to Event Forwarder (#188) * CB-31071: add CHANGELOG note about AMSI support * CB-31071: fix typo in README Co-authored-by: dseidel <dseidel@carbonblack.com> Co-authored-by: jragozzinocb <50180271+jragozzinocb@users.noreply.github.com>
1 parent b76e592 commit be08f76

18 files changed

+222
-123
lines changed

CHANGELOG.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
1-
# CB Event Forwarder Changelog
1+
# CB EDR Event Forwarder Changelog
22

3-
## v.3.7.0
4-
* Reverted use of confluentinc kafak client library to pure go sarama client
5-
* specify CA/Client cert/keys in PEM format
3+
## v3.7.0
64

7-
## v.3.6.3
5+
#### Features
6+
7+
* We now support Antimalware Scan Interface (AMSI) events. This event is called `ingress.event.filelessscriptload`. Please note that you will need EDR 7.2.0 in order to receive these events.
8+
* New command-line option `-pid-file <pid_filename>` for better parity with other services, and to facilitate process monitoring.
9+
10+
#### Bug Fixes / Changes
11+
12+
* Reverted use of Confluent Kafka client library to the pure Go Sarama client.
13+
* Removed configuration settings `api_token`, `api_verify_ssl`, and `api_proxy_ssl`. Event Forwarder no longer needs to use the EDR API to perform event post-processing. EDR now has built-in capability for adding report titles to feed hit events.
14+
* Changed some log messages in the protobuf processing code to debug level, to avoid filling log files with unneeded entries.
15+
* Specify CA/Client cert/keys in PEM format.
16+
* Deprecate Upstart in favor of sysvinit for service control on EL6 systems
17+
18+
## v3.6.3
819

920
#### Features
1021

MANIFEST6

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22
/usr/share/cb/integrations/event-forwarder/kafka-util
33
/etc/cb/integrations/event-forwarder/cb-event-forwarder.conf
44
/etc/init.d/cb-event-forwarder
5-
/etc/init/cb-event-forwarder.conf
65
/usr/share/cb/integrations/event-forwarder/content/*

MANIFEST7

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22
/usr/share/cb/integrations/event-forwarder/kafka-util
33
/etc/cb/integrations/event-forwarder/cb-event-forwarder.conf
44
/etc/systemd/system/cb-event-forwarder.service
5-
/etc/init/cb-event-forwarder.conf
65
/usr/share/cb/integrations/event-forwarder/content/*

MANIFEST8

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22
/usr/share/cb/integrations/event-forwarder/kafka-util
33
/etc/cb/integrations/event-forwarder/cb-event-forwarder.conf
44
/etc/systemd/system/cb-event-forwarder.service
5-
/etc/init/cb-event-forwarder.conf
65
/usr/share/cb/integrations/event-forwarder/content/*

Makefile

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,42 @@
11
#GIT_VERSION := $(shell git describe --tags)
22
#VERSION := $(shell cat VERSION)
33

4-
GIT_VERSION := 3.6.3
5-
VERSION := 3.6.3
4+
GIT_VERSION := 3.7.0
5+
VERSION := 3.7.0
66
GO_PREFIX := github.com/carbonblack/cb-event-forwarder
77
EL_VERSION := $(shell rpm -E %{rhel})
88
TARGET_OS=linux
9-
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig/:`find rdkafka.pc 2>/dev/null`
109
export GO111MODULE=on
1110

11+
# non-release builds include a timestamp in the RPM name
12+
# use "RELEASE=1 make rpm" for a release build, which will not use the timestamp
13+
# RELEASE has a default value of 0
14+
RELEASE ?= 0
15+
1216
.PHONY: clean test rpmbuild rpminstall build rpm
1317

1418
cb-event-forwarder: build
1519

16-
librdkafka:
17-
ifeq ($TARGET_OS,"linux")
18-
ldconfig -p | grep librdkafka
19-
endif
20-
2120
compile-protobufs:
21+
go get -u github.com/gogo/protobuf/protoc-gen-gogofast
22+
go mod tidy
2223
protoc --gogofast_out=. ./cmd/cb-event-forwarder/sensor_events.proto
2324
sed -i 's/package sensor_events/package main/g' ./cmd/cb-event-forwarder/sensor_events.pb.go
2425

25-
build-no-static: compile-protobufs librdkafka
26-
go get -u github.com/gogo/protobuf/protoc-gen-gogofast
27-
go mod tidy
26+
build-no-static: compile-protobufs
2827
go mod verify
2928
go build ./cmd/cb-event-forwarder
3029
go build ./cmd/kafka-util
3130

32-
build: compile-protobufs librdkafka
33-
go get -u github.com/gogo/protobuf/protoc-gen-gogofast
34-
go mod tidy
31+
build: compile-protobufs
3532
go mod verify
3633
go build -tags static ./cmd/cb-event-forwarder
3734
go build -tags static ./cmd/kafka-util
3835

39-
rpmbuild: compile-protobufs librdkafka
36+
rpmbuild:
4037
go get -u github.com/gogo/protobuf/protoc-gen-gogofast
38+
protoc --gogofast_out=. ./cmd/cb-event-forwarder/sensor_events.proto
39+
sed -i 's/package sensor_events/package main/g' ./cmd/cb-event-forwarder/sensor_events.pb.go
4140
go build -tags static -ldflags "-X main.version=${VERSION}" ./cmd/cb-event-forwarder
4241
go build -tags static -ldflags "-X main.version=${VERSION}" ./cmd/kafka-util
4342

@@ -48,7 +47,6 @@ rpminstall:
4847
cp -p cb-edr-fix-permissions.sh ${RPM_BUILD_ROOT}/usr/share/cb/integrations/event-forwarder/cb-edr-fix-permissions.sh
4948
mkdir -p ${RPM_BUILD_ROOT}/etc/cb/integrations/event-forwarder
5049
cp -p conf/cb-event-forwarder.example.ini ${RPM_BUILD_ROOT}/etc/cb/integrations/event-forwarder/cb-event-forwarder.conf
51-
mkdir -p ${RPM_BUILD_ROOT}/etc/init
5250
ifeq (${EL_VERSION},6)
5351
mkdir -p ${RPM_BUILD_ROOT}/etc/init.d
5452
cp -p init-scripts/cb-event-forwarder ${RPM_BUILD_ROOT}/etc/init.d/cb-event-forwarder
@@ -57,7 +55,6 @@ else
5755
mkdir -p ${RPM_BUILD_ROOT}/etc/systemd/system
5856
cp -p cb-event-forwarder.service ${RPM_BUILD_ROOT}/etc/systemd/system/cb-event-forwarder.service
5957
endif
60-
cp -p init-scripts/cb-event-forwarder.conf ${RPM_BUILD_ROOT}/etc/init/cb-event-forwarder.conf
6158
mkdir -p ${RPM_BUILD_ROOT}/usr/share/cb/integrations/event-forwarder/content
6259
cp -rp static/* ${RPM_BUILD_ROOT}/usr/share/cb/integrations/event-forwarder/content
6360

@@ -77,12 +74,12 @@ clean:
7774
rm -rf dist
7875
rm -rf build
7976
rm -f VERSION
80-
rm -rf librdkafka
8177

8278
bench:
8379
go test -bench=. ./cmd/cb-event-forwarder/
8480

8581
sdist:
82+
$(info RELEASE is ${RELEASE})
8683
mkdir -p build/cb-event-forwarder-${GIT_VERSION}/src/${GO_PREFIX}
8784
echo "${GIT_VERSION}" > build/cb-event-forwarder-${GIT_VERSION}/VERSION
8885
cp -rp cb-event-forwarder cb-edr-fix-permissions.sh cb-event-forwarder.service Makefile go.mod cmd static conf init-scripts build/cb-event-forwarder-${GIT_VERSION}/src/${GO_PREFIX}
@@ -95,4 +92,4 @@ sdist:
9592
rpm: sdist
9693
mkdir -p ${HOME}/rpmbuild/SOURCES
9794
cp -p dist/cb-event-forwarder-${GIT_VERSION}.tar.gz ${HOME}/rpmbuild/SOURCES/
98-
rpmbuild --define 'version ${GIT_VERSION}' --define 'release 0' -bb cb-event-forwarder.rpm.spec
95+
rpmbuild -v --define 'release_pkg ${RELEASE}' --define 'version ${GIT_VERSION}' --define 'release 1' -bb cb-event-forwarder.rpm.spec

README.md

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
1-
# CB Event Forwarder
1+
# CB EDR Event Forwarder
22

33
## Overview
44

5-
The CB EDR Event Forwarder is a standalone service that will listen on the Cb EDR enterprise bus and export
6-
events (both watchlist/feed hits as well as raw endpoint events, if configured) in a normalized JSON or LEEF format.
5+
The CB EDR Event Forwarder is a standalone service which listens on the CB EDR enterprise bus and exports
6+
events (watchlist/feed hits, as well as raw endpoint events, if configured) in a normalized JSON or LEEF format.
77
The events can be saved to a file, delivered to a network service or archived automatically to an Amazon AWS S3 bucket.
88
These events can be consumed by any external system that accepts JSON or LEEF, including Splunk and IBM QRadar.
99

10-
The list of events to collect is configurable. By default all feed and watchlist hits, alerts, binary notifications, and
11-
raw sensor events are exported into JSON. The configuration file for the connector is stored in
10+
The list of events to collect is configurable. By default, Event Forwarder exports all feed and watchlist hits, alerts,
11+
binary notifications, and raw sensor events as JSON. You can find the configuration file for the connector at
1212
`/etc/cb/integrations/event-forwarder/cb-event-forwarder.conf`.
1313

1414
Starting with version 7.1.0 of Carbon Black EDR, you can use the EDR web console to configure and control Event Forwarder,
1515
as long as you follow the installation and configuration steps detailed below.
1616

1717
## Support
1818

19-
The pre-built RPM is supported via our [User eXchange (Jive)](https://community.carbonblack.com/community/developer-relations)
19+
We support pre-built RPM via our [User eXchange (Jive)](https://community.carbonblack.com/community/developer-relations)
2020
and via email to dev-support@carbonblack.com.
2121

2222
## Raw Sensor Events
2323

24-
We have seen a performance impact when exporting all raw sensor events onto the enterprise bus. We do not recommend
25-
exporting all the events. The performance impacts are seen when the events are broadcast on the bus, by enabling the
26-
"DatastoreBroadcastEventTypes". We recommend that at most, only process and netconn events be broadcast on the event
24+
We have seen a performance impact when exporting all raw sensor events onto the enterprise bus by setting
25+
"DatastoreBroadcastEventTypes=True" in the EDR configuration (more on this below). We do not recommend exporting all
26+
the events, and recommend that you configure -- at most -- only process and netconn events for broadcasting on the event
2727
bus.
2828

2929
## Quickstart Guide
3030

3131
The cb-event-forwarder can be installed on any 64-bit Linux machine running CentOS 6.x.
3232
It can be installed on the same machine as the Cb EDR server, or another machine.
3333
If you are forwarding a large volume of events to QRadar (for example, all file modifications and/or registry
34-
modifications), or are forwarding events from a Cb EDR cluster, then installing it on a separate machine is recommended.
34+
modifications), or are forwarding events from a Cb EDR cluster, we recommend installing it on a separate machine.
3535
Otherwise, it is acceptable to install the cb-event-forwarder on the Cb EDR server itself.
3636

3737
### Installation
@@ -93,8 +93,8 @@ If you want to capture raw sensor events or the `binaryinfo.*` notifications, yo
9393
* If you are capturing binary observed events you also need to edit the `EnableSolrBinaryInfoNotifications` option in
9494
`/etc/cb/cb.conf` and set it to `True`.
9595
96-
Cb EDR needs to be restarted if any variables were changed in `/etc/cb/cb.conf` by executing
97-
`service cb-enterprise restart`.
96+
Cb EDR needs to be restarted if any you change any variables in `/etc/cb/cb.conf` by executing
97+
`service cb-enterprise restart`.
9898
9999
If you are configuring the cb-event-forwarder on a Cb EDR cluster, the `DatastoreBroadcastEventTypes` and/or
100100
`EnableSolrBinaryInfoNotifications` settings
@@ -104,16 +104,14 @@ the `/usr/share/cb/cbcluster stop && /usr/share/cb/cbcluster start` command.
104104
### Starting and Stopping the Service
105105
106106
#### CentOS 6.x
107-
Once the service is installed, it is managed by the Upstart init system in CentOS 6.x. You can control the service via the
108-
initctl command.
109-
* To start the service, `initctl start cb-event-forwarder`
110-
* To stop the service, `initctl stop cb-event-forwarder`
107+
* To start the service: `service cb-event-forwarder start`
108+
* To stop the service: `service cb-event-forwarder stop`
111109
112110
#### CentOS 7.x
113-
* To start the service, `systemctl start cb-event-forwarder`
114-
* To stop the service, `systemctl stop cb-event-forwarder`
111+
* To start the service: `systemctl start cb-event-forwarder`
112+
* To stop the service: `systemctl stop cb-event-forwarder`
115113
116-
Once the service is installed, it is configured to start automatically on system boot.
114+
Once you install the service, it is configured to start automatically on system boot.
117115
118116
## Splunk
119117

TODO.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

cb-event-forwarder.docker.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ use_raw_sensor_exchange=true
261261
# ingress.event.remotethread
262262
# ingress.event.processblock
263263
# ingress.event.emetmitigation
264+
# ingress.event.filelessscriptload
264265
# ALL for all of the above
265266
# 0 - to disable all raw sensor events.
266267
events_raw_sensor=ALL

cb-event-forwarder.dockerkafka.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ use_raw_sensor_exchange=true
263263
# ingress.event.remotethread
264264
# ingress.event.processblock
265265
# ingress.event.emetmitigation
266+
# ingress.event.filelessscriptload
266267
# ALL for all of the above
267268
# 0 - to disable all raw sensor events.
268269
events_raw_sensor=ALL

cb-event-forwarder.dockerkafkassl.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ use_raw_sensor_exchange=true
262262
# ingress.event.remotethread
263263
# ingress.event.processblock
264264
# ingress.event.emetmitigation
265+
# ingress.event.filelessscriptload
265266
# ALL for all of the above
266267
# 0 - to disable all raw sensor events.
267268
events_raw_sensor=ALL

0 commit comments

Comments
 (0)