信頼は重要です。誰でも、何でもむやみに信頼するのではなく、経験と評判に基づいて信頼を確立する必要があります。ネットワーキングの世界では、認証局(CA:Certificate Authority)は、Web サーバーが信頼できることを示す SSL(Secure Sockets Layer)証明書を保証する組織です。

Red Hat Enterprise Linux は、インターネット PKI(Public Key Infrastructure)で使用するための Mozilla Foundation の CA 証明書のセットを含む ca-certificates パッケージを使用します。この記事の執筆時点では、ca-certificates パッケージには約 140 の CA が含まれています。この証明書のバンドルは、基本的にデフォルトの「信頼できる相手」リストです。RHEL のドキュメントでは、共有システム証明書の取り扱いについてさらに詳しく説明しています。また、Linux コマンドラインツールで CA 証明書を利用可能にするという記事でも CA 証明書について解説しています。

この記事では、追加の CA を受け入れる方法(信頼できるリストにさらに追加する方法)を取り上げ、次に CA を拒否する方法、そしてそうする必要がある理由について掘り下げます。

信頼された CA を追加する

追加の CA を追加することは一般的な慣行です。これを行うには、証明書を取得し、/etc/pki/ca-trust/source/whitelist/ などの承認されたディレクトリーのいずれかにコピーする必要があります。

[ この役立つガイドで SELinux の管理と使用のスキルを向上させましょう。 ]

blacklist または whitelist ディレクトリーのいずれかに何かを追加するたびに、トラストリストを更新する必要があります。

$ update-ca-trust

信頼ステータスを確認する

トラストキーの「anchor」値を確認することで、CA が信頼できるかどうかを検証できます。

$ trust list --filter=ca-anchors | grep Example -i -A 2 -B 3
    pkcs11:id=%ff%f9%eb%97%be%21[...]%e9;type=cert
    type:     certificate
    label:    EXAMPLE Secure Certification Authority 1
    trust:    anchor
    Category: authority
    pkcs11:id=%ff%9f%88%df%a1%cd%2c%[...]%4b;type=cert
    Type:  certificate
    Label: EXAMPLE Global Root Certification Authority
    Trust: anchor
    Category: authority

信頼されていない CA を定義する

必要なもののみに信頼を限定することは、長年にわたる優れたセキュリティーの慣行です。ca-certificates パッケージは、CA を /etc/pki/ca-trust/source/blacklist/ に配置することで、CA を拒否する方法を提供します。

信頼できないものとしてマークする際には注意が必要です。ご使用の環境で何が必要かを事前に検討することなく、すべての CA をむやみに拒否しないでください。CA は openssl コマンドで検証できます。

$ openssl s_client -connect example.com:443

[ 今すぐダウンロード:システム管理者のための Bash スクリプトガイド。 ]

厳格なセキュリティーポリシーを指示する組織では、デフォルトのセキュリティーバンドル /etc/pki/tls/certs/ca-bundle.crt を分割し、不要な CA の使用をブロックすることができます。csplit コマンドを使用して、バンドルを個々の証明書に分割できます。

  1. バンドルを個々のファイルに分割します。

    $ csplit -z ca-bundle.crt /#/ '{*}'
  2. 空行を削除します。

    $ sed -i '/^$/d' xx*
  3. ファイルの名前を変更します。

    $ for file in xx*; do mv $file $(head -n 1 $file | tr -d \#"                         "); done

その後、個々の証明書を /etc/pki/ca-trust/source/blacklist/ ディレクトリーに移動できます。

blacklist または whitelist ディレクトリーのいずれかに何かを追加するたびに、トラストリストを更新する必要があります。

$ update-ca-trust

信頼ステータスを確認するには:

$ trust list --filter=ca-anchors | grep Example -i -A 2 -B 3
pkcs11:id=%ff%22%0b%82%99%24%01%[...]%2a;type=cert
type:  certificate
label: Example  RootCA 2015
trust: blacklisted
category: authority

CA トラストリストの詳細については、Red Hat Enterprise Linux のルート認証局に関するよくある質問をお読みください。


執筆者紹介

James Force is a Principal Consultant at Red Hat whose career spans system administration, infrastructure, operations, system engineering, and platform engineering. He is a passionate advocate of open source, cloud native technologies, and the UNIX philosophy.

UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Virtualization icon

仮想化

オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください