mirror of
https://github.com/telekom-security/tpotce.git
synced 2025-04-29 03:38:51 +00:00
389 lines
8.7 KiB
YAML
389 lines
8.7 KiB
YAML
# T-Pot (Industrial)
|
|
# Do not erase ports sections, these are used by /opt/tpot/bin/rules.sh to setup iptables ACCEPT rules for NFQ (honeytrap / glutton)
|
|
version: '2.3'
|
|
|
|
networks:
|
|
conpot_local_default:
|
|
conpot_local_IEC104:
|
|
conpot_local_guardian_ast:
|
|
conpot_local_ipmi:
|
|
conpot_local_kamstrup_382:
|
|
cowrie_local:
|
|
cyberchef_local:
|
|
heralding_local:
|
|
medpot_local:
|
|
rdpy_local:
|
|
ewsposter_local:
|
|
spiderfoot_local:
|
|
|
|
services:
|
|
|
|
##################
|
|
#### Honeypots
|
|
##################
|
|
|
|
# Conpot default service
|
|
conpot_default:
|
|
build: .
|
|
container_name: conpot_default
|
|
restart: always
|
|
environment:
|
|
- CONPOT_CONFIG=/etc/conpot/conpot.cfg
|
|
- CONPOT_JSON_LOG=/var/log/conpot/conpot_default.json
|
|
- CONPOT_LOG=/var/log/conpot/conpot_default.log
|
|
- CONPOT_TEMPLATE=default
|
|
- CONPOT_TMP=/tmp/conpot
|
|
tmpfs:
|
|
- /tmp/conpot:uid=2000,gid=2000
|
|
networks:
|
|
- conpot_local_default
|
|
ports:
|
|
- "69:69"
|
|
- "80:80"
|
|
- "102:102"
|
|
- "161:161"
|
|
- "502:502"
|
|
# - "623:623"
|
|
- "21:21"
|
|
- "44818:44818"
|
|
- "47808:47808"
|
|
image: "dtagdevsec/conpot:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/conpot/log:/var/log/conpot
|
|
|
|
# Conpot IEC104 service
|
|
conpot_IEC104:
|
|
container_name: conpot_iec104
|
|
restart: always
|
|
environment:
|
|
- CONPOT_CONFIG=/etc/conpot/conpot.cfg
|
|
- CONPOT_JSON_LOG=/var/log/conpot/conpot_IEC104.json
|
|
- CONPOT_LOG=/var/log/conpot/conpot_IEC104.log
|
|
- CONPOT_TEMPLATE=IEC104
|
|
- CONPOT_TMP=/tmp/conpot
|
|
tmpfs:
|
|
- /tmp/conpot:uid=2000,gid=2000
|
|
networks:
|
|
- conpot_local_IEC104
|
|
ports:
|
|
# - "161:161"
|
|
- "2404:2404"
|
|
image: "dtagdevsec/conpot:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/conpot/log:/var/log/conpot
|
|
|
|
# Conpot guardian_ast service
|
|
conpot_guardian_ast:
|
|
container_name: conpot_guardian_ast
|
|
restart: always
|
|
environment:
|
|
- CONPOT_CONFIG=/etc/conpot/conpot.cfg
|
|
- CONPOT_JSON_LOG=/var/log/conpot/conpot_guardian_ast.json
|
|
- CONPOT_LOG=/var/log/conpot/conpot_guardian_ast.log
|
|
- CONPOT_TEMPLATE=guardian_ast
|
|
- CONPOT_TMP=/tmp/conpot
|
|
tmpfs:
|
|
- /tmp/conpot:uid=2000,gid=2000
|
|
networks:
|
|
- conpot_local_guardian_ast
|
|
ports:
|
|
- "10001:10001"
|
|
image: "dtagdevsec/conpot:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/conpot/log:/var/log/conpot
|
|
|
|
# Conpot ipmi
|
|
conpot_ipmi:
|
|
container_name: conpot_ipmi
|
|
restart: always
|
|
environment:
|
|
- CONPOT_CONFIG=/etc/conpot/conpot.cfg
|
|
- CONPOT_JSON_LOG=/var/log/conpot/conpot_ipmi.json
|
|
- CONPOT_LOG=/var/log/conpot/conpot_ipmi.log
|
|
- CONPOT_TEMPLATE=ipmi
|
|
- CONPOT_TMP=/tmp/conpot
|
|
tmpfs:
|
|
- /tmp/conpot:uid=2000,gid=2000
|
|
networks:
|
|
- conpot_local_ipmi
|
|
ports:
|
|
- "623:623"
|
|
image: "dtagdevsec/conpot:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/conpot/log:/var/log/conpot
|
|
|
|
# Conpot kamstrup_382
|
|
conpot_kamstrup_382:
|
|
container_name: conpot_kamstrup_382
|
|
restart: always
|
|
environment:
|
|
- CONPOT_CONFIG=/etc/conpot/conpot.cfg
|
|
- CONPOT_JSON_LOG=/var/log/conpot/conpot_kamstrup_382.json
|
|
- CONPOT_LOG=/var/log/conpot/conpot_kamstrup_382.log
|
|
- CONPOT_TEMPLATE=kamstrup_382
|
|
- CONPOT_TMP=/tmp/conpot
|
|
tmpfs:
|
|
- /tmp/conpot:uid=2000,gid=2000
|
|
networks:
|
|
- conpot_local_kamstrup_382
|
|
ports:
|
|
- "1025:1025"
|
|
- "50100:50100"
|
|
image: "dtagdevsec/conpot:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/conpot/log:/var/log/conpot
|
|
|
|
# Cowrie service
|
|
cowrie:
|
|
container_name: cowrie
|
|
restart: always
|
|
tmpfs:
|
|
- /tmp/cowrie:uid=2000,gid=2000
|
|
- /tmp/cowrie/data:uid=2000,gid=2000
|
|
networks:
|
|
- cowrie_local
|
|
ports:
|
|
- "22:22"
|
|
- "23:23"
|
|
image: "dtagdevsec/cowrie:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/cowrie/downloads:/home/cowrie/cowrie/dl
|
|
- /data/cowrie/keys:/home/cowrie/cowrie/etc
|
|
- /data/cowrie/log:/home/cowrie/cowrie/log
|
|
- /data/cowrie/log/tty:/home/cowrie/cowrie/log/tty
|
|
|
|
# Heralding service
|
|
heralding:
|
|
container_name: heralding
|
|
restart: always
|
|
tmpfs:
|
|
- /tmp/heralding:uid=2000,gid=2000
|
|
networks:
|
|
- heralding_local
|
|
ports:
|
|
# - "21:21"
|
|
# - "22:22"
|
|
# - "23:23"
|
|
# - "25:25"
|
|
# - "80:80"
|
|
# - "110:110"
|
|
# - "143:143"
|
|
# - "443:443"
|
|
# - "993:993"
|
|
# - "995:995"
|
|
# - "5432:5432"
|
|
- "5900:5900"
|
|
image: "dtagdevsec/heralding:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/heralding/log:/var/log/heralding
|
|
|
|
# Honeytrap service
|
|
honeytrap:
|
|
container_name: honeytrap
|
|
restart: always
|
|
tmpfs:
|
|
- /tmp/honeytrap:uid=2000,gid=2000
|
|
network_mode: "host"
|
|
cap_add:
|
|
- NET_ADMIN
|
|
image: "dtagdevsec/honeytrap:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/honeytrap/attacks:/opt/honeytrap/var/attacks
|
|
- /data/honeytrap/downloads:/opt/honeytrap/var/downloads
|
|
- /data/honeytrap/log:/opt/honeytrap/var/log
|
|
|
|
# Medpot service
|
|
medpot:
|
|
container_name: medpot
|
|
restart: always
|
|
networks:
|
|
- medpot_local
|
|
ports:
|
|
- "2575:2575"
|
|
image: "dtagdevsec/medpot:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/medpot/log/:/var/log/medpot
|
|
|
|
# Rdpy service
|
|
rdpy:
|
|
container_name: rdpy
|
|
extra_hosts:
|
|
- hpfeeds.example.com:127.0.0.1
|
|
restart: always
|
|
environment:
|
|
- HPFEEDS_SERVER=hpfeeds.example.com
|
|
- HPFEEDS_IDENT=user
|
|
- HPFEEDS_SECRET=pass
|
|
- HPFEEDS_PORT=65000
|
|
- SERVERID=id
|
|
networks:
|
|
- rdpy_local
|
|
ports:
|
|
- "3389:3389"
|
|
image: "dtagdevsec/rdpy:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/rdpy/log:/var/log/rdpy
|
|
|
|
|
|
##################
|
|
#### NSM
|
|
##################
|
|
|
|
# P0f service
|
|
p0f:
|
|
container_name: p0f
|
|
restart: always
|
|
network_mode: "host"
|
|
image: "dtagdevsec/p0f:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/p0f/log:/var/log/p0f
|
|
|
|
# Suricata service
|
|
suricata:
|
|
container_name: suricata
|
|
restart: always
|
|
environment:
|
|
# For ET Pro ruleset replace "OPEN" with your OINKCODE
|
|
- OINKCODE=OPEN
|
|
network_mode: "host"
|
|
cap_add:
|
|
- NET_ADMIN
|
|
- SYS_NICE
|
|
- NET_RAW
|
|
image: "dtagdevsec/suricata:1811"
|
|
volumes:
|
|
- /data/suricata/log:/var/log/suricata
|
|
|
|
|
|
##################
|
|
#### Tools
|
|
##################
|
|
|
|
# Cyberchef service
|
|
cyberchef:
|
|
container_name: cyberchef
|
|
restart: always
|
|
networks:
|
|
- cyberchef_local
|
|
ports:
|
|
- "127.0.0.1:64299:8000"
|
|
image: "dtagdevsec/cyberchef:1811"
|
|
read_only: true
|
|
|
|
#### ELK
|
|
## Elasticsearch service
|
|
elasticsearch:
|
|
container_name: elasticsearch
|
|
restart: always
|
|
environment:
|
|
- bootstrap.memory_lock=true
|
|
- ES_JAVA_OPTS=-Xms1024m -Xmx1024m
|
|
- ES_TMPDIR=/tmp
|
|
cap_add:
|
|
- IPC_LOCK
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
nofile:
|
|
soft: 65536
|
|
hard: 65536
|
|
mem_limit: 4g
|
|
ports:
|
|
- "127.0.0.1:64298:9200"
|
|
image: "dtagdevsec/elasticsearch:1811"
|
|
volumes:
|
|
- /data:/data
|
|
|
|
## Kibana service
|
|
kibana:
|
|
container_name: kibana
|
|
restart: always
|
|
depends_on:
|
|
elasticsearch:
|
|
condition: service_healthy
|
|
ports:
|
|
- "127.0.0.1:64296:5601"
|
|
image: "dtagdevsec/kibana:1811"
|
|
|
|
## Logstash service
|
|
logstash:
|
|
container_name: logstash
|
|
restart: always
|
|
depends_on:
|
|
elasticsearch:
|
|
condition: service_healthy
|
|
env_file:
|
|
- /opt/tpot/etc/compose/elk_environment
|
|
image: "dtagdevsec/logstash:1811"
|
|
volumes:
|
|
- /data:/data
|
|
|
|
## Elasticsearch-head service
|
|
head:
|
|
container_name: head
|
|
restart: always
|
|
depends_on:
|
|
elasticsearch:
|
|
condition: service_healthy
|
|
ports:
|
|
- "127.0.0.1:64302:9100"
|
|
image: "dtagdevsec/head:1811"
|
|
read_only: true
|
|
|
|
# Ewsposter service
|
|
ewsposter:
|
|
container_name: ewsposter
|
|
restart: always
|
|
networks:
|
|
- ewsposter_local
|
|
env_file:
|
|
- /opt/tpot/etc/compose/elk_environment
|
|
image: "dtagdevsec/ewsposter:1811"
|
|
volumes:
|
|
- /data:/data
|
|
- /data/ews/conf/ews.ip:/opt/ewsposter/ews.ip
|
|
|
|
# Nginx service
|
|
nginx:
|
|
container_name: nginx
|
|
restart: always
|
|
tmpfs:
|
|
- /var/tmp/nginx/client_body
|
|
- /var/tmp/nginx/proxy
|
|
- /var/tmp/nginx/fastcgi
|
|
- /var/tmp/nginx/uwsgi
|
|
- /var/tmp/nginx/scgi
|
|
- /run
|
|
network_mode: "host"
|
|
ports:
|
|
- "64297:64297"
|
|
image: "dtagdevsec/nginx:1811"
|
|
read_only: true
|
|
volumes:
|
|
- /data/nginx/cert/:/etc/nginx/cert/:ro
|
|
- /data/nginx/conf/nginxpasswd:/etc/nginx/nginxpasswd:ro
|
|
- /data/nginx/log/:/var/log/nginx/
|
|
|
|
# Spiderfoot service
|
|
spiderfoot:
|
|
container_name: spiderfoot
|
|
restart: always
|
|
networks:
|
|
- spiderfoot_local
|
|
ports:
|
|
- "127.0.0.1:64303:8080"
|
|
image: "dtagdevsec/spiderfoot:1811"
|
|
volumes:
|
|
- /data/spiderfoot/spiderfoot.db:/home/spiderfoot/spiderfoot.db
|