diff --git a/docker/honeypots/Dockerfile b/docker/honeypots/Dockerfile index 3af67dbf..20fdde23 100644 --- a/docker/honeypots/Dockerfile +++ b/docker/honeypots/Dockerfile @@ -6,34 +6,74 @@ COPY dist/ /root/dist/ # Install packages RUN apk --no-cache -U add \ build-base \ + freetds \ + freetds-dev \ + gcc \ + git \ + hiredis \ + jpeg-dev \ libcap \ libffi-dev \ + libpq \ musl-dev \ openssl \ openssl-dev \ + postgresql-dev \ + py3-chardet \ + py3-click \ + py3-cryptography \ + py3-dnspython \ + py3-flask \ + py3-future \ + py3-hiredis \ + py3-itsdangerous \ + py3-jinja2 \ + py3-ldap3 \ + py3-markupsafe \ + py3-openssl \ + py3-packaging \ py3-pip \ + py3-psycopg2 \ + py3-pycryptodomex \ + py3-werkzeug \ + py3-wheel \ python3 \ - python3-dev && \ + python3-dev \ + zlib-dev && \ # # Install honeypots from GitHub and setup - pip3 install --break-system-packages --no-cache-dir honeypots && \ + mkdir -p /opt \ + /var/log/honeypots && \ + cd /opt/ && \ + git clone https://github.com/t3chn0m4g3/honeypots && \ + cd honeypots && \ + pip3 install --break-system-packages --no-cache-dir . && \ setcap cap_net_bind_service=+ep $(readlink -f $(type -P python3)) && \ # # Setup user, groups and configs - mkdir -p /etc/honeypots/ && \ - cp /root/dist/config.json /etc/honeypots/ && \ + addgroup -g 2000 honeypots && \ + adduser -S -H -s /bin/ash -u 2000 -D -g 2000 honeypots && \ + chown honeypots:honeypots -R /opt/honeypots && \ + chown honeypots:honeypots -R /var/log/honeypots && \ + mv /root/dist/config.json /opt/honeypots/ && \ # # Clean up - apk del --purge \ - build-base \ + apk del --purge build-base \ + freetds-dev \ + git \ + jpeg-dev \ libffi-dev \ - musl-dev \ openssl-dev \ + postgresql-dev \ py3-pip \ - python3-dev && \ + python3-dev \ + zlib-dev && \ rm -rf /root/* \ + /var/cache/apk/* \ + /opt/honeypots/.git # # Start honeypots STOPSIGNAL SIGINT -USER 2000:2000 -CMD python3 -E -m honeypots --setup all --config /etc/honeypots/config.json +USER honeypots:honeypots +WORKDIR /opt/honeypots/ +CMD python3 -E -m honeypots --setup all --config config.json diff --git a/docker/honeypots/Dockerfile.testing b/docker/honeypots/Dockerfile.testing new file mode 100644 index 00000000..3af67dbf --- /dev/null +++ b/docker/honeypots/Dockerfile.testing @@ -0,0 +1,39 @@ +FROM alpine:3.20 +# +# Include dist +COPY dist/ /root/dist/ +# +# Install packages +RUN apk --no-cache -U add \ + build-base \ + libcap \ + libffi-dev \ + musl-dev \ + openssl \ + openssl-dev \ + py3-pip \ + python3 \ + python3-dev && \ +# +# Install honeypots from GitHub and setup + pip3 install --break-system-packages --no-cache-dir honeypots && \ + setcap cap_net_bind_service=+ep $(readlink -f $(type -P python3)) && \ +# +# Setup user, groups and configs + mkdir -p /etc/honeypots/ && \ + cp /root/dist/config.json /etc/honeypots/ && \ +# +# Clean up + apk del --purge \ + build-base \ + libffi-dev \ + musl-dev \ + openssl-dev \ + py3-pip \ + python3-dev && \ + rm -rf /root/* \ +# +# Start honeypots +STOPSIGNAL SIGINT +USER 2000:2000 +CMD python3 -E -m honeypots --setup all --config /etc/honeypots/config.json