概要: メールサーバへの接続が SSL/TLS 証明書で保護されている場合、DANE(DNS-based Authentication of Named Entities)を有効にすることでダウングレード攻撃や中間者攻撃への耐久性を高めることができます。 DANE はまた、認証局が侵害を受けたことによるウェブサイトのなりすましからも保護します。

このトピックでは、SMTP を例にとり、DANE を使用してサーバへの接続を堅牢化する方法について説明します。このトピックは、DANE や TLSA DNS レコードに関する情報を網羅するものではないことにご注意ください。

前提条件

個別ドメインに対して DANE を使用して SMTP 接続を堅牢化するためには、以下を行う必要があります。

SMTP サーバの接続を保護する

ドメインに対して DNSSEC を有効にしたら、続行できます。トランスポートプロトコルとポートの適切な組み合わせ(たとえば「TCP/25」と SMTP、「TCP/443」と HTTPS など)を介して SSL/TLS 証明書で既に保護されているアプリケーションプロトコル経由の接続を堅牢化することができます。

特定のアプリケーションプロトコル経由の接続を堅牢化するのは、2 ステップのプロセスです。

  • まず、SSL/TLS 証明書の公開鍵のハッシュを作成する必要があります。ハッシュ化されていない公開鍵や証明書全体のハッシュを使用することもできますが、この例では公開鍵ハッシュを使用します。
  • 次に、ハッシュを含め、多数の必須パラメータを指定する TLSA DNS レコードを追加する必要があります。

堅牢化したいアプリケーションプロトコルごとに、上記の手順を繰り返す必要があります。

以下の例では、個別ドメイン用にメールサーバへの SMTP 接続を堅牢化する手順を説明します。必要に応じて、これを参考に、他の接続を堅牢化することができます。

注釈: 以下の例では、証明書全体ではなく、SSL/TLS 証明書の公開鍵の SHA-256 ハッシュを使用します。こうすることで、公開鍵も変更した場合を除き、証明書を更新するときに TLSA レコードを更新する必要はありません。

証明書の公開鍵のハッシュを生成する

  1. Plesk にログインします

  2. [ウェブサイトとドメイン]に移動して、必要なドメインを探します。

  3. [SSL/TLS 証明書]をクリックします。

  4. メールサーバを保護するための証明書を探して(「メールをセキュリティ強化」と記されているもの)、download アイコンをクリックして証明書を *.pem ファイルとしてダウンロードします。

  5. Linux マシンに *.pem ファイルを保存して、次のコマンドを実行します(作業ディレクトリをこのファイルが含まれるディレクトリに変更しておき、"certificate.pem" を実際のファイル名に置き換えてください)。

    openssl x509 -in certificate.pem -pubkey -noout | openssl rsa -pubin -outform der | sha256sum | awk '{print $1}'
    

その結果、TLSA DNS レコードの作成時に使用される SHA-256 ハッシュが出力されます(例: 499e42e36d7b04529725a1f8036e0f7cf1030b4e25a3fa1988f2572e1ce70d28)。

TLSA DNS レコードを追加する

  1. Plesk にログインします
  2. [ウェブサイトとドメイン]に移動して、必要なドメインを探します。
  3. [ホスティングと DNS]タブに移動して、[DNS]をクリックします。
  4. [レコードを追加]をクリックします。
  5. [レコードタイプ]ドロップダウンメニューから「TLSA」を選択します。
  6. (オプション)レコードに TTL を指定します。最適な TTL がわからない場合は[TTL]フィールドを空欄にしておいてください。この場合、デフォルトの TTL 値が使用されます。
  7. ポート「25」を指定します。アンダースコア文字は自動的に追加されるため、追加しないでください。
  8. プロトコル「tcp」を指定します。アンダースコア文字は自動的に追加されるため、追加しないでください。
  9. [ドメイン名]フィールドに「mail」と入力します。
  10. [使用状況]ドロップダウンメニューから「3, DANE-EE」を選択します。
  11. [セレクタ]ドロップダウンメニューから「1, SPKI」を選択します。
  12. [一致タイプ]ドロップダウンメニューから「1, SHA-256」を選択します。
  13. 先ほど生成した証明書の公開鍵のハッシュを[証明書関連付けデータ]フィールドに貼り付けます。
  14. [OK]をクリックしてから[更新]をクリックして、DNS ゾーンへの変更を適用します。

TLSA DNS レコードが追加され、DNS ゾーンへの変更が適用されます。DNS の変更がプロパゲートされたら(通常約 24 時間)、このドメインの SMTP 接続に対して DANE がアクティブになります。