2024-11-26 10:49:31 +00:00
|
|
|
FROM ubuntu:24.04
|
2017-10-13 18:58:14 +00:00
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
2020-01-02 17:37:08 +00:00
|
|
|
#
|
2017-10-13 18:58:14 +00:00
|
|
|
# Include dist
|
2022-03-08 23:36:03 +00:00
|
|
|
COPY dist/ /root/dist/
|
2020-01-02 17:37:08 +00:00
|
|
|
#
|
2022-01-24 01:31:31 +00:00
|
|
|
# Determine arch, get and install packages
|
2024-11-26 10:49:31 +00:00
|
|
|
RUN ARCH=$(arch) && \
|
2022-01-24 01:31:31 +00:00
|
|
|
if [ "$ARCH" = "x86_64" ]; then ARCH="amd64"; fi && \
|
|
|
|
if [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \
|
|
|
|
echo "$ARCH" && \
|
|
|
|
cd /root/dist/ && \
|
2024-09-07 00:35:04 +00:00
|
|
|
# Setup apt
|
2022-01-24 01:31:31 +00:00
|
|
|
apt-get update -y && \
|
2024-12-05 20:12:18 +00:00
|
|
|
apt-get upgrade -y && \
|
2021-10-05 15:26:02 +00:00
|
|
|
apt-get install wget -y && \
|
2022-01-24 01:31:31 +00:00
|
|
|
wget http://ftp.us.debian.org/debian/pool/main/libe/libemu/libemu2_0.2.0+git20120122-1.2+b1_$ARCH.deb \
|
|
|
|
http://ftp.us.debian.org/debian/pool/main/libe/libemu/libemu-dev_0.2.0+git20120122-1.2+b1_$ARCH.deb && \
|
2024-12-05 20:12:18 +00:00
|
|
|
apt-get install ./libemu2_0.2.0+git20120122-1.2+b1_$ARCH.deb \
|
2022-01-24 01:31:31 +00:00
|
|
|
./libemu-dev_0.2.0+git20120122-1.2+b1_$ARCH.deb -y && \
|
2017-10-13 18:58:14 +00:00
|
|
|
apt-get install -y --no-install-recommends \
|
2024-02-28 18:07:22 +00:00
|
|
|
build-essential \
|
|
|
|
ca-certificates \
|
|
|
|
check \
|
|
|
|
cmake \
|
|
|
|
cython3 \
|
|
|
|
git \
|
|
|
|
libcap2-bin \
|
|
|
|
libcurl4-openssl-dev \
|
|
|
|
libev-dev \
|
|
|
|
libglib2.0-dev \
|
|
|
|
libloudmouth1-dev \
|
|
|
|
libnetfilter-queue-dev \
|
|
|
|
libnl-3-dev \
|
|
|
|
libpcap-dev \
|
|
|
|
libssl-dev \
|
|
|
|
libtool \
|
|
|
|
libudns-dev \
|
|
|
|
procps \
|
|
|
|
python3 \
|
|
|
|
python3-dev \
|
|
|
|
python3-boto3 \
|
|
|
|
python3-bson \
|
2024-11-26 10:49:31 +00:00
|
|
|
python3-setuptools \
|
2024-02-28 18:07:22 +00:00
|
|
|
python3-yaml \
|
|
|
|
fonts-liberation && \
|
2020-01-02 17:37:08 +00:00
|
|
|
#
|
2017-10-13 18:58:14 +00:00
|
|
|
# Get and install dionaea
|
2024-11-26 10:49:31 +00:00
|
|
|
git clone https://github.com/t3chn0m4g3/dionaea -b 0.11.1 /root/dionaea/ && \
|
2017-10-13 18:58:14 +00:00
|
|
|
cd /root/dionaea && \
|
2018-07-31 13:31:50 +00:00
|
|
|
mkdir build && \
|
|
|
|
cd build && \
|
|
|
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt/dionaea .. && \
|
2017-10-13 18:58:14 +00:00
|
|
|
make && \
|
|
|
|
make install && \
|
2020-01-02 17:37:08 +00:00
|
|
|
#
|
2017-10-13 18:58:14 +00:00
|
|
|
# Setup user and groups
|
|
|
|
addgroup --gid 2000 dionaea && \
|
|
|
|
adduser --system --no-create-home --shell /bin/bash --uid 2000 --disabled-password --disabled-login --gid 2000 dionaea && \
|
2024-11-26 10:49:31 +00:00
|
|
|
setcap cap_net_bind_service=+ep /opt/dionaea/sbin/dionaea && \
|
2020-01-02 17:37:08 +00:00
|
|
|
#
|
2017-10-13 18:58:14 +00:00
|
|
|
# Supply configs and set permissions
|
|
|
|
chown -R dionaea:dionaea /opt/dionaea/var && \
|
|
|
|
rm -rf /opt/dionaea/etc/dionaea/* && \
|
|
|
|
mv /root/dist/etc/* /opt/dionaea/etc/dionaea/ && \
|
2024-02-28 18:07:22 +00:00
|
|
|
cp /root/dist/cpu_check.py / && \
|
2020-01-02 17:37:08 +00:00
|
|
|
#
|
2017-10-13 18:58:14 +00:00
|
|
|
# Setup runtime and clean up
|
|
|
|
apt-get purge -y \
|
|
|
|
build-essential \
|
|
|
|
ca-certificates \
|
|
|
|
check \
|
2018-07-31 13:31:50 +00:00
|
|
|
cmake \
|
2017-10-13 18:58:14 +00:00
|
|
|
cython3 \
|
|
|
|
git \
|
|
|
|
libcurl4-openssl-dev \
|
|
|
|
libemu-dev \
|
|
|
|
libev-dev \
|
|
|
|
libglib2.0-dev \
|
|
|
|
libloudmouth1-dev \
|
|
|
|
libnetfilter-queue-dev \
|
|
|
|
libnl-3-dev \
|
|
|
|
libpcap-dev \
|
|
|
|
libssl-dev \
|
|
|
|
libtool \
|
|
|
|
libudns-dev \
|
|
|
|
python3 \
|
|
|
|
python3-dev \
|
2020-06-25 16:14:37 +00:00
|
|
|
python3-boto3 \
|
2017-10-13 18:58:14 +00:00
|
|
|
python3-bson \
|
2021-10-05 15:26:02 +00:00
|
|
|
python3-yaml \
|
|
|
|
wget && \
|
2024-02-28 18:07:22 +00:00
|
|
|
#
|
2017-10-13 18:58:14 +00:00
|
|
|
apt-get install -y \
|
|
|
|
ca-certificates \
|
|
|
|
python3 \
|
2020-06-25 16:14:37 +00:00
|
|
|
python3-boto3 \
|
2017-10-13 18:58:14 +00:00
|
|
|
python3-bson \
|
2024-02-28 20:05:03 +00:00
|
|
|
python3-psutil \
|
2017-10-13 18:58:14 +00:00
|
|
|
python3-yaml \
|
2020-06-25 16:14:37 +00:00
|
|
|
libcurl4 \
|
2017-10-13 18:58:14 +00:00
|
|
|
libemu2 \
|
|
|
|
libev4 \
|
|
|
|
libglib2.0-0 \
|
|
|
|
libnetfilter-queue1 \
|
|
|
|
libnl-3-200 \
|
|
|
|
libpcap0.8 \
|
2024-11-26 10:49:31 +00:00
|
|
|
libpython3.12 \
|
2017-10-13 18:58:14 +00:00
|
|
|
libudns0 && \
|
2020-01-02 17:37:08 +00:00
|
|
|
#
|
2017-10-13 18:58:14 +00:00
|
|
|
apt-get autoremove --purge -y && \
|
|
|
|
apt-get clean && \
|
2024-09-11 10:42:17 +00:00
|
|
|
rm -rf /root/* \
|
|
|
|
/var/lib/apt/lists/* \
|
|
|
|
/tmp/* \
|
|
|
|
/var/tmp/* \
|
|
|
|
/root/.cache \
|
|
|
|
/opt/dionaea/.git
|
2020-01-02 17:37:08 +00:00
|
|
|
#
|
2017-10-13 18:58:14 +00:00
|
|
|
# Start dionaea
|
2022-03-11 18:02:20 +00:00
|
|
|
STOPSIGNAL SIGINT
|
2024-02-28 18:07:22 +00:00
|
|
|
#
|
|
|
|
# Dionaea sometimes hangs at 100% CPU usage, if detected container will become unhealthy and restarted by tpotinit
|
|
|
|
HEALTHCHECK --interval=5m --timeout=30s --retries=3 CMD python3 /cpu_check.py $(pgrep -of dionaea) 99
|
2018-03-31 15:18:28 +00:00
|
|
|
USER dionaea:dionaea
|
2024-11-26 10:49:31 +00:00
|
|
|
CMD ["/opt/dionaea/sbin/dionaea", "-u", "dionaea", "-g", "dionaea", "-c", "/opt/dionaea/etc/dionaea/dionaea.cfg"]
|