検索

1.3. コマンドラインで Directory Server への TLS 暗号化接続の有効化

download PDF

TLS による暗号化または証明書ベースの認証を使用するには、Network Security Services (NSS) データベースで証明書を管理する必要があります。インスタンスを作成すると、dscreate ユーティリティーは /etc/dirsrv/slapd-instance_name/ ディレクトリーにこのデータベースを自動的に作成し、強力なパスワードで保護します。

手順

  1. プライベートキーおよび証明書署名要求 (CSR) を作成します。外部ユーティリティーを使用して作成する場合は、この手順を省略します。

    • ホストが 1 つの名前のみで到達可能である場合は、以下を実行します。

      # dsctl instance_name tls generate-server-cert-csr -s "CN=server.example.com,O=example_organization"
    • 複数の名前でホストにアクセスできる場合は、以下を行います。

      # dsctl instance_name tls generate-server-cert-csr -s "CN=server.example.com,O=example_organization" server.example.com server.example.net

      最後のパラメーターとしてホスト名を指定した場合、このコマンドは DNS:server.example.com, DNS:server.example.net エントリーで SAN (Subject Alternative Name) 拡張を CSR に追加します。

    -s subject パラメーターで指定した文字列は、RFC 1485 に従って有効なサブジェクト名である必要があります。サブジェクトの CN フィールドが必要で、サーバーの完全修飾ドメイン名 (FQDN) の 1 つに設定する必要があります。このコマンドは、/etc/dirsrv/slapd-instance_name/Server-Cert.csr ファイルに CSR を保存します。

  2. 認証局 (CA) に CSR を送信し、発行した証明書を取得します。詳細は、CA のドキュメントを参照してください。
  3. CA が発行するサーバー証明書を NSS データベースにインポートします。

    • dsctl tls generate-server-cert-csr コマンドを使用して秘密鍵を作成した場合は、以下を入力します。

      # dsconf -D "cn=Directory Manager" ldap://server.example.com security certificate add --file /root/instance_name.crt --name "server-cert" --primary-cert

      --name _certificate_nickname パラメーターで設定した証明書の名前を書き留めておきます。これは後のステップで必要になります。

    • 外部ユーティリティーを使用して秘密鍵を作成した場合は、サーバー証明書および秘密鍵をインポートします。

      # dsctl instance_name tls import-server-key-cert /root/server.crt /root/server.key

      このコマンドでは、最初にサーバー証明書へのパスを指定してから、秘密鍵へのパスを指定する必要があります。このメソッドは、証明書のニックネームを Server-Cert に設定します。

  4. CA 証明書を NSS データベースにインポートします。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com security ca-certificate add --file /root/ca.crt --name "Example CA"
  5. CA 証明書の信頼フラグを設定します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com security ca-certificate set-trust-flags "Example CA" --flags "CT,,"

    これにより、Directory Server が、TLS による暗号化および証明書ベースの認証に対して CA を信頼するように設定します。

  6. TLS を有効にし、LDAPS ポートを設定します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-securePort=636 nsslapd-security=on
  7. firewalld サービスで LDAPS ポートを開きます。

    # firewall-cmd --permanent --add-port=636/tcp
    # firewall-cmd --reload
  8. RSA 暗号ファミリーを有効にし、NSS データベースセキュリティーデバイスおよびサーバー証明書名を設定します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com security rsa set --tls-allow-rsa-certificates on --nss-token "internal (software)" --nss-cert-name Server-Cert

    デフォルトでは、NSS データベースのセキュリティーデバイスの名前は internal (software) です。

  9. オプション: プレーンテキストの LDAP ポートを無効にします。

    # dsconf inst security disable_plain_port
  10. インスタンスの再起動

    # dsctl instance_name restart

検証

  • LDAPS プロトコルを使用して Directory Server への接続を確立します。たとえば、クエリーを実行します。

    # ldapsearch -H ldaps://server.example.com:636 -D "cn=Directory Manager" -W -b "dc=example,dc=com" -x -s base

    コマンドが失敗し、ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) エラーが発生した場合は、デバッグレベル 1 でコマンドを再実行します。

    # ldapsearch -H ldaps://server.example.com:636 -D "cn=Directory Manager" -W -b "dc=example,dc=com" -x -s base -d 1
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.