Нет описания

.env.example 5.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. # soc-integrator — sample environment file
  2. # Copy to .env and fill in real values before starting the service.
  3. #
  4. # Usage:
  5. # cp .env.example .env
  6. # # edit .env with your values
  7. # docker compose up -d
  8. # ---------------------------------------------------------------------------
  9. # Core
  10. # ---------------------------------------------------------------------------
  11. APP_ENV=dev # dev | prod
  12. LOG_LEVEL=INFO # DEBUG | INFO | WARNING | ERROR
  13. SOC_INTEGRATOR_INTERNAL_KEY=change-me-internal-key # X-Internal-API-Key header
  14. # ---------------------------------------------------------------------------
  15. # Database (Postgres)
  16. # ---------------------------------------------------------------------------
  17. SOC_INTEGRATOR_DB_HOST=soc-integrator-db
  18. SOC_INTEGRATOR_DB_PORT=5432
  19. SOC_INTEGRATOR_DB_NAME=soc_integrator
  20. SOC_INTEGRATOR_DB_USER=soc_integrator
  21. SOC_INTEGRATOR_DB_PASSWORD=change-me-db-password
  22. # ---------------------------------------------------------------------------
  23. # Wazuh
  24. # ---------------------------------------------------------------------------
  25. WAZUH_BASE_URL=https://wazuh.manager:55000
  26. WAZUH_USERNAME=wazuh-wui
  27. WAZUH_PASSWORD=change-me-wazuh-password
  28. WAZUH_INDEXER_URL=https://wazuh.indexer:9200
  29. WAZUH_INDEXER_USERNAME=admin
  30. WAZUH_INDEXER_PASSWORD=change-me-indexer-password
  31. # Wazuh auto-sync (pulls alerts → creates IRIS alerts automatically)
  32. WAZUH_AUTO_SYNC_ENABLED=true
  33. WAZUH_AUTO_SYNC_INTERVAL_SECONDS=60 # how often to run (seconds)
  34. WAZUH_AUTO_SYNC_QUERY=* # OpenSearch query filter
  35. WAZUH_AUTO_SYNC_LIMIT=50 # max alerts per cycle
  36. WAZUH_AUTO_SYNC_MINUTES=120 # lookback window per cycle (minutes)
  37. # ---------------------------------------------------------------------------
  38. # Shuffle
  39. # ---------------------------------------------------------------------------
  40. SHUFFLE_BASE_URL=http://shuffle-backend:5001
  41. SHUFFLE_API_KEY= # from Shuffle → Profile → API key
  42. SHUFFLE_USERNAME=
  43. SHUFFLE_PASSWORD=
  44. # ---------------------------------------------------------------------------
  45. # PagerDuty
  46. # ---------------------------------------------------------------------------
  47. PAGERDUTY_BASE_URL=http://pagerduty-stub # replace with https://events.pagerduty.com in prod
  48. PAGERDUTY_API_KEY= # PagerDuty integration/routing key
  49. # ---------------------------------------------------------------------------
  50. # IRIS (case management)
  51. # ---------------------------------------------------------------------------
  52. IRIS_BASE_URL=https://iriswebapp_nginx:8443
  53. IRIS_API_KEY= # IRIS → My profile → API key
  54. IRIS_DEFAULT_CUSTOMER_ID=1
  55. IRIS_DEFAULT_SOC_ID=
  56. # ---------------------------------------------------------------------------
  57. # Threat Intelligence — VirusTotal & AbuseIPDB
  58. # ---------------------------------------------------------------------------
  59. VIRUSTOTAL_BASE_URL=https://www.virustotal.com/api/v3
  60. VIRUSTOTAL_API_KEY= # https://www.virustotal.com/gui/my-apikey
  61. ABUSEIPDB_BASE_URL=https://api.abuseipdb.com/api/v2
  62. ABUSEIPDB_API_KEY= # https://www.abuseipdb.com/account/api
  63. # ---------------------------------------------------------------------------
  64. # IOC CDB List Refresh
  65. # Fetches public feeds (Feodo, URLhaus, ThreatFox, MalwareBazaar) and
  66. # locally confirmed ioc_trace hits, writes Wazuh CDB list files, then
  67. # restarts Wazuh analysisd to recompile.
  68. #
  69. # Requires shared bind-mount:
  70. # host: wazuh-docker/single-node/config/wazuh_cluster/lists/malicious-ioc/
  71. # wazuh container: /var/ossec/etc/lists/malicious-ioc
  72. # integrator container: /ioc-lists (= WAZUH_LISTS_PATH)
  73. # ---------------------------------------------------------------------------
  74. IOC_REFRESH_ENABLED=false # set true to start background refresh loop
  75. IOC_REFRESH_INTERVAL_SECONDS=14400 # refresh every 4 hours (min: 300)
  76. IOC_REFRESH_CONFIDENCE_THRESHOLD=0.7 # min VT/AbuseIPDB confidence to include local hits
  77. IOC_REFRESH_LOOKBACK_DAYS=30 # days back to query ioc_trace for confirmed hits
  78. WAZUH_LISTS_PATH=/ioc-lists # must match bind-mount destination in container
  79. # ---------------------------------------------------------------------------
  80. # Log Loss Monitor
  81. # Alerts when no Wazuh events arrive within the window.
  82. # ---------------------------------------------------------------------------
  83. LOG_LOSS_MONITOR_ENABLED=false
  84. LOG_LOSS_MONITOR_INTERVAL_SECONDS=60
  85. LOG_LOSS_MONITOR_WINDOW_MINUTES=5
  86. LOG_LOSS_MONITOR_CREATE_IRIS_TICKET=false
  87. LOG_LOSS_MONITOR_TICKET_COOLDOWN_SECONDS=900
  88. # ---------------------------------------------------------------------------
  89. # GeoIP
  90. # ---------------------------------------------------------------------------
  91. GEOIP_PROVIDER=ipwhois # ipwhois = free, no key required
  92. GEOIP_CACHE_TTL_SECONDS=21600 # cache lookups for 6 hours
  93. # ---------------------------------------------------------------------------
  94. # Correlation / C-Detection
  95. # ---------------------------------------------------------------------------
  96. C_DETECTION_ENABLED=true
  97. C_DETECTION_WINDOW_MINUTES=30
  98. C_DETECTION_CREATE_IRIS_TICKET=true
  99. C_DETECTION_TICKET_COOLDOWN_SECONDS=900
  100. # C1 — Impossible travel
  101. C1_MAX_TRAVEL_SPEED_KMPH=900
  102. # C2 — Off-hours login (UTC hours, inclusive)
  103. C2_OFFHOURS_START_UTC=20
  104. C2_OFFHOURS_END_UTC=6
  105. # C3 — Lateral movement / port scan
  106. C3_HOST_SPREAD_THRESHOLD=5
  107. C3_SCAN_PORT_THRESHOLD=20