| 
									
										
										
										
											2022-06-14 10:47:11 +00:00
										 |  |  | FROM ubuntu:22.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
 | 
					
						
							|  |  |  | RUN ARCH=$(arch) && \
 | 
					
						
							|  |  |  |       if [ "$ARCH" = "x86_64" ]; then ARCH="amd64"; fi && \
 | 
					
						
							|  |  |  |       if [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \
 | 
					
						
							|  |  |  |     echo "$ARCH" && \
 | 
					
						
							|  |  |  |     cd /root/dist/ && \
 | 
					
						
							|  |  |  |     apt-get update -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 && \
 | 
					
						
							|  |  |  |     apt install ./libemu2_0.2.0+git20120122-1.2+b1_$ARCH.deb \
 | 
					
						
							|  |  |  |                 ./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 \
 | 
					
						
							| 
									
										
										
										
											2018-07-31 13:31:50 +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 \
 | 
					
						
							| 
									
										
										
										
											2020-06-25 16:14:37 +00:00
										 |  |  | 	python3-boto3 \
 | 
					
						
							| 
									
										
										
										
											2018-07-31 13:31:50 +00:00
										 |  |  | 	python3-bson \
 | 
					
						
							|  |  |  | 	python3-yaml \
 | 
					
						
							| 
									
										
										
										
											2020-06-25 16:14:37 +00:00
										 |  |  | 	fonts-liberation && \
 | 
					
						
							| 
									
										
										
										
											2020-01-02 17:37:08 +00:00
										 |  |  | #
 | 
					
						
							| 
									
										
										
										
											2017-10-13 18:58:14 +00:00
										 |  |  | # Get and install dionaea
 | 
					
						
							| 
									
										
										
										
											2020-06-26 23:48:48 +00:00
										 |  |  |     # Latest master is unstable, SIP causes crashing
 | 
					
						
							| 
									
										
										
										
											2021-01-19 10:59:32 +00:00
										 |  |  |     git clone --depth=1 https://github.com/dinotools/dionaea -b 0.11.0 /root/dionaea/ && \
 | 
					
						
							| 
									
										
										
										
											2017-10-13 18:58:14 +00:00
										 |  |  |     cd /root/dionaea && \
 | 
					
						
							| 
									
										
										
										
											2020-06-26 23:48:48 +00:00
										 |  |  |     #git checkout 1426750b9fd09c5bfeae74d506237333cd8505e2 && \
 | 
					
						
							| 
									
										
										
										
											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 && \
 | 
					
						
							| 
									
										
										
										
											2018-03-31 15:18:28 +00:00
										 |  |  |     setcap cap_net_bind_service=+ep /opt/dionaea/bin/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/ && \
 | 
					
						
							| 
									
										
										
										
											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 && \ 
 | 
					
						
							| 
									
										
										
										
											2022-06-14 10:47:11 +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 \
 | 
					
						
							|  |  |  |       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 \
 | 
					
						
							| 
									
										
										
										
											2022-06-14 10:47:11 +00:00
										 |  |  |       libpython3.10 \
 | 
					
						
							| 
									
										
										
										
											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 && \
 | 
					
						
							| 
									
										
										
										
											2022-03-08 23:36:03 +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
 | 
					
						
							|  |  |  | # Dionaea sometimes hangs at 100% CPU usage, if detected process will be killed and container restarts per docker-compose settings
 | 
					
						
							| 
									
										
										
										
											2022-03-14 10:37:11 +00:00
										 |  |  | HEALTHCHECK CMD if [ $(ps -C mpv -p 1 -o %cpu | tail -n 1 | cut -f 1 -d ".") -gt 75 ]; then kill -2 1; else exit 0; fi
 | 
					
						
							| 
									
										
										
										
											2018-03-31 15:18:28 +00:00
										 |  |  | USER dionaea:dionaea
 | 
					
						
							| 
									
										
										
										
											2017-10-13 18:58:14 +00:00
										 |  |  | CMD ["/opt/dionaea/bin/dionaea", "-u", "dionaea", "-g", "dionaea", "-c", "/opt/dionaea/etc/dionaea/dionaea.cfg"]
 |