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

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

веб-сайт

В этой статье описано, как этого достичь с помощью 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

Источник

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