From e09dd60bbc285428dc709ecacc154d1bddf6b4f7 Mon Sep 17 00:00:00 2001 From: Abu Sayed <82162518+sayedppqq@users.noreply.github.com> Date: Tue, 1 Oct 2024 10:51:04 +0600 Subject: [PATCH] Add kmip blog (#473) Signed-off-by: sayedppqq --- .../AppscodeLicense.png | Bin 0 -> 53645 bytes .../hero.jpg | Bin 0 -> 56426 bytes .../index.md | 402 ++++++++++++++++++ 3 files changed, 402 insertions(+) create mode 100644 content/post/deploy-mongodb-with-vault-kmip-encryption/AppscodeLicense.png create mode 100644 content/post/deploy-mongodb-with-vault-kmip-encryption/hero.jpg create mode 100644 content/post/deploy-mongodb-with-vault-kmip-encryption/index.md diff --git a/content/post/deploy-mongodb-with-vault-kmip-encryption/AppscodeLicense.png b/content/post/deploy-mongodb-with-vault-kmip-encryption/AppscodeLicense.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5e8fe834c2334e4969d907a7a4437fefe0bd92 GIT binary patch literal 53645 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

*9VaQfuiFkPdq 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 literal 0 HcmV?d00001 diff --git a/content/post/deploy-mongodb-with-vault-kmip-encryption/hero.jpg b/content/post/deploy-mongodb-with-vault-kmip-encryption/hero.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cfa669f063cdf281c14f7a920f160a6a33592739 GIT binary patch literal 56426 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 literal 0 HcmV?d00001 diff --git a/content/post/deploy-mongodb-with-vault-kmip-encryption/index.md b/content/post/deploy-mongodb-with-vault-kmip-encryption/index.md new file mode 100644 index 00000000..1c019a1d --- /dev/null +++ b/content/post/deploy-mongodb-with-vault-kmip-encryption/index.md @@ -0,0 +1,402 @@ +--- +title: Deploy MongoDB With HashiCorp Vault KMIP Encryption +date: "2024-03-11" +weight: 14 +authors: +- Abu Sayed +tags: +- encryption +- hashicorp +- kmip +- kubedb +- kubernetes +- mongodb +- vault +--- + +## Overview + +KubeDB is the Kubernetes Native Database Management Solution which simplifies and automates routine database tasks such as Provisioning, Monitoring, Upgrading, Patching, Scaling, Volume Expansion, Backup, Recovery, Failure detection, and Repair for various popular databases on private and public clouds. The databases supported by KubeDB include MongoDB, Elasticsearch, MySQL, MariaDB, Redis, PostgreSQL, FerretDB, Percona XtraDB, and Memcached. Additionally, KubeDB also supports ProxySQL, PgBouncer and the streaming platform Kafka. You can find the guides to all the supported databases in [KubeDB](https://kubedb.com/). + +### Data Encryption at Rest + +MongoDB uses [data encryption at rest](https://www.mongodb.com/docs/manual/tutorial/configure-encryption/) to protect sensitive data from unauthorized access and meet regulatory compliance. Encryption safeguards data at rest and in transit, reducing the risk of breaches. + +[KMIP](https://en.wikipedia.org/wiki/Key_Management_Interoperability_Protocol) is chosen for its standardized approach to encryption key management, allowing secure generation, storage, and rotation of keys across various platforms. +It ensures interoperability and strengthens overall data security. + +[HashiCorp Vault KMIP secret engine](https://developer.hashicorp.com/vault/docs/secrets/kmip) is a powerful solution for managing encryption keys. It offers automated key rotation, fine-grained access controls, and audit logging, making it a scalable and secure choice for MongoDB's encryption needs. + +In this tutorial we will show how to configure KubeDB managed MongoDB with [HashiCorp Vault KMIP secret engine](https://developer.hashicorp.com/vault/docs/secrets/kmip) for encryption. + +## Before You Begin + +First We need to Install KubeDB in our cluster. To Install KubeDB, follow these steps: + +### Get Cluster ID + +We need the cluster ID to get the KubeDB License. To get cluster ID, we can run the following command: + +```bash +$ kubectl get ns kube-system -o jsonpath='{.metadata.uid}' +8e336615-0dbb-4ae8-b72f-2e7ec34c399d +``` + +### Get License + +Go to [Appscode License Server](https://license-issuer.appscode.com/) to get the license.txt file. For this tutorial we will use KubeDB. + +![License Server](AppscodeLicense.png) + +### Install KubeDB + +We will use helm to install KubeDB. Please install helm [here](https://helm.sh/docs/intro/install/) if it is not already installed. +Now, let's install `KubeDB`. + +```bash +$ helm search repo appscode/kubedb +NAME CHART VERSION APP VERSION DESCRIPTION +appscode/kubedb v2024.8.21 v2024.8.21 KubeDB by AppsCode - Production ready databases... +appscode/kubedb-autoscaler v0.32.0 v0.32.0 KubeDB Autoscaler by AppsCode - Autoscale KubeD... +appscode/kubedb-catalog v2024.8.21 v2024.8.21 KubeDB Catalog by AppsCode - Catalog for databa... +appscode/kubedb-community v0.24.2 v0.24.2 KubeDB Community by AppsCode - Community featur... +appscode/kubedb-crd-manager v0.2.0 v0.2.0 KubeDB CRD Manager by AppsCode +appscode/kubedb-crds v2024.8.21 v2024.8.21 KubeDB Custom Resource Definitions +appscode/kubedb-dashboard v0.23.0 v0.23.0 KubeDB Dashboard by AppsCode +appscode/kubedb-enterprise v0.11.2 v0.11.2 KubeDB Enterprise by AppsCode - Enterprise feat... +appscode/kubedb-grafana-dashboards v2024.8.21 v2024.8.21 A Helm chart for kubedb-grafana-dashboards by A... +appscode/kubedb-kubestash-catalog v2024.8.21 v2024.8.21 KubeStash Catalog by AppsCode - Catalog of Kube... +appscode/kubedb-metrics v2024.8.21 v2024.8.21 KubeDB State Metrics +appscode/kubedb-one v2023.12.28 v2023.12.28 KubeDB and Stash by AppsCode - Production ready... +appscode/kubedb-ops-manager v0.34.0 v0.34.1 KubeDB Ops Manager by AppsCode - Enterprise fea... +appscode/kubedb-opscenter v2024.8.21 v2024.8.21 KubeDB Opscenter by AppsCode +appscode/kubedb-provider-aws v2024.8.21 v0.9.0 A Helm chart for KubeDB AWS Provider for Crossp... +appscode/kubedb-provider-azure v2024.8.21 v0.9.0 A Helm chart for KubeDB Azure Provider for Cros... +appscode/kubedb-provider-gcp v2024.8.21 v0.9.0 A Helm chart for KubeDB GCP Provider for Crossp... +appscode/kubedb-provisioner v0.47.0 v0.47.1 KubeDB Provisioner by AppsCode - Community feat... +appscode/kubedb-schema-manager v0.23.0 v0.23.0 KubeDB Schema Manager by AppsCode +appscode/kubedb-ui v2024.8.21 0.7.6 A Helm chart for Kubernetes +appscode/kubedb-ui-presets v2024.8.21 v2024.8.21 KubeDB UI Presets +appscode/kubedb-ui-server v2021.12.21 v2021.12.21 A Helm chart for kubedb-ui-server by AppsCode +appscode/kubedb-webhook-server v0.23.0 v0.23.1 KubeDB Webhook Server by AppsCode + + +$ helm install kubedb oci://ghcr.io/appscode-charts/kubedb \ + --version v2024.8.21 \ + --namespace kubedb --create-namespace \ + --set-file global.license=/path/to/the/license.txt \ + --wait --burst-limit=10000 --debug +``` + +Let's verify the installation: + +```bash +$ kubectl get pods --all-namespaces -l "app.kubernetes.io/instance=kubedb" +NAMESPACE NAME READY STATUS RESTARTS AGE +kubedb kubedb-kubedb-autoscaler-77bc658b47-8rsw5 1/1 Running 0 2m6s +kubedb kubedb-kubedb-ops-manager-564cd7ddd5-59c4h 1/1 Running 0 2m6s +kubedb kubedb-kubedb-provisioner-5c4687f696-zn2tc 1/1 Running 0 2m6s +kubedb kubedb-kubedb-webhook-server-7ccfd65f9d-ljqxp 1/1 Running 0 2m6s +kubedb kubedb-sidekick-8684467889-2ck7q 1/1 Running 0 2m6s +``` + +We can list the CRD Groups that have been registered by the operator by running the following command: + +```bash +$ kubectl get crd -l app.kubernetes.io/name=kubedb +NAME CREATED AT +cassandraversions.catalog.kubedb.com 2024-09-26T10:03:30Z +clickhouseversions.catalog.kubedb.com 2024-09-26T10:03:30Z +druidversions.catalog.kubedb.com 2024-09-26T10:03:30Z +elasticsearchversions.catalog.kubedb.com 2024-09-26T10:03:30Z +etcdversions.catalog.kubedb.com 2024-09-26T10:03:30Z +ferretdbversions.catalog.kubedb.com 2024-09-26T10:03:30Z +kafkaconnectorversions.catalog.kubedb.com 2024-09-26T10:03:30Z +kafkaversions.catalog.kubedb.com 2024-09-26T10:03:30Z +mariadbversions.catalog.kubedb.com 2024-09-26T10:03:30Z +memcachedversions.catalog.kubedb.com 2024-09-26T10:03:30Z +mongodbarchivers.archiver.kubedb.com 2024-09-26T09:49:41Z +mongodbautoscalers.autoscaling.kubedb.com 2024-09-26T09:49:41Z +mongodbdatabases.schema.kubedb.com 2024-09-26T09:49:41Z +mongodbopsrequests.ops.kubedb.com 2024-09-26T09:49:41Z +mongodbs.kubedb.com 2024-09-26T09:49:41Z +mongodbversions.catalog.kubedb.com 2024-09-26T09:49:41Z +mssqlserverarchivers.archiver.kubedb.com 2024-09-26T09:49:45Z +mssqlserverautoscalers.autoscaling.kubedb.com 2024-09-26T09:49:45Z +mssqlserveropsrequests.ops.kubedb.com 2024-09-26T09:49:45Z +mssqlservers.kubedb.com 2024-09-26T09:49:44Z +mssqlserverversions.catalog.kubedb.com 2024-09-26T09:49:44Z +mysqlversions.catalog.kubedb.com 2024-09-26T10:03:30Z +perconaxtradbversions.catalog.kubedb.com 2024-09-26T10:03:30Z +pgbouncerversions.catalog.kubedb.com 2024-09-26T10:03:30Z +pgpoolversions.catalog.kubedb.com 2024-09-26T10:03:31Z +postgresarchivers.archiver.kubedb.com 2024-09-26T09:49:48Z +postgresautoscalers.autoscaling.kubedb.com 2024-09-26T09:49:48Z +postgresdatabases.schema.kubedb.com 2024-09-26T09:49:48Z +postgreses.kubedb.com 2024-09-26T09:49:48Z +postgresopsrequests.ops.kubedb.com 2024-09-26T09:49:48Z +postgresversions.catalog.kubedb.com 2024-09-26T09:49:48Z +proxysqlversions.catalog.kubedb.com 2024-09-26T10:03:31Z +publishers.postgres.kubedb.com 2024-09-26T09:49:48Z +rabbitmqversions.catalog.kubedb.com 2024-09-26T10:03:31Z +redisversions.catalog.kubedb.com 2024-09-26T10:03:31Z +schemaregistryversions.catalog.kubedb.com 2024-09-26T10:03:31Z +singlestoreversions.catalog.kubedb.com 2024-09-26T10:03:31Z +solrversions.catalog.kubedb.com 2024-09-26T10:03:31Z +subscribers.postgres.kubedb.com 2024-09-26T09:49:48Z +zookeeperversions.catalog.kubedb.com 2024-09-26T10:03:31Z + +``` + +Now Install HashiCorp Vault CLI. You can follow this procedure [here](https://developer.hashicorp.com/vault/install) + +To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. Run the following command to prepare your cluster for this tutorial: + +```bash +$ kubectl create ns demo +namespace/demo created +``` +## Steps to Deploy Encrypted MongoDB + +### Setup Hashicorp Vault KMIP secret engine + +User can setup Vault KMIP secret engine with [Vault Enterprise](https://developer.hashicorp.com/vault/tutorials/adp/kmip-engine?variants=vault-deploy%3Aenterprise) or [HCP Vault Dedicated](https://developer.hashicorp.com/vault/tutorials/adp/kmip-engine?variants=vault-deploy%3Ahcp). For this demo we will use [Hashicorp Cloud Provider(HCP)](https://portal.cloud.hashicorp.com/) Vault Dedicated. + +So First we created a `Vault Plus` cluster in HCP. Then we need to configure Vault KMIP according to [this](https://developer.hashicorp.com/vault/tutorials/adp/kmip-engine?variants=vault-deploy%3Ahcp) documentation step by step. + +```bash +# setup vault environment +$ export VAULT_ADDR= +$ export VAULT_TOKEN= +$ export VAULT_NAMESPACE=admin + +# configure kmip secret engine +$ vault secrets enable kmip +Success! Enabled the kmip secrets engine at: kmip/ + +$ vault write kmip/config \ + listen_addrs=0.0.0.0:5696 \ + server_hostnames=$(echo ${VAULT_ADDR:8} | rev | cut -c6- | rev) +Success! Data written to: kmip/config + +# create scope +$ vault write -f kmip/scope/finance +Success! Data written to: kmip/scope/finance + +# create role +$ vault write kmip/scope/finance/role/accounting operation_all=true +Success! Data written to: kmip/scope/finance/role/accounting + +# store vault-ca.pem +$ vault read kmip/ca -format=json | jq -r '.data | .ca_pem' >> vault-ca.pem + +# generate and store client.pem +$ vault write -format=json \ + kmip/scope/finance/role/accounting/credential/generate \ + format=pem > credential.json + +$ jq -r .data.certificate < credential.json > cert.pem + +$ jq -r .data.private_key < credential.json > key.pem + +$ cat cert.pem key.pem > client.pem +``` +We will use this `client.pem` and `vault-ca.pem` files to configure KMIP in MongoDB. + +### Create MongoDB configuration with KMIP + +Now we need to make a `mongod.conf` file to use it as configuration folder for our `MongoDB`. + +```bash +$ cat mongod.conf +security: + enableEncryption: true + kmip: + serverName: vault-cluster-doc-public-vault-a33bb761.37131dd1.z1.hashicorp.cloud + port: 5696 + clientCertificateFile: /etc/certs/client.pem + serverCAFile: /etc/certs/ca.pem +``` + +Here, +- `serverName` is the public address of our HCP Vault Plus cluster without port +- `port` is listen address of KMIP secret engine +- `clientCertificateFile` is path to the client pem file to make connection +- `serverCAFile` is path to the ca pem file to verify server. + +To set up configuration in `mongod.conf` file for KMIP encryption, you can look into [MongoDB official documentation](https://www.mongodb.com/docs/manual/tutorial/configure-encryption/#key-manager). + +Here `/etc/certs/client.pem` and `/etc/certs/ca.pem` will be mounted by secret in KubeDB MongoDB main `mongodb` container. + +Now, create the secret with this configuration file. + +```bash +$ kubectl create secret generic -n demo mg-configuration --from-file=./mongod.conf +secret/mg-configuration created +``` + +Verify the secret has the configuration file. +```bash +$ kubectl get secret -n demo mg-configuration -o yaml +apiVersion: v1 +data: + mongod.conf: c2VjdXJpdHk6CiAgZW5hYmxlRW5jcnlwdGlvbjogdHJ1ZQogIGttaXA6CiAgICBzZXJ2ZXJOYW1lOiB2YXVsdC1jbHVzdGVyLWRvYy1wdWJsaWMtdmF1bHQtYTMzYmI3NjEuMzcxMzFkZDEuejEuaGFzaGljb3JwLmNsb3VkCiAgICBwb3J0OiA1Njk2CiAgICBjbGllbnRDZXJ0aWZpY2F0ZUZpbGU6IC9ldGMvY2VydHMvY2xpZW50LnBlbQogICAgc2VydmVyQ0FGaWxlOiAvZXRjL2NlcnRzL2NhLnBlbQ== +kind: Secret +metadata: + creationTimestamp: "2024-09-24T09:10:55Z" + name: mg-configuration + namespace: demo + resourceVersion: "322831" + uid: 005f0cac-6bbb-4fb6-a728-87b0ca55785a +type: Opaque +``` + +### Create MongoDB + +Before creating `MongoDB`, we need to create a secret with `client.pem` and `vault-ca.pem` to use as volume for our `MongoDB` +```bash +$ kubectl create secret generic vault-tls-secret -n demo \ + --from-file=client.pem=client.pem \ + --from-file=ca.pem=vault-ca.pem +secret/vault-tls-secret created +``` + +Now lets create KubeDB MongoDB. Currently, we have KMIP encryption support for `percona-4.2.24`,`percona-4.2.26`,`percona-5.0.23`,`percona-6.0.12` and `percona-7.0.4` version of KubeDB managed MongoDB. + +We will use mongodb version `percona-5.0.23` for our demo purpose. + +```yaml +apiVersion: kubedb.com/v1 +kind: MongoDB +metadata: + name: mg-kmip + namespace: demo +spec: + podTemplate: + spec: + containers: + - name: "mongodb" + volumeMounts: + - name: certs + mountPath: /etc/certs + volumes: + - name: certs + secret: + secretName: vault-tls-secret + storage: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageType: Durable + deletionPolicy: WipeOut + version: "percona-5.0.23" + configSecret: + name: mg-configuration +``` + +Let's save this yaml configuration into `mg.yaml` file and apply. + +```bash +$ kubectl apply -f mg.yaml +mongodb.kubedb.com/mg-kmip created +``` + +Now, wait a few minutes. KubeDB operator will create necessary PVC, petset, services, secret etc. If everything goes well, we will see that a pod with the name `mg-kmip-0` has been created. + +Check that the petset's pod is running + +```bash +$ kubectl get pod -n demo mg-kmip-0 +NAME READY STATUS RESTARTS AGE +mg-kmip-0 1/1 Running 0 1m +``` + +Now, we will check if the database has started with the custom configuration we have provided. + +To make sure that this `mg-kmip` MongoDB is KMIP encrypted, we can check the log of this `mg-kmip-0` pod + +```bash +kubectl logs -f --all-containers -n demo mg-kmip-0 +``` +We should see these logs which confirm that this `MongoDB` is setup with KMIP +```log +{"t":{"$date":"2024-09-24T09:26:13.551+00:00"},"s":"I", "c":"STORAGE", "id":29116, "ctx":"initandlisten","msg":"Master encryption key has been created on the key management facility","attr":{"keyManagementFacilityType":"KMIP server","keyIdentifier":{"kmipKeyIdentifier":"73ORm3aFQxGKZtJQ3196VXV5NmfT3AlG"}}} +{"t":{"$date":"2024-09-24T09:26:13.551+00:00"},"s":"I", "c":"STORAGE", "id":29037, "ctx":"initandlisten","msg":"Initializing KeyDB with wiredtiger_open config: {cfg}","attr":{"cfg":"create,config_base=false,extensions=[local=(entry=percona_encryption_extension_init,early_load=true,config=(cipher=AES256-CBC,rotation=false))],encryption=(name=percona,keyid=\"\"),log=(enabled,file_max=5MB),transaction_sync=(enabled=true,method=fsync),"}} +{"t":{"$date":"2024-09-24T09:26:13.799+00:00"},"s":"I", "c":"STORAGE", "id":29039, "ctx":"initandlisten","msg":"Encryption keys DB is initialized successfully"} +``` + + +Now, we can connect to this database through [mongo-shell](https://docs.mongodb.com/v4.2/mongo/). In this tutorial, we are connecting to the MongoDB server from inside the pod. + +```bash +$ kubectl get secrets -n demo mg-kmip-auth -o jsonpath='{.data.\username}' | base64 -d +root + +$ kubectl get secrets -n demo mg-kmip-auth -o jsonpath='{.data.\password}' | base64 -d +bJI!1H!)V7!2U.wJ + +$ kubectl exec -it mg-kmip-0 -n demo -- bash + +> mongo admin + +> db.auth("root","bJI!1H!)V7!2U.wJ") +1 + +> db._adminCommand( {getCmdLineOpts: 1}) +{ + "argv" : [ + "mongod", + "--dbpath=/data/db", + "--auth", + "--port=27017", + "--ipv6", + "--bind_ip=::,0.0.0.0", + "--tlsMode=disabled", + "-f", + "/data/configdb/mongod.conf" + ], + "parsed" : { + "config" : "/data/configdb/mongod.conf", + "net" : { + "bindIp" : "::,0.0.0.0", + "ipv6" : true, + "port" : 27017, + "tls" : { + "mode" : "disabled" + } + }, + "security" : { + "authorization" : "enabled", + "enableEncryption" : true, + "kmip" : { + "clientCertificateFile" : "/etc/certs/client.pem", + "port" : 5696, + "serverCAFile" : "/etc/certs/ca.pem", + "serverName" : "vault-cluster-doc-public-vault-a33bb761.37131dd1.z1.hashicorp.cloud" + } + }, + "storage" : { + "dbPath" : "/data/db" + } + }, + "ok" : 1 +} +> exit +bye +``` + +We can see that in `parsed.security` field, encryption is enabled. + +## Support + +To speak with us, please leave a message on [our website](https://appscode.com/contact/). + +To receive product announcements, follow us on [Twitter](https://twitter.com/KubeDB). + +To watch tutorials of various Production-Grade Kubernetes Tools Subscribe our [YouTube](https://www.youtube.com/c/AppsCodeInc/) channel. + +More about [MySQL on Kubernetes](https://kubedb.com/kubernetes/databases/run-and-manage-mysql-on-kubernetes/) + +If you have found a bug with KubeDB or want to request for new features, please [file an issue](https://github.com/kubedb/project/issues/new). \ No newline at end of file