Uploaded image for project: 'OpenShift Logging'
  1. OpenShift Logging
  2. LOG-3286

LokiStack doesn't reconcile to use the changed tlsSecurityProfile set in the global config.

    XMLWordPrintable

Details

    • Log Storage - Sprint 227, Log Storage - Sprint 228

    Description

      Description of problem:

      Lokistack doesn't reconcile to use the changed tlsSecurityProfile set in the global config. For example if we set custom tlsSecurityProfile and create a LokiStack instance, LokiStack uses the custom profile. When we update the tlsSecurityProfile to use another profile old, LokiStack continues to use the custom profile.

      Version-Release number of selected component (if applicable):

      cluster-logging.v5.6.0

      loki-operator.v5.6.0

      Server Version: 4.11.0-0.nightly-2022-11-10-202051

      How reproducible:

      Always

      Steps to Reproduce:

      *Install the ClusterLogging and LokiStack 5.6.0 operators.

      *Set custom tlsSecurityProfile.

      oc patch apiserver/cluster -p '{"spec":{"tlsSecurityProfile":{"custom":{"ciphers":["ECDHE-ECDSA-CHACHA20-POLY1305","ECDHE-RSA-CHACHA20-POLY1305","ECDHE-RSA-AES128-GCM-SHA256","ECDHE-ECDSA-AES128-GCM-SHA256"],"minTLSVersion":"VersionTLS12"},"type":"Custom"}}}' --type=merge
      
      apiserver.config.openshift.io/cluster patched 

      *Create a LokiStack instance.

      *Check LokiStack compoents to see if the custom profile is used.

      $ oc describe pod lokistack-instance-gateway-f9f4f5966-hfr6z | grep -iE "tls.cipher|tls.min-version|opa:|gateway:"
        gateway:
            --tls.min-version=VersionTLS12
            --tls.min-version=VersionTLS12
            --tls.cipher-suites=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
        opa:
            --tls.min-version=VersionTLS12
            --tls.cipher-suites=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 

      *Check other non-logging services complying with the tlsSecurityProfile.

      oc describe etcd cluster
      
      Spec:
        Log Level:         Normal
        Management State:  Managed
        Observed Config:
          Control Plane:
            Replicas:  3
          Serving Info:
            Cipher Suites:
              TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
              TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
              TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
              TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
            Min TLS Version:           VersionTLS12
        Operator Log Level:            Normal 

      *Change the tlsSecurityProfile to old.

      oc get apiserver/cluster -o yaml
      
      spec:
        audit:
          profile: Default
        tlsSecurityProfile:
          old: {}
          type: Old
      

      *Wait for sometime and check LokiStack components.

      $ oc describe pod lokistack-instance-gateway-f9f4f5966-hfr6z | grep -iE "tls.cipher|tls.min-version|opa:|gateway:"
        gateway:
            --tls.min-version=VersionTLS12
            --tls.min-version=VersionTLS12
            --tls.cipher-suites=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
        opa:
            --tls.min-version=VersionTLS12
            --tls.cipher-suites=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 

      *Check non-logging services.

      oc describe etcd
      
       Spec:
        Log Level:         Normal
        Management State:  Managed
        Observed Config:
          Control Plane:
            Replicas:  3
          Serving Info:
            Cipher Suites:
              TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
              TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
              TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
              TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
              TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
              TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
              TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
              TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
              TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
              TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
              TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
              TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
              TLS_RSA_WITH_AES_128_GCM_SHA256
              TLS_RSA_WITH_AES_256_GCM_SHA384
              TLS_RSA_WITH_AES_128_CBC_SHA256
              TLS_RSA_WITH_AES_128_CBC_SHA
              TLS_RSA_WITH_AES_256_CBC_SHA
              TLS_RSA_WITH_3DES_EDE_CBC_SHA
            Min TLS Version:           VersionTLS10

      Expected results:

      LokiStack should reconcile to use the changed tlsSecurityProfile defined in the global apiserver/cluster config.

      Attachments

        Activity

          People

            ptsiraki@redhat.com Periklis Tsirakidis
            rhn-support-ikanse Ishwar Kanse
            Ishwar Kanse Ishwar Kanse
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: