信頼は重要です。誰でも、何でもむやみに信頼するのではなく、経験と評判に基づいて信頼を確立する必要があります。ネットワーキングの世界では、認証局(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 コマンドを使用して、バンドルを個々の証明書に分割できます。
バンドルを個々のファイルに分割します。
$ csplit -z ca-bundle.crt /#/ '{*}'空行を削除します。
$ sed -i '/^$/d' xx*ファイルの名前を変更します。
$ 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: authorityCA トラストリストの詳細については、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.
類似検索
From incident responder to security steward: My journey to understanding Red Hat's open approach to vulnerability management
File encryption and decryption made easy with GPG
What Is Product Security? | Compiler
Technically Speaking | Security for the AI supply chain
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
仮想化
オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください