Compare commits

...

6 Commits

Author SHA1 Message Date
orenshor
a72025bc94 fix only essential qoutes 2025-11-12 09:51:45 +02:00
orenshor
9e79e65e25 Fix agent token argument issue 2025-11-11 13:58:50 +02:00
Daniel-Eisenberg
c90862d74c Docker stop issue (#366)
* fix image entrypoint sigterm

* fix image entrypoint sigterm

---------

Co-authored-by: avigailo <avigailo@checkpoint.com>
2025-11-06 10:53:49 +02:00
Daniel-Eisenberg
b7923dfd8c update PostgreSQL configuration in deployment files (#365)
- Change PostgreSQL volume mount from /var/lib/postgresql/data to /var/lib/postgresql
  This allows PostgreSQL to manage the data directory structure internally

- Add PostgreSQL version configuration variable to all docker-compose files:
  * POSTGRES_VERSION for deployment/nginx
  * APPSEC_POSTGRES_VERSION for all deployment/docker-compose variants

- Update PostgreSQL image tag to use version variable (set to version 18)
  Changed from 'postgres' to 'postgres:' or 'postgres:'

- Add PostgreSQL version variable to all .env files with default value of 18

Co-authored-by: Nahum Perman <nahump@checkpoint.com>
2025-10-28 14:58:21 +02:00
Daniel-Eisenberg
ed4e20b010 Update open-appsec-k8s-default-config-v1beta1.yaml 2025-10-21 17:40:08 +03:00
Daniel-Eisenberg
14159402e2 Update open-appsec-k8s-prevent-config-v1beta1.yaml 2025-10-21 17:39:48 +03:00
23 changed files with 58 additions and 33 deletions

View File

@@ -15,13 +15,28 @@ var_mode=
var_token=
var_ignore=
init=
active_watchdog_pid=
cleanup() {
local signal="$1"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Signal ${signal} was received, exiting gracefully..." >&2
if [ -n "${active_watchdog_pid}" ] && ps -p ${active_watchdog_pid} > /dev/null 2>&1; then
kill -TERM ${active_watchdog_pid} 2>/dev/null || true
wait ${active_watchdog_pid} 2>/dev/null || true
fi
echo "Cleanup completed. Exiting now." >&2
exit 0
}
trap 'cleanup SIGTERM' SIGTERM
trap 'cleanup SIGINT' SIGINT
if [ ! -f /nano-service-installers/$ORCHESTRATION_INSTALLATION_SCRIPT ]; then
echo "Error: agent installation package doesn't exist."
exit 1
fi
if [ -z $1 ]; then
if [ -z "$1" ]; then
var_mode="--hybrid_mode"
fi
@@ -45,30 +60,30 @@ while true; do
shift
done
if [ -z $var_token ] && [ $var_mode != "--hybrid_mode" ]; then
if [ -z "$var_token" ] && [ "$var_mode" != "--hybrid_mode" ]; then
var_token=$(env | grep 'AGENT_TOKEN=' | cut -d'=' -f2-)
if [ -z $var_token ]; then
if [ -z "$var_token" ]; then
echo "Error: Token was not provided as input argument."
exit 1
fi
fi
orchestration_service_installation_flags="--container_mode --skip_registration"
if [ ! -z $var_token ]; then
if [ -n "$var_token" ]; then
export AGENT_TOKEN="$var_token"
orchestration_service_installation_flags="$orchestration_service_installation_flags --token $var_token"
fi
if [ ! -z $var_fog_address ]; then
if [ -n "$var_fog_address" ]; then
orchestration_service_installation_flags="$orchestration_service_installation_flags --fog $var_fog_address"
fi
if [ ! -z $var_proxy ]; then
if [ -n "$var_proxy" ]; then
orchestration_service_installation_flags="$orchestration_service_installation_flags --proxy $var_proxy"
fi
if [ ! -z $var_mode ]; then
if [ -n "$var_mode" ]; then
orchestration_service_installation_flags="$orchestration_service_installation_flags $var_mode"
fi
if [ ! -z "$var_ignore" ]; then
if [ -n "$var_ignore" ]; then
orchestration_service_installation_flags="$orchestration_service_installation_flags $var_ignore"
fi
@@ -99,7 +114,7 @@ fi
# use advanced model if exist as data for agent
FILE=/advanced-model/open-appsec-advanced-model.tgz
if [ -f "$FILE" ]; then
tar -xzvf $FILE -C /etc/cp/conf/waap
tar -xzvf "$FILE" -C /etc/cp/conf/waap
fi
touch /etc/cp/watchdog/wd.startup

View File

@@ -40,7 +40,7 @@ spec:
stdout:
format: json
cef-service: []
--
---
apiVersion: openappsec.io/v1beta1
kind: Practice
metadata:
@@ -56,7 +56,7 @@ spec:
web-attacks:
minimum-confidence: high
override-mode: detect-learn
--
---
apiVersion: openappsec.io/v1beta1
kind: CustomResponse
metadata:

View File

@@ -40,7 +40,7 @@ spec:
stdout:
format: json
cef-service: []
--
---
apiVersion: openappsec.io/v1beta1
kind: Practice
metadata:
@@ -56,7 +56,7 @@ spec:
web-attacks:
minimum-confidence: high
override-mode: prevent-learn
--
---
apiVersion: openappsec.io/v1beta1
kind: CustomResponse
metadata:

View File

@@ -23,6 +23,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
## Make sure to have a valid apisix configuration for APISIX in standalone mode in the following file:
## For deployment of a simple lab testing environment, you can deploy the example configuration provided

View File

@@ -103,14 +103,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: always
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -23,6 +23,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
## Make sure to have a valid envoy.yaml Envoy configuration file present in the path below.
## For deployment of a simple lab testing environment, you can deploy the example configuration provided

View File

@@ -109,14 +109,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -23,6 +23,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
## Make sure to have a valid Kong declarative configuration file kong.yaml in the folder specified for KONG_CONFIG.
## For deployment of a simple lab testing environment, you can deploy the example configuration provided

View File

@@ -106,14 +106,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -23,6 +23,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
## Make sure to have a valid Kong declarative configuration file kong.yaml in the folder specified for KONG_CONFIG.
## For deployment of a simple lab testing environment, you can deploy the example configuration provided

View File

@@ -106,14 +106,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -23,6 +23,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
# Volume mounts for NGINX Proxy Manager have been moved here as well allowing configuration via .env file
NPM_DATA=./data

View File

@@ -103,14 +103,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -21,6 +21,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
# Volume mounts for NGINX Proxy Manager have been moved here as well allowing configuration via .env file
NPM_DATA=./data

View File

@@ -106,14 +106,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -23,6 +23,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
## Make sure to have a valid NGINX configuration file default.conf in the folder specified for NGINX_CONFIG.
## For deployment of a simple lab testing environment, you can deploy the example configuration provided

View File

@@ -96,14 +96,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -23,6 +23,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
## Make sure to have a valid NGINX configuration file default.conf in the folder specified for NGINX_CONFIG.
## For deployment of a simple lab testing environment, you can deploy the example configuration provided

View File

@@ -108,14 +108,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -23,6 +23,7 @@ APPSEC_DB_PASSWORD=pass
APPSEC_DB_USER=postgres
APPSEC_DB_HOST=appsec-db
APPSEC_POSTGRES_STORAGE=./appsec-postgres-data
APPSEC_POSTGRES_VERSION=18
## Most relevant SWAG parameters have been moved here as well allowing configuration via .env file
SWAG_CONFIG=./swag-config

View File

@@ -117,14 +117,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${APPSEC_POSTGRES_VERSION}
container_name: appsec-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${APPSEC_DB_PASSWORD}
- POSTGRES_USER=${APPSEC_DB_USER}
volumes:
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${APPSEC_POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
juiceshop-backend:

View File

@@ -15,6 +15,7 @@ USER_EMAIL=user@email.com
DB_PASSWORD=pass
DB_USER=postgres
DB_HOST=appsec-db
POSTGRES_VERSION=18
POSTGRES_STORAGE=./postgres-data
NGINX_CONF_DIR=./nginx-proxy-config

View File

@@ -81,14 +81,14 @@ services:
appsec-db:
profiles:
- standalone
image: postgres
image: postgres:${POSTGRES_VERSION}
container_name: appsec-db
restart: always
environment:
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_USER=${DB_USER}
volumes:
- ${POSTGRES_STORAGE}:/var/lib/postgresql/data
- ${POSTGRES_STORAGE}:/var/lib/postgresql
## example juice-shop backend container (vulnerable webserver, USE ONLY FOR TESTING AND IN LAB ENV)
##