OpenSSL: Генерація CSR та підписання його для дійсних сертифікатів

Однією з поширених проблем при налаштуванні Kibana, Wazuh Dashboard або OpenSearch Dashboard є перехід від самопідписаних сертифікатів до публічно підписаних, що гарантує, що браузери розпізнають SSL-з’єднання як безпечне.

website

У цій статті описано, як цього досягти за допомогою Openssl:

  • Створити тимчасовий ключ:
openssl genrsa -out my-key-temp.pem 2048
  • Конвертувати приватний ключ у формат PKCS#8:
openssl pkcs8 -inform PEM -outform PEM -in my-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out my-private-key.pem

Необхідно зберегти ключ my-private-key.pem, оскільки він буде використовуватися в конфігурації

  • Створити файл openssl.cnf, в якому треба вказати інформацію про домен:
[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
req_extensions     = v3_req
prompt             = no

[ req_distinguished_name ]
countryName         = Country Name (2 letter code)
stateOrProvinceName = State or Province Name (full name)
localityName        = Locality Name (eg, city)
organizationName    = Organization Name (eg, company)
commonName          = Common Name (e.g. server FQDN or YOUR name)

[ v3_req ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = domain.com
DNS.2 = *.domain2.com
  • Згенерувати CSR-сертифікат:
openssl req -new -key my-private-key.pem -out my-server.csr -config openssl.cnf
  • Надіслати CSR на підпис або підписати його, якщо є доступ до CA, можна наступним чином:
openssl x509 -req -in my-server.csr -CA /Path/to/Ca/root-ca.pem -CAkey /Path/to/Ca/root-ca.key -CAcreateserial -out myserver.pem -days 3650 -extfile openssl.cnf -extensions v3_req

Це повинно підписати й згенерувати сертифікат myserver.pem

Після отримання сертифіката myserver.pem і ключа my-private-key.pem, можна використовувати їх наступним чином:

Wazuh Dashboard:

  • Скопіювати сертифікат в /etc/wazuh-dashboard/certs
  • Вказати сертифікати в файлі /etc/wazuh-dashboard/opensearch_dashboards.yml
server.ssl.key: "/etc/wazuh-dashboard/certs/my-private-key.pem"
server.ssl.certificate: "/etc/wazuh-dashboard/certs/myserver.pem"
  • Змінити дозволи та права власності на сертифікати:
chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/
chmod -R 500 /etc/wazuh-dashboard/certs/
chmod 440 /etc/wazuh-dashboard/certs/my-private-key.pem /etc/wazuh-dashboard/certs/myserver.pem
  • Перезапустити службу Wazuh Dashboard:
systemctl restart wazuh-dashboard

Opensearch Dashboard:

  • Помістити сертифікати в папку /etc/opensearch-dashboards/certs
  • Вказати їх у файлі /etc/opensearch-dashboards/opensearch_dashboards.yml
server.ssl.key: "/etc/opensearch-dashboards/certs/my-private-key.pem"
server.ssl.certificate: "/etc/opensearch-dashboards/certs/myserver.pem"
  • Змінити дозволи та права власності на сертифікати:
chown -R opensearch:opensearch /etc/opensearch-dashboards/
chmod -R 500 /etc/opensearch-dashboards/certs/
chmod 440 /etc/opensearch-dashboards/certs/my-private-key.pem /etc/opensearch-dashboards/certs/myserver.pem
  • Перезапустити службу Opensearch Dashboard:
systemctl restart opensearch-dashboard

Kibana:

  • Скопіювати сертифікат в /etc/kibana/certs
  • Вказати їх у файлі /etc/kibana/kibana.yml
server.ssl.certificate: /etc/kibana/certs/myserver.pem
server.ssl.key: /etc/kibana/certs/my-private-key.pem
  • Змінити дозволи та права власності на сертифікати:
chown -R kibana: /etc/kibana/certs
chmod -R 770 /etc/kibana/certs
  • Перезапустити службу:
systemctl restart kibana

Джерело

Підписатися на новини