sudo sh -c 'echo "deb http://download.bitdefender.com/repos/deb-hydra24-evpsc/ bitdefender non-free" >> /etc/apt/sources.list'
curl -sS https://download.bitdefender.com/repos/gzrepos.key.asc | sudo apt-key add -
sudo apt update
sudo apt install gz-evpsc
Change directory and run the configuration script with required parameters.
cd /opt/bitdefender/gz-evpsc
sudo ./config.sh <PORT> <SYSLOGPORT> <TRANSPORT> <TARGET> <AUTH> <CONFIG_FILENAME>
Example parameters:
Parameter | Example |
---|---|
PORT | 3200 |
SYSLOGPORT | 514 (SIEM Port) |
TRANSPORT | Tcp (SIEM Transport) |
TARGET | 192.168.9.100 (SIEM IP) |
AUTH | Basic dGVzdDp0ZXN0 (No change required) |
CONFIG_FILENAME | config.json |
sudo ./config.sh 3200 514 Tcp 192.168.9.100 'Basic dGVzdDp0ZXN0' config.json
sudo systemctl enable gz-evpsc
sudo systemctl start gz-evpsc
systemctl status gz-evpsc
.sudo touch /usr/local/bin/check_gz_evpsc.sh
sudo chmod 755 /usr/local/bin/check_gz_evpsc.sh
#!/bin/bash
# Script to check and restart gz-evpsc service if not running
SERVICE="gz-evpsc"
LOGFILE="/var/log/gz-evpsc-monitor.log"
DATE=$(date '+%Y-%m-%d %H:%M:%S')
if systemctl is-active --quiet "$SERVICE"; then
echo "$DATE - $SERVICE is running." >> "$LOGFILE"
else
echo "$DATE - $SERVICE is not running. Attempting to start..." >> "$LOGFILE"
systemctl start "$SERVICE"
if systemctl is-active --quiet "$SERVICE"; then
echo "$DATE - $SERVICE restarted successfully." >> "$LOGFILE"
else
echo "$DATE - Failed to restart $SERVICE." >> "$LOGFILE"
fi
fi
sudo chmod +x /usr/local/bin/check_gz_evpsc.sh
sudo crontab -e
# Add the following line:
*/15 * * * * /usr/local/bin/check_gz_evpsc.sh
cat /var/log/gz-evpsc-monitor.log
curl -k -H 'Authorization: Basic dGVzdDp0ZXN0' \
-H "Content-Type: application/json" \
-d '{"cef": "0","events": ["CEF:0|Bitdefender|GravityZone|6.4.08|70000|Registration|3|BitdefenderGZModule=registration dvchost=TEST_ENDPOINT BitdefenderGZComputerFQDN=test.example.com dvc=192.168.1.2"]}' \
https://<Public_IP>:3200/api
Confirm the event appears in the SIEM dashboard or collector logs.
Log in to Bitdefender account and generate an API key for push subscriptions.
# Example API Key (replace with your key)
API_KEY="d9730b5205ced97357947bb30edec6dc2f4ce0a6e6449b43eacc1beacc1b9cd0"
# Append colon and encode to Base64
echo -n "$API_KEY:" | base64
curl --tlsv1.2 -sS -k -X POST \
https://cloud.gravityzone.bitdefender.com/api/v1.0/jsonrpc/push \
-H 'authorization: Basic <Base64_API_Key>' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-d '{"id":"1","jsonrpc":"2.0","method":"setPushEventSettings","params":{"serviceSettings":{"requireValidSslCertificate":false,"authorization":"Basic dGVzdDp0ZXN0","url":"https://<Public_IP>:3200/api"},"serviceType":"cef","status":1,"subscribeToEventTypes":{"adcloudgz":true,"antiexploit":true,"aph":true,"av":true,"avc":true,"dp":true,"endpoint-moved-in":true,"endpoint-moved-out":true,"exchange-malware":true,"exchange-user-credentials":true,"fw":true,"hd":true,"hwid-change":true,"install":true,"modules":true,"network-monitor":true,"network-sandboxing":true,"new-incident":true,"ransomware-mitigation":true,"registration":true,"supa-update-status":true,"sva":true,"sva-load":true,"task-status":true,"troubleshooting-activity":true,"uc":true,"uninstall":true}}}'
Confirm that events are visible in your SIEM solution.