Skip to content

Commit 64e6462

Browse files
authored
Add fips config to jvm.options for observabilitySRE (#17958)
* Add fips config to jvm.options for observabilitySRE In addition to setting `LS_JAVA_OPTS` we now include the fips config java options in the `/usr/share/logstash/config/jvm.options` file. This ensures that if consumers of the image overwrite `LS_JAVA_OPTS` the fips config is still respected from `jvm.options`. * *only* set jvm opts via jvm.options Stop setting LS_JAVA_OPTS in favor of jvm.options. * Use subshell to clean up file concat Codereview suggestion
1 parent fbb65ee commit 64e6462

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

docker/templates/Dockerfile.erb

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,16 @@ RUN mkdir -p /usr/share/logstash/config/security
115115
RUN cp /usr/share/logstash/x-pack/distributions/internal/observabilitySRE/config/security/java.security /usr/share/logstash/config/security/ && \
116116
chown --recursive logstash:root /usr/share/logstash/config/security/
117117

118+
# Copy additional JVM options and append to existing jvm.options
119+
RUN cp /usr/share/logstash/x-pack/distributions/internal/observabilitySRE/config/fips-jvm.options /tmp/fips-jvm.options && \
120+
chown logstash:root /tmp/fips-jvm.options
121+
# echos are for ensuring that the file ends with a newline
122+
RUN ( \
123+
echo ""; echo ""; \
124+
cat /tmp/fips-jvm.options \
125+
) >> /usr/share/logstash/config/jvm.options && \
126+
rm /tmp/fips-jvm.options
127+
118128
# list the classes provided by the fips BC
119129
RUN find /usr/share/logstash -name *.jar | grep lib
120130

@@ -132,17 +142,6 @@ RUN /usr/share/logstash/jdk/bin/keytool -importkeystore \
132142
-deststorepass changeit \
133143
-srcstorepass changeit \
134144
-noprompt
135-
136-
# Set Java security properties through LS_JAVA_OPTS
137-
ENV LS_JAVA_OPTS="\
138-
-Djava.security.properties=/usr/share/logstash/config/security/java.security \
139-
-Djavax.net.ssl.trustStore=/usr/share/logstash/config/security/cacerts.bcfks \
140-
-Djavax.net.ssl.trustStoreType=BCFKS \
141-
-Djavax.net.ssl.trustStoreProvider=BCFIPS \
142-
-Djavax.net.ssl.trustStorePassword=changeit \
143-
-Dssl.KeyManagerFactory.algorithm=PKIX \
144-
-Dssl.TrustManagerFactory.algorithm=PKIX \
145-
-Dorg.bouncycastle.fips.approved_only=true"
146145
<% end -%>
147146

148147
WORKDIR /usr/share/logstash
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# FIPS config to be appended to /usr/share/logstash/config/jvm.options
2+
-Djava.security.properties=/usr/share/logstash/config/security/java.security
3+
-Djavax.net.ssl.trustStore=/usr/share/logstash/config/security/cacerts.bcfks
4+
-Djavax.net.ssl.trustStoreType=BCFKS
5+
-Djavax.net.ssl.trustStoreProvider=BCFIPS
6+
-Djavax.net.ssl.trustStorePassword=changeit
7+
-Dssl.KeyManagerFactory.algorithm=PKIX
8+
-Dssl.TrustManagerFactory.algorithm=PKIX
9+
-Dorg.bouncycastle.fips.approved_only=true

0 commit comments

Comments
 (0)