From a2abf6ea18d512d367277bacaf7476754dc0eff5 Mon Sep 17 00:00:00 2001 From: MichaelMorris Date: Tue, 10 Mar 2020 12:37:48 +0000 Subject: Run pods as non-root user Summary of changes: sdc-cassandra-init Added user sdc (in base image base_sdc-cqlsh - https://gerrit.onap.org/r/103436) Run entrypoint as user sdc Moved relevant files from /root/ to /home/sdc/ sdc-backend-init Added user sdc (in base image base_sdc-python - https://gerrit.onap.org/r/103436) Run entrypoint as user sdc Moved relevant files from /root/ to /home/sdc/ sdc-backend Run entrypoint as user jetty Moved relevant files from /root/ to /var/lib/jetty/ Moved cadi & cert files from /opt/app/jetty to /var/lib/jetty/ Moved ready_probe from /var/lib/read-probe.sh to /var/lib/jetty/read-probe.sh sdc-frontend Run entrypoint as user jetty Moved relevant files from /root/ to /var/lib/jetty/ Moved ready_probe from /var/lib/read-probe.sh to /var/lib/jetty/read-probe.sh sdc-onboard-backend-docker Run entrypoint as user jetty Moved relevant files from /root/ to /var/lib/jetty/ Moved ready_probe from /var/lib/read-probe.sh to /var/lib/jetty/read-probe.sh sdc-onboard-db-init-docker Run entrypoint as user sdc Added user sdc (in base image base_sdc-cqlsh - https://gerrit.onap.org/r/103436) Moved relevant files from /root/ to /home/sdc/ Signed-off-by: MichaelMorris Issue-ID: SDC-2798 Change-Id: I85be320a4a5e1cc5aeebbb98c4484d5d6fd06dfc --- catalog-be/sdc-backend-init/Dockerfile | 12 +++--- catalog-be/sdc-backend-init/startup.sh | 2 +- catalog-be/sdc-backend/Dockerfile | 15 +++---- .../sdc-catalog-be/files/default/cadi.properties | 4 +- .../files/default/cadi_truststore.jks | 4 +- .../cookbooks/sdc-catalog-be/files/default/keyfile | 4 +- .../sdc-catalog-be/recipes/BE_10_setup_cadi.rb | 48 ---------------------- .../recipes/BE_9_prepareProbeFile.rb | 4 +- .../BE-distribution-engine-configuration.yaml.erb | 2 +- catalog-be/sdc-backend/startup.sh | 2 +- catalog-be/src/main/resources/cadi.properties | 6 +-- .../src/main/resources/config/configuration.yaml | 12 +++--- .../config/distribution-engine-configuration.yaml | 2 +- 13 files changed, 33 insertions(+), 84 deletions(-) (limited to 'catalog-be') diff --git a/catalog-be/sdc-backend-init/Dockerfile b/catalog-be/sdc-backend-init/Dockerfile index 8b1a2e60ea..cb26610859 100644 --- a/catalog-be/sdc-backend-init/Dockerfile +++ b/catalog-be/sdc-backend-init/Dockerfile @@ -1,11 +1,11 @@ -FROM onap/base_sdc-python:1.4.1 +FROM onap/base_sdc-python:1.6.0-SNAPSHOT-latest -COPY chef-solo /root/chef-solo/ +COPY --chown=sdc:sdc chef-solo /home/sdc/chef-solo/ -COPY chef-repo/cookbooks /root/chef-solo/cookbooks/ +COPY --chown=sdc:sdc chef-repo/cookbooks /home/sdc/chef-solo/cookbooks/ -COPY startup.sh /root/ +COPY --chown=sdc:sdc startup.sh /home/sdc/ -RUN chmod 770 /root/startup.sh +RUN chmod 770 /home/sdc/startup.sh -ENTRYPOINT [ "/root/startup.sh" ] +ENTRYPOINT [ "/home/sdc/startup.sh" ] diff --git a/catalog-be/sdc-backend-init/startup.sh b/catalog-be/sdc-backend-init/startup.sh index 0a96e49723..a379677bfb 100644 --- a/catalog-be/sdc-backend-init/startup.sh +++ b/catalog-be/sdc-backend-init/startup.sh @@ -1,6 +1,6 @@ #!/bin/sh -cd /root/chef-solo || exit $? +cd /home/sdc/chef-solo || exit $? chef-solo -c solo.rb -E "${ENVNAME}" rc=$? if [ $rc != 0 ]; then exit $rc; fi diff --git a/catalog-be/sdc-backend/Dockerfile b/catalog-be/sdc-backend/Dockerfile index 104bbd9274..833008dfac 100644 --- a/catalog-be/sdc-backend/Dockerfile +++ b/catalog-be/sdc-backend/Dockerfile @@ -1,16 +1,13 @@ FROM onap/base_sdc-jetty:1.6.0 - -COPY chef-solo /root/chef-solo/ - -COPY chef-repo/cookbooks/. /root/chef-solo/cookbooks/ + +COPY --chown=jetty:jetty chef-solo ${JETTY_BASE}/chef-solo/ +COPY --chown=jetty:jetty chef-repo/cookbooks/. ${JETTY_BASE}/chef-solo/cookbooks/ ADD --chown=jetty:jetty catalog-be-*.war ${JETTY_BASE}/webappwar/ ADD --chown=jetty:jetty context.xml ${JETTY_BASE}/webapps/ -USER root - -COPY startup.sh /root/ +COPY --chown=jetty:jetty startup.sh ${JETTY_BASE}/ -RUN chmod 770 /root/startup.sh +RUN chmod 770 ${JETTY_BASE}/startup.sh -ENTRYPOINT [ "/root/startup.sh" ] +ENTRYPOINT ${JETTY_BASE}/startup.sh diff --git a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties index 2d234c367f..1011ba344d 100644 --- a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties +++ b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties @@ -1,4 +1,4 @@ ############################################################# # This file should be replaced with jetty cadi.properties: # -# /opt/app/jetty/base/be/etc/cadi.properties # -############################################################# \ No newline at end of file +# /var/lib/jetty/base/be/etc/cadi.properties # +############################################################# diff --git a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks index 6720910c1d..0835ef4542 100644 --- a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks +++ b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks @@ -1,4 +1,4 @@ ################################################################## ## This file should be replaced with jetty cadi_truststore.jks: # -## /opt/app/jetty/base/be/etc/cadi_truststore.jks # -################################################################## \ No newline at end of file +## /var/lib/jetty/base/be/etc/cadi_truststore.jks # +################################################################## diff --git a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile index 41876b7c09..43d20d4c05 100644 --- a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile +++ b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile @@ -1,4 +1,4 @@ ############################################################# # This file should be replaced with jetty keyfile: # -# /opt/app/jetty/base/be/etc/keyfile # -############################################################# \ No newline at end of file +# /var/lib/jetty/base/be/etc/keyfile # +############################################################# diff --git a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb index b06f8a5342..3a79cfc874 100644 --- a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb +++ b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb @@ -35,51 +35,3 @@ template "#{jetty_base}/etc/cadi.properties" do mode "0755" end - -#Workaround due to hardcode definition in cata,log-be web.xml file -directory "/opt/app/jetty" do - path "/opt/app/jetty" - owner 'jetty' - group 'jetty' - mode '0755' - recursive true - action :create -end - -directory "/opt/app/jetty/base/" do - path "/opt/app/jetty/base/" - owner 'jetty' - group 'jetty' - mode '0755' - recursive true - action :create -end - - -directory "/opt/app/jetty/base/be/" do - path "/opt/app/jetty/base/be/" - owner 'jetty' - group 'jetty' - mode '0755' - recursive true - action :create -end - -directory "/opt/app/jetty/base/be/etc" do - path "/opt/app/jetty/base/be/etc" - owner 'jetty' - group 'jetty' - mode '0755' - recursive true - action :create -end - -#Workaround due to hardcode definition in catalog-be web.xml file -template "/opt/app/jetty/base/be/etc/cadi.properties" do - path "/opt/app/jetty/base/be/etc/cadi.properties" - source "cadi.properties.erb" - owner "jetty" - group "jetty" - mode "0755" -end - diff --git a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb index 8d42c26acc..81e1a855f4 100644 --- a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb +++ b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb @@ -6,7 +6,7 @@ else port = "#{node['BE'][:http_port]}" end -template "/var/lib/ready-probe.sh" do +template "/var/lib/jetty/ready-probe.sh" do source "ready-probe.sh.erb" sensitive true mode 0755 @@ -14,4 +14,4 @@ template "/var/lib/ready-probe.sh" do :protocol => protocol, :port => port }) -end \ No newline at end of file +end diff --git a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb index a9df5c305e..0fa6936f74 100644 --- a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb +++ b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb @@ -58,7 +58,7 @@ aaiConfig: readTimeoutMs: 5000 connectTimeoutMs: 1000 clientCertificate: - keyStore: /opt/app/jetty/base/be/etc/non-prod.jks + keyStore: /var/lib/jetty/base/be/etc/non-prod.jks keyStorePassword: hmXYcznAljMSisdy8zgcag== headers: X-FromAppId: asdc diff --git a/catalog-be/sdc-backend/startup.sh b/catalog-be/sdc-backend/startup.sh index e41aff40f0..abb307490f 100644 --- a/catalog-be/sdc-backend/startup.sh +++ b/catalog-be/sdc-backend/startup.sh @@ -11,7 +11,7 @@ export JAVA_OPTIONS=" -Dconfig.home=${JETTY_BASE}/config \ -Djetty.console-capture.dir=${JETTY_BASE}/logs \ ${JAVA_OPTIONS} " -cd /root/chef-solo +cd /var/lib/jetty/chef-solo chef-solo -c solo.rb -E ${ENVNAME} status=$? diff --git a/catalog-be/src/main/resources/cadi.properties b/catalog-be/src/main/resources/cadi.properties index 0d6aee1d99..bbce36124d 100644 --- a/catalog-be/src/main/resources/cadi.properties +++ b/catalog-be/src/main/resources/cadi.properties @@ -13,7 +13,7 @@ hostname=onapportal csp_domain=PROD # Add Absolute path to Keyfile -cadi_keyfile=/opt/app/jetty/base/be/etc/keyfile +cadi_keyfile=/var/lib/jetty/opt/be/etc/keyfile # This is required to accept Certificate Authentication from Certman certificates. @@ -31,7 +31,7 @@ cadi_loglevel=DEBUG # Default TrustStore - REQUIRED for changing PROTOCOL Defaults for DME2 # Read https://wiki.web.att.com/pages/viewpage.action?pageId=574623569#URGENT:SolvingSSL2-3/TLSv1removalissues-Up-to-dateTruststore # Add Absolute path to truststore2018.jks -cadi_truststore=/opt/app/jetty/base/be/etc/cadi_truststore.jks +cadi_truststore=/var/lib/jetty/base/be/etc/cadi_truststore.jks # Note: This is the ONLY password that doesn't have to be encrypted. All Java's TrustStores are this passcode by default, because they are public certs cadi_truststore_password=changeit @@ -52,4 +52,4 @@ cadi_latitude=32.780140 cadi_longitude=-96.800451 aaf_root_ns=com.att.aaf -aaf_api_version=2.0 \ No newline at end of file +aaf_api_version=2.0 diff --git a/catalog-be/src/main/resources/config/configuration.yaml b/catalog-be/src/main/resources/config/configuration.yaml index 482bea1906..8dfe646629 100644 --- a/catalog-be/src/main/resources/config/configuration.yaml +++ b/catalog-be/src/main/resources/config/configuration.yaml @@ -111,7 +111,7 @@ cassandraConfig: username: asdc_user password: Aa1234%^! ssl: true - truststorePath : /opt/app/jetty/base/be/config/.truststore + truststorePath : /var/lib/jetty/opt/base/be/config/.truststore truststorePassword : Aa123456 keySpaces: - { name: dox, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['DC-sdc-iltlv650', '1']} @@ -816,7 +816,7 @@ dmaapConsumerConfiguration: password: XyCUPhFx9u70aklYGo6OiA== aftDme2SslEnable: true aftDme2ClientIgnoreSslConfig: false - aftDme2ClientKeystore: /opt/app/jetty/base/be/config/.truststore + aftDme2ClientKeystore: /var/lib/jetty/opt/base/be/config/.truststore aftDme2ClientKeystorePassword: XyCUPhFx9u70aklYGo6OiA== aftDme2ClientSslCertAlias: certman @@ -850,7 +850,7 @@ dmaapProducerConfiguration: password: XyCUPhFx9u70aklYGo6OiA== aftDme2SslEnable: true aftDme2ClientIgnoreSslConfig: false - aftDme2ClientKeystore: /opt/app/jetty/base/be/config/.truststore + aftDme2ClientKeystore: /var/lib/jetty/opt/jetty/base/be/config/.truststore aftDme2ClientKeystorePassword: XyCUPhFx9u70aklYGo6OiA== aftDme2ClientSslCertAlias: certman @@ -901,9 +901,9 @@ aafAuthNeeded: false cadiFilterParams: hostname: 192.168.33.10 csp_domain: PROD - cadi_keyfile: /opt/app/jetty/base/be/config/catalog-be/keyfile + cadi_keyfile: /var/lib/jetty/opt/base/be/config/catalog-be/keyfile cadi_loglevel: DEBUG - cadi_truststore: /opt/app/jetty/base/be/config/.truststore + cadi_truststore: /var/lib/jetty/opt/base/be/config/.truststore cadi_truststore_password: enc:XyCUPhFx9u70aklYGo6OiA== #aaf_url: https://aaf.onap.org/service=? aaf_id: aaf@sdc.onap.org @@ -918,4 +918,4 @@ cadiFilterParams: # This configuration entry lists all node type names prefix that shall be allowed on SDC. definedResourceNamespace: - - org.openecomp.resource. \ No newline at end of file + - org.openecomp.resource. diff --git a/catalog-be/src/main/resources/config/distribution-engine-configuration.yaml b/catalog-be/src/main/resources/config/distribution-engine-configuration.yaml index 1817ecbb2b..65a41e448e 100644 --- a/catalog-be/src/main/resources/config/distribution-engine-configuration.yaml +++ b/catalog-be/src/main/resources/config/distribution-engine-configuration.yaml @@ -61,7 +61,7 @@ aaiConfig: readTimeoutMs: 5000 connectTimeoutMs: 1000 clientCertificate: - keyStore: /opt/app/jetty/base/be/etc/non-prod.jks + keyStore: /var/lib/jetty/opt/base/be/etc/non-prod.jks keyStorePassword: hmXYcznAljMSisdy8zgcag== headers: X-FromAppId: asdc -- cgit 1.2.3-korg