mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-08-07 09:53:38 +00:00
Add Docker Compose file and local policy configuration
This commit is contained in:
36
deployment/docker-compose.yaml
Normal file
36
deployment/docker-compose.yaml
Normal file
@@ -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
|
62
deployment/local_policy.yaml
Normal file
62
deployment/local_policy.yaml
Normal file
@@ -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
|
Reference in New Issue
Block a user