mirror of
https://github.com/telekom-security/tpotce.git
synced 2025-07-02 01:27:27 -04:00
include docker repos
... skip emobility since it is a dev repo
This commit is contained in:
50
docker/glastopf/Dockerfile
Normal file
50
docker/glastopf/Dockerfile
Normal file
@ -0,0 +1,50 @@
|
||||
FROM alpine
|
||||
MAINTAINER MO
|
||||
|
||||
# Include dist
|
||||
ADD dist/ /root/dist/
|
||||
|
||||
# Install packages
|
||||
RUN apk -U upgrade && \
|
||||
apk add autoconf bash bind-tools build-base cython git libffi libffi-dev make py-asn1 \
|
||||
py-cffi py-chardet py-chardet py-cparser py-cryptography py-dateutil \
|
||||
py-enum34 py-idna py-ipaddress py-jinja2 py-lxml py-mysqldb py-openssl \
|
||||
py-pip py-requests py-setuptools python python-dev && \
|
||||
apk -U add --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ \
|
||||
py-beautifulsoup4 php7 php7-dev py-cssselect py-gevent py-greenlet py-mongo \
|
||||
py-sqlalchemy py-webob && \
|
||||
|
||||
# Install php sandbox from git
|
||||
git clone https://github.com/glastopf/BFR.git /opt/BFR && \
|
||||
cd /opt/BFR && \
|
||||
phpize7 && \
|
||||
./configure \
|
||||
--with-php-config=/usr/bin/php-config7 \
|
||||
--enable-bfr && \
|
||||
make && \
|
||||
make install && \
|
||||
cd / && \
|
||||
rm -rf /opt/BFR /tmp/* /var/tmp/* && \
|
||||
echo "zend_extension = "$(find /usr -name bfr.so) >> /etc/php7/php.ini && \
|
||||
|
||||
# Install glastopf from git
|
||||
git clone https://github.com/mushorg/glastopf.git /opt/glastopf && \
|
||||
cd /opt/glastopf && \
|
||||
python setup.py install && \
|
||||
cd / && \
|
||||
rm -rf /opt/glastopf /tmp/* /var/tmp/* && \
|
||||
|
||||
# Setup user, groups and configs
|
||||
addgroup -g 2000 glastopf && \
|
||||
adduser -S -H -u 2000 -D -g 2000 glastopf && \
|
||||
mkdir -p /opt/glastopf && \
|
||||
mv /root/dist/glastopf.cfg /opt/glastopf/ && \
|
||||
|
||||
# Clean up
|
||||
apk del autoconf build-base git libffi-dev php7-dev python-dev && \
|
||||
rm -rf /root/* && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
||||
# Set workdir and start glastopf
|
||||
WORKDIR /opt/glastopf/
|
||||
CMD ["glastopf-runner"]
|
31
docker/glastopf/README.md
Normal file
31
docker/glastopf/README.md
Normal file
@ -0,0 +1,31 @@
|
||||
[](https://microbadger.com/images/dtagdevsec/glastopf:1706 "Get your own version badge on microbadger.com") [](https://microbadger.com/images/dtagdevsec/glastopf:1706 "Get your own image badge on microbadger.com")
|
||||
|
||||
# dockerized glastopf v3
|
||||
|
||||
|
||||
[glastopf](https://github.com/glastopf/glastopf) is a python web application honeypot.
|
||||
|
||||
This repository contains the necessary files to create a *dockerized* version of glastopf v3.
|
||||
|
||||
This dockerized version is part of the **[T-Pot community honeypot](http://dtag-dev-sec.github.io/)** of Deutsche Telekom AG.
|
||||
|
||||
The `Dockerfile` contains the blueprint for the dockerized glastopf and will be used to setup the docker image.
|
||||
|
||||
The `glastopf.cfg` is tailored to fit the T-Pot environment.
|
||||
|
||||
The `supervisord.conf` is used to start glastopf under supervision of supervisord.
|
||||
|
||||
Using systemd, copy the `systemd/glastopf.service` to `/etc/systemd/system/glastopf.service` and start using
|
||||
|
||||
```
|
||||
systemctl enable glastopf
|
||||
systemctl start glastopf
|
||||
```
|
||||
|
||||
This will make sure that the docker container is started with the appropriate permissions and port mappings. Further, it autostarts during boot.
|
||||
|
||||
By default all data will be stored in `/data/glastopf/` until the honeypot service will be restarted which is by default every 24 hours. If you want to keep data persistently simply edit the ``service`` file, find the line that contains ``clean.sh`` and set the option from ``off`` to ``on``. Be advised to establish some sort of log management if you wish to do so.
|
||||
|
||||
# Glastopf Dashboard
|
||||
|
||||

|
106
docker/glastopf/dist/glastopf.cfg
vendored
Normal file
106
docker/glastopf/dist/glastopf.cfg
vendored
Normal file
@ -0,0 +1,106 @@
|
||||
[webserver]
|
||||
host = 0.0.0.0
|
||||
port = 80
|
||||
uid = glastopf
|
||||
gid = glastopf
|
||||
proxy_enabled = False
|
||||
|
||||
[ssl]
|
||||
enabled = False
|
||||
certfile =
|
||||
keyfile =
|
||||
|
||||
#Generic logging for general monitoring
|
||||
[logging]
|
||||
consolelog_enabled = True
|
||||
filelog_enabled = True
|
||||
logfile = log/glastopf.log
|
||||
|
||||
[dork-db]
|
||||
enabled = True
|
||||
pattern = rfi
|
||||
# Extracts dorks from a online dorks service operated by The Honeynet Project
|
||||
# This service is down until further notice!
|
||||
mnem_service = False
|
||||
|
||||
[hpfeed]
|
||||
enabled = False
|
||||
host = hpfriends.honeycloud.net
|
||||
port = 20000
|
||||
secret = 3wis3l2u5l7r3cew
|
||||
# channels comma separated
|
||||
chan_events = glastopf.events
|
||||
chan_files = glastopf.files
|
||||
ident = x8yer@hp1
|
||||
|
||||
[main-database]
|
||||
#If disabled a sqlite database will be created (db/glastopf.db)
|
||||
#to be used as dork storage.
|
||||
enabled = True
|
||||
#mongodb or sqlalchemy connection string, ex:
|
||||
#mongodb://localhost:27017/glastopf
|
||||
#mongodb://james:bond@localhost:27017/glastopf
|
||||
#mysql://james:bond@somehost.com/glastopf
|
||||
connection_string = sqlite:///db/glastopf.db
|
||||
|
||||
[surfcertids]
|
||||
enabled = False
|
||||
host = localhost
|
||||
port = 5432
|
||||
user =
|
||||
password =
|
||||
database = idsserver
|
||||
|
||||
[syslog]
|
||||
enabled = False
|
||||
socket = /dev/log
|
||||
|
||||
[mail]
|
||||
enabled = False
|
||||
# an email notification will be sent only if a specified matched pattern is identified.
|
||||
# Use the wildcard char *, to be notified every time
|
||||
patterns = rfi,lfi
|
||||
user =
|
||||
pwd =
|
||||
mail_from =
|
||||
mail_to =
|
||||
smtp_host = smtp.gmail.com
|
||||
smtp_port = 587
|
||||
|
||||
[taxii]
|
||||
enabled = False
|
||||
host = taxiitest.mitre.org
|
||||
port = 80
|
||||
inbox_path = /services/inbox/default/
|
||||
use_https = False
|
||||
use_auth_basic = False
|
||||
auth_basic_username = your_username
|
||||
auth_basic_password = your_password
|
||||
use_auth_certificate = False
|
||||
auth_certificate_keyfile = full_path_to_keyfile
|
||||
auth_certificate_certfile = full_path_to_certfile
|
||||
include_contact_info = False
|
||||
contact_name = ...
|
||||
contact_email = ...
|
||||
|
||||
[logstash]
|
||||
enabled = False
|
||||
host = localhost
|
||||
port = 5659
|
||||
handler = AMQP/TCP/UDP
|
||||
|
||||
[misc]
|
||||
# set webserver banner
|
||||
banner = Apache/2.0.48
|
||||
|
||||
[surface]
|
||||
#https://www.google.com/webmasters/
|
||||
google_meta =
|
||||
#http://www.bing.com/toolbox/webmaster
|
||||
bing_meta =
|
||||
|
||||
[sensor]
|
||||
sensorid = None
|
||||
|
||||
[profiler]
|
||||
enabled = False
|
BIN
docker/glastopf/doc/dashboard.png
Normal file
BIN
docker/glastopf/doc/dashboard.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 502 KiB |
19
docker/glastopf/docker-compose.yml
Normal file
19
docker/glastopf/docker-compose.yml
Normal file
@ -0,0 +1,19 @@
|
||||
version: '2.1'
|
||||
|
||||
networks:
|
||||
glastopf_local:
|
||||
|
||||
services:
|
||||
|
||||
# Glastopf service
|
||||
glastopf:
|
||||
container_name: glastopf
|
||||
restart: always
|
||||
networks:
|
||||
- glastopf_local
|
||||
ports:
|
||||
- "80:80"
|
||||
image: "dtagdevsec/glastopf:1706"
|
||||
volumes:
|
||||
- /data/glastopf/db:/opt/glastopf/db
|
||||
- /data/glastopf/log:/opt/glastopf/log
|
Reference in New Issue
Block a user