From b105a2c3bf54373cdb64f9315c68d06ddc1cd4e1 Mon Sep 17 00:00:00 2001 From: Rami Winestock Date: Mon, 18 Dec 2023 22:50:41 +0200 Subject: [PATCH] Add Docker Compose file and local policy configuration --- deployment/docker-compose.yaml | 36 ++++++++++++++++++++ deployment/local_policy.yaml | 62 ++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 deployment/docker-compose.yaml create mode 100644 deployment/local_policy.yaml diff --git a/deployment/docker-compose.yaml b/deployment/docker-compose.yaml new file mode 100644 index 00000000..b610742f --- /dev/null +++ b/deployment/docker-compose.yaml @@ -0,0 +1,36 @@ +version: '3.8' +# docker compose for npm open-appsec integration + +services: + appsec-npm: + container_name: appsec-npm + image: 'ghcr.io/openappsec/appsec-npm:latest' + ipc: host + restart: unless-stopped + ports: + - '80:80' # Public HTTP Port + - '443:443' # Public HTTPS Port + - '81:81' # Admin Web Port + volumes: + - ./data:/data + - ./letsencrypt:/etc/letsencrypt + - ./appsec-logs:/ext/appsec-logs + - ./appsec-localconfig:/ext/appsec + + appsec-agent: + container_name: appsec-agent + image: 'ghcr.io/openappsec/agent:latest' + network_mode: service:appsec-npm + ipc: host + restart: unless-stopped + environment: + # adjust with your own email below + - user_email=user@email.com + - nginxproxymanager=true + - autoPolicyLoad=true + volumes: + - ./appsec-config:/etc/cp/conf + - ./appsec-data:/etc/cp/data + - ./appsec-logs:/var/log/nano_agent + - ./appsec-localconfig:/ext/appsec + command: /cp-nano-agent --standalone diff --git a/deployment/local_policy.yaml b/deployment/local_policy.yaml new file mode 100644 index 00000000..8aaf15a8 --- /dev/null +++ b/deployment/local_policy.yaml @@ -0,0 +1,62 @@ +policies: + default: + triggers: + - appsec-default-log-trigger + mode: inactive + practices: + - webapp-default-practice + custom-response: appsec-default-web-user-response + specific-rules: [] + +practices: + - name: webapp-default-practice + web-attacks: + max-body-size-kb: 1000000 + max-header-size-bytes: 102400 + max-object-depth: 40 + max-url-size-bytes: 32768 + minimum-confidence: high + override-mode: inactive + protections: + csrf-protection: inactive + error-disclosure: inactive + non-valid-http-methods: false + open-redirect: inactive + anti-bot: + injected-URIs: [] + validated-URIs: [] + override-mode: inactive + snort-signatures: + configmap: [] + override-mode: inactive + openapi-schema-validation: + configmap: [] + override-mode: inactive + +log-triggers: + - name: appsec-default-log-trigger + access-control-logging: + allow-events: false + drop-events: true + additional-suspicious-events-logging: + enabled: true + minimum-severity: high + response-body: false + appsec-logging: + all-web-requests: false + detect-events: true + prevent-events: true + extended-logging: + http-headers: false + request-body: false + url-path: false + url-query: false + log-destination: + cloud: false + stdout: + format: json + +custom-responses: + - name: appsec-default-web-user-response + mode: response-code-only + http-response-code: 403