-
Notifications
You must be signed in to change notification settings - Fork 9
/
Dockerfile
232 lines (181 loc) · 5.43 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
FROM debian:stretch
RUN apt-get update
RUN apt-get install git vim -y
############################################
# GVM-LIBS v11.0.1 #########################
############################################
# Dependencies for gvm-libs v11.0.1
RUN apt-get install \
cmake \
libglib2.0-dev \
libgnutls28-dev \
libgpgme11-dev \
libhiredis-dev \
libldap2-dev \
libxml2-dev \
libssh-gcrypt-dev \
pkg-config \
uuid-dev \
-y
RUN git clone https://github.com/greenbone/gvm-libs.git /gvm-libs
# Build gvm-libs v11.0.1 from sources
WORKDIR /gvm-libs
RUN git checkout v11.0.1
RUN mkdir build
WORKDIR /gvm-libs/build
RUN cmake ..
RUN make
RUN make install
RUN make rebuild_cache
############################################
# OPENVAS v7.0.1 ###########################
############################################
# Dependencies for openvas v7.0.1
RUN apt-get install \
bison \
gcc \
libgcrypt20-dev \
libglib2.0-dev \
libgnutls28-dev \
libgpgme-dev \
libksba-dev \
libpcap-dev \
libsnmp-dev \
libssh-gcrypt-dev \
pkg-config \
-y
RUN git clone https://github.com/greenbone/openvas.git /openvas
# Build openvas v7.0.1 from sources
WORKDIR /openvas
RUN git checkout v7.0.1
RUN mkdir build
WORKDIR /openvas/build
RUN cmake ..
RUN make
RUN make install
RUN make rebuild_cache
############################################
# OSPD v2.0.1 ##############################
############################################
# Dependencies for ospd v2.0.1
RUN apt-get install \
python3-defusedxml \
python3-lxml \
python3-paramiko \
python3-pip \
python3-setuptools \
-y
RUN git clone https://github.com/greenbone/ospd.git /ospd
# Build ospd v2.0.1 from source
WORKDIR /ospd
RUN git checkout v2.0.1
RUN python3 setup.py install
############################################
# OSPD-OPENVAS v1.0.1 ######################
############################################
# Dependencies for ospd-openvas v1.0.1
RUN apt-get install \
psutils \
redis-server \
-y
RUN git clone https://github.com/greenbone/ospd-openvas.git /ospd-openvas
# Build ospd-openvas v1.0.1 from sources
WORKDIR /ospd-openvas
RUN git checkout v1.0.1
RUN python3 setup.py install
############################################
# GVMD v9.0.1 ##############################
############################################
# Dependencies for gvmd v9.0.1
RUN apt-get install \
cmake \
gnutls-bin \
libical-dev \
libpq-dev \
postgresql \
postgresql-contrib \
postgresql-server-dev-all \
-y
RUN git clone https://github.com/greenbone/gvmd.git /gvmd
# Build gvmd v9.0.1 from sources
WORKDIR /gvmd
RUN git checkout v9.0.1
RUN mkdir build
WORKDIR /gvmd/build
RUN cmake ..
RUN make
RUN make install
RUN make rebuild_cache
############################################
# GSA v9.0.1 ###############################
############################################
# Dependencies for gsa v9.0.1
RUN apt-get install \
libmicrohttpd-dev \
pkg-config \
gnutls-bin \
libgcrypt20-dev \
libglib2.0-dev \
libxml2-dev \
#clang-format \
curl \
apt-transport-https \
-y
RUN git clone https://github.com/greenbone/gsa.git /gsa
RUN curl --silent --show-error https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
&& curl --silent --show-error https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
&& echo "deb https://deb.nodesource.com/node_8.x stretch main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install nodejs yarn -y
# Build gsa v9.0.1 from sources
WORKDIR /gsa
RUN git checkout v9.0.1
RUN mkdir build
WORKDIR /gsa/build
RUN cmake ..
RUN make
RUN make install
RUN make rebuild_cache
############################################
# CONFIGURE REDIS ##########################
############################################
WORKDIR /
# Configure Redis for Openvas
ADD redis-openvas.conf /etc/redis/redis.conf
RUN echo "db_address = /var/run/redis/redis.sock" > /usr/local/etc/openvas/openvas.conf
################################################
# CONFIGURE USER AND PERMISSIONS FOR NVT-SYNC ##
################################################
# Set permissions for NVT sync
RUN useradd -m openvas
RUN chown openvas:openvas /usr/local/var/lib/openvas/plugins
############################################
# CONFIGURE POSTGRES #######################
############################################
# # Setting up the PostgreSQL database
ADD setup_postgres.sh setup_postgres.sh
RUN ./setup_postgres.sh
# Make Postgres aware of the gvm libraries
ADD ld.so.conf.d/gvm.conf /etc/ld.so.conf.d/gvm.conf
RUN ldconfig
############################################
# CREATE CERTIFICATES ######################
############################################
# Create certificates
RUN gvm-manage-certs -a
############################################
# SETUP OPENVAS ############################
############################################
RUN apt-get install \
nmap \
-y
RUN rsync -ltvrP --delete --exclude private/ "rsync://feed.community.greenbone.net:/nvt-feed" "/usr/local/var/lib/openvas/plugins"
RUN echo $?
ADD setup_openvas.sh setup_openvas.sh
RUN ./setup_openvas.sh
############################################
# INSTALL BOOT SCRIPT ######################
############################################
ADD boot.sh /boot.sh
CMD /boot.sh