Skip to content

Commit 90aca87

Browse files
author
Catalin Bugariu
committed
Build openvas from souce
1 parent 222126c commit 90aca87

9 files changed

+261
-1189
lines changed

Dockerfile

+156-42
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,165 @@
1-
FROM ubuntu:18.04
2-
3-
COPY config/redis.config /etc/redis/redis.config
4-
COPY config/openvassd.conf /etc/openvas/openvassd.conf
5-
COPY openvas-check-setup /openvas-check-setup
6-
COPY start /start
1+
FROM debian:stretch
72

83
ENV DEBIAN_FRONTEND=noninteractive \
94
OV_PASSWORD=admin
10-
11-
RUN apt-get update && \
12-
apt-get install software-properties-common \
13-
openvas \
14-
openvas-cli \
15-
openvas-manager \
16-
openvas-scanner \
17-
libopenvas9 \
18-
libopenvas-dev \
19-
gnupg-agent \
20-
curl \
21-
wget \
22-
rsync \
23-
sqlite3 \
24-
xsltproc \
25-
--no-install-recommends -yq && \
5+
6+
#Install Prerequisites
7+
RUN apt-get update -y && \
8+
apt-get install git zip bzip2 net-tools \
9+
wget rsync curl cron \
10+
nmap \
11+
gcc cmake gcc-mingw-w64 clang clang-format perl-base \
12+
pkg-config libssh-gcrypt-dev libgnutls28-dev libglib2.0-dev uuid-dev libldap2-dev \
13+
libpcap-dev libgpgme-dev bison flex libksba-dev libsnmp-dev libgcrypt20-dev \
14+
redis-server redis-tools libhiredis-dev libmicrohttpd-dev gettext \
15+
doxygen xmltoman libfreeradius-dev apt-transport-https haveged \
16+
heimdal-dev libpopt-dev libxml2-dev libical-dev gnutls-bin xsltproc python3-lxml \
17+
python-impacket python-polib python3-setuptools python-defusedxml python3-paramiko python3-redis python3-dev \
18+
texlive-latex-base xmlstarlet nsis gnupg snmp smbclient \
19+
sqlfairy libsqlite3-dev libpq-dev fakeroot sshpass socat \
20+
--no-install-recommends --fix-missing -yq && \
21+
curl --silent --show-error https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
22+
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
23+
curl --silent --show-error https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
24+
echo "deb https://deb.nodesource.com/node_8.x stretch main" | tee /etc/apt/sources.list.d/nodesource.list && \
25+
apt update -y && \
26+
apt-get install nodejs yarn --no-install-recommends --fix-missing -yq && \
27+
apt autoremove -y && \
2628
rm -rf /var/lib/apt/lists/*
29+
2730

31+
#Build gvm-libs
32+
RUN cd /usr/src && \
33+
wget https://github.com/greenbone/gvm-libs/archive/v10.0.0.tar.gz && \
34+
tar -zxf v10.0.0.tar.gz && \
35+
cd gvm-libs-10.0.0 && \
36+
mkdir build && \
37+
cd build && \
38+
cmake .. && \
39+
make && \
40+
make install && \
41+
rm /usr/src/v10.0.0.tar.gz && \
42+
rm -rf /usr/src/gvm-libs-10.0.0
43+
44+
#Build openvas-smb
45+
RUN cd /usr/src && \
46+
wget https://github.com/greenbone/openvas-smb/archive/v1.0.5.tar.gz && \
47+
tar -zxf v1.0.5.tar.gz && \
48+
cd openvas-smb-1.0.5 && \
49+
mkdir build && \
50+
cd build && \
51+
cmake .. && \
52+
make && \
53+
make install && \
54+
rm /usr/src/v1.0.5.tar.gz && \
55+
rm -rf /usr/src/openvas-smb-1.0.5
56+
57+
#Build openvas
58+
RUN cd /usr/src && \
59+
wget https://github.com/greenbone/openvas/archive/v6.0.0.tar.gz && \
60+
tar -zxf v6.0.0.tar.gz && \
61+
cd openvas-6.0.0 && \
62+
mkdir build && \
63+
cd build && \
64+
cmake .. && \
65+
make && \
66+
make install && \
67+
rm /usr/src/v6.0.0.tar.gz && \
68+
rm -rf /usr/src/openvas-6.0.0
69+
70+
COPY ./config/openvassd.conf /usr/local/etc/openvas/openvassd.conf
71+
COPY ./config/redis.conf /etc/redis.conf
72+
73+
#Build gsa
74+
RUN cd /usr/src && \
75+
git clone -b gsa-8.0 https://github.com/greenbone/gsa.git && \
76+
cd gsa && \
77+
mkdir build && \
78+
cd build && \
79+
cmake .. && \
80+
make && \
81+
make install && \
82+
rm -rf /usr/src/gsa
83+
84+
#Build gvmd
85+
RUN cd /usr/src && \
86+
wget https://github.com/greenbone/gvmd/archive/v8.0.0.tar.gz && \
87+
tar -zxf v8.0.0.tar.gz && \
88+
cd gvmd-8.0.0 && \
89+
mkdir build && \
90+
cd build && \
91+
cmake .. && \
92+
make && \
93+
make install && \
94+
rm /usr/src/v8.0.0.tar.gz && \
95+
rm -rf /usr/src/gvmd-8.0.0
96+
97+
#Build ospd
98+
RUN cd /usr/src && \
99+
git clone https://github.com/greenbone/ospd.git && \
100+
cd ospd && \
101+
git checkout "36027d4c3a74c8bdec2cc49410b3fd0fa4b746c3" && \
102+
python3 setup.py install && \
103+
rm -rf /usr/src/ospd
104+
105+
#Build ospd-openvas
106+
RUN cd /usr/src && \
107+
git clone https://github.com/greenbone/ospd-openvas.git && \
108+
cd ospd-openvas && \
109+
git checkout "3f6d407b1b81c1b8b2d9482847270d74784a3928" && \
110+
python3 setup.py install && \
111+
rm -rf /usr/src/ospd-openvas
112+
113+
# ssmtp
114+
115+
#https://github.com/greenbone/gvm-libs/archive/v10.0.0.tar.gz
116+
#COPY config/redis.config /etc/redis/redis.config
117+
# COPY config/openvassd.conf /etc/openvas/openvassd.conf
118+
#COPY openvas-check-setup /openvas-check-setup
119+
#COPY start /start
120+
121+
COPY ./scripts/greenbone-*.sh /usr/local/bin/
122+
RUN chmod +x /usr/local/bin/greenbone-*.sh
123+
124+
COPY ./scripts/docker-entrypoint.sh /usr/local/bin
125+
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
126+
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
127+
128+
VOLUME ["/usr/local/var/lib/openvas", "/usr/local/var/lib/gvm"]
129+
EXPOSE 80 443 9390 9391 9392
130+
131+
132+
133+
134+
135+
136+
137+
138+
139+
140+
28141

29-
RUN mkdir -p /var/run/redis && \
30-
chmod +x /start && \
31-
chmod +x /openvas-check-setup && \
32-
sed -i 's/MANAGER_ADDRESS=127.0.0.1/MANAGER_ADDRESS=0.0.0.0/' /etc/default/openvas-manager && \
33-
sed -i 's/SCANNER_SOCKET=.*/SCANNER_SOCKET=\/var\/run\/openvassd.sock/' /etc/default/openvas-scanner && \
34-
sed -i 's/GSA_ADDRESS=127.0.0.1/GSA_ADDRESS=0.0.0.0/' /etc/default/greenbone-security-assistant && \
35-
sed -i 's/GSA_PORT=.*/GSA_PORT=80/' /etc/default/greenbone-security-assistant && \
36-
sed -i '/^\[ "$MANAGER_PORT" \]/aDAEMONOPTS="$DAEMONOPTS --http-only"' /etc/init.d/greenbone-security-assistant && \
37-
openvas-manage-certs -a > /dev/null && \
38-
greenbone-nvt-sync && \
39-
greenbone-scapdata-sync && \
40-
greenbone-certdata-sync && \
41-
BUILD=true /start && \
42-
service openvas-scanner stop && \
43-
service openvas-manager stop && \
44-
service greenbone-security-assistant stop && \
45-
service redis-server stop
142+
#RUN mkdir -p /var/run/redis && \
143+
#chmod +x /start && \
144+
#chmod +x /openvas-check-setup
145+
#&& \
146+
# sed -i 's/MANAGER_ADDRESS=127.0.0.1/MANAGER_ADDRESS=0.0.0.0/' /etc/default/openvas-manager && \
147+
# sed -i 's/SCANNER_SOCKET=.*/SCANNER_SOCKET=\/var\/run\/openvassd.sock/' /etc/default/openvas-scanner && \
148+
# sed -i 's/GSA_ADDRESS=127.0.0.1/GSA_ADDRESS=0.0.0.0/' /etc/default/greenbone-security-assistant && \
149+
# sed -i 's/GSA_PORT=.*/GSA_PORT=80/' /etc/default/greenbone-security-assistant && \
150+
# sed -i '/^\[ "$MANAGER_PORT" \]/aDAEMONOPTS="$DAEMONOPTS --http-only"' /etc/init.d/greenbone-security-assistant && \
151+
# openvas-manage-certs -a > /dev/null && \
152+
# greenbone-nvt-sync && \
153+
# greenbone-scapdata-sync && \
154+
# greenbone-certdata-sync && \
155+
# BUILD=true /start && \
156+
# service openvas-scanner stop && \
157+
# service openvas-manager stop && \
158+
# service greenbone-security-assistant stop && \
159+
# service redis-server stop
46160

47-
ENV BUILD=""
161+
#ENV BUILD=""
48162

49-
CMD /start
163+
#CMD /start
50164

51-
EXPOSE 80 9390
165+
#EXPOSE 80 9390

config/openvassd.conf

+5-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
kb_location=/var/run/redis/redis.sock
1+
# OpenVAS Security Scanner
2+
#
3+
# Empty lines and those starting with '#' are ignored.
4+
5+
db_address = /tmp/redis.sock

config/redis.config renamed to config/redis.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
unixsocket /var/run/redis/redis.sock
1+
unixsocket /tmp/redis.sock
22
unixsocketperm 700
33
timeout 0
44
#DB = 1 + (#of parallel tasks) * (#of parallel hosts)

0 commit comments

Comments
 (0)