第2章 セキュアなOracle VMインストールの実行
この項では、インストール計画の概要と、セキュアなシステムをインストールするための手順を示します。 インストールされた各コンポーネントのセキュリティ関連のデプロイメントの問題について説明します。たとえば、MySQLデータベースとOracle WebLogic Serverです。
Oracle VM Managerは自動的にセキュアな状態にインストールされます。 この項では、インストール手順での選択内容に関するセキュリティ上の意味と、SSLなどの高度なセキュリティ・オプションを有効にする方法について説明します。 インストール手順に示されているように、特定のデプロイメントでは不要なコンポーネントのインストールや実行は避けてください。
デフォルトのインストールで適用されるセキュリティ対策には、次のものがあります。
-
標準の必須ポートのみを開くアクティブなソフトウェア・ファイアウォール。
ノートインストール前にファイアウォールが無効になっている場合は、インストール後に
iptables
またはfirewalld
サービスを有効にして、ファイアウォール・ルールを有効にする必要があります。 -
すべてのOracle VM Agent通信のSSL暗号化。
ノートビルド3.1.1.165より古いバージョンのOracle VMからアップグレードする場合、以前に暗号化されていないOracle VM Agent通信の一部が自動的に再構成されます。 このビルド以降では、すべてのOracle VM Agent通信にデフォルトでSSL暗号化が設定されます。
-
Oracle VM Manager GUIへのHTTPSアクセス
-
Oracle WebLogic Serverセキュリティ・レルムによって管理されるユーザー資格証明と認証:
https://docs.oracle.com/middleware/1213/wls/SCOVR/realm_chap.htm#SCOVR186
-
小型フットプリントJeOSのようなオペレーティング・システム: Oracle Linuxは、未使用のパッケージを使用せずに、攻撃対象を最小限に抑えます。
2.1 Oracle VMのインストール前のタスク
この項では、インストール前に適用する必要があるセキュリティ構成について説明します。
2.1.1 Oracle VM管理サーバーの準備
Oracle VM管理サーバーでは、次のいずれかのオペレーティング・システムを実行する必要があります。
-
Oracle Linux (またはRed Hat Enterprise Linux) 6 64ビット以降。
-
Oracle Linux (またはRed Hat Enterprise Linux) 7 64ビット以降。
Oracle VM Managerが要求するポート以外のすべてのポートを閉じたままにすることをお勧めします。 必要なポートは次のとおりです。
-
インバウンドWebブラウザ接続用: TCP/7002 (HTTPS, default).
-
Oracle VM Serversからのインバウンド接続用: TCP/7002 (HTTPS, default), UDP/123 (NTP).
-
Oracle VM Serversへのアウトバウンド接続用: TCP/8899 (Oracle VM Agent)、TCP/6900-xxxx (VNC、バーチャル・マシンごとに1つのセキュア・トンネル)。
-
SSHアクセスの場合: TCP/22 (デフォルトでは開いている可能性があります)。
-
SSHを使用したCLIアクセスの場合: TCP/10000.
Oracle VM Managerコマンドライン・インタフェース(CLI)は、リリース3.2以降のOracle VMの一部です。
インストール手順の一部として、スクリプトがcreateOracle.sh
という名前で含まれています。 このスクリプトを実行すると、標準のファイアウォール構成を含むインストール・タスクの一部を自動化して実行できます。
Oracle Linux (またはRed Hat Enterprise Linux) 6では、iptables
パッケージがインストールされている場合、iptables
ルールはインストール時に追加されます。 ただし、Oracle Linux (またはRed Hat Enterprise Linux) 7以上では、firewalld
パッケージがインストールされている場合、firewalld
ルールが追加されます。
Oracle VM Managerをインストールする前にiptables
またはfirewalld
がターゲット・ホストで無効になっている場合、createOracle.sh
スクリプトでiptables
またはfirewalld
サービスが自動的に再有効化されることはありません。 ファイアウォール管理ツールがインストールされていない場合、ルールは追加されません。 追加されたルールは、サービスが有効になると有効になります。
ファイアウォール管理ツールが有効な場合、ルールが定義されていなくても、各パケットはファイアウォール管理ツールによってチェックされるため、パフォーマンスに影響を与える可能性があります。
ファイアウォールを手動で構成する必要がある場合、次の手順に従います。
iptables
の場合は、次のようにiptables
で必要なポートを開きます:-
root
ユーザーとして、Oracle VM管理サーバーへログオンします。 -
コマンド・プロンプトで、次のように、オープンする各ポートに適切なコマンドを入力します。
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7002 -j ACCEPT # iptables -A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT # iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10000 -j ACCEPT
-
iptables
構成を保存します。# service iptables save
これは、コマンドによって
iptables
の実行中にポートがオープンするため、iptables
を再起動する必要はありません。 保存することで、今後の再起動時にオープンするようになります。
firewalld
の場合は、次のようにfirewalld
で必要なポートを開きます:-
root
ユーザーとして、Oracle VM管理サーバーへログオンします。 -
コマンド・プロンプトで、開くポートごとに適切なコマンド(再起動後も持続)を入力します。次に例を示します:
# firewall-cmd --permanent --zone=public --add-port=7200/tcp # firewall-cmd --permanent --zone=public --add-port=123/udp # firewall-cmd --permanent --zone=public --add-port=10000/tcp # firewall-cmd --reload
2.1.2 Oracle VMファイアウォール・ルール
次の図と表は、Oracle VMのファイアウォールのルールと要件を示しています。

No. | コンポーネントの関係 | ポートと説明 | オプション |
---|---|---|---|
1 |
Oracle VM ManagerからOracle VM Serverへ |
|
いいえ |
2 |
Oracle VM ServerからOracle VM Managerへ |
|
いいえ |
3 |
クライアントPCからOracle VM Managerへ |
|
いいえ、サービスへのアクセスは要件に限定する必要があります |
4 |
クライアントPCからOracle VM Serverへ |
|
はい |
5 |
Oracle VM ServerからOracle VM Serverへ |
|
いいえ |
6 |
いくつかの管理ツールからOracle VM Managerへ |
|
はい |
2.1.3 管理ネットワークの準備
Oracle VM環境のすべての物理サーバーは、管理ネットワークに接続されています。 Oracle VM ManagerおよびOracle VM Serverは、各サーバー上で実行しているOracle VM Agentを介して、管理ネットワーク上で通信します。
厳密には、すべての物理サーバーは外部からアクセスできる必要がないため、管理ネットワークでは、プライベート・サブネットを使用することをお薦めします。 このプライベート・サブネットは、企業ネットワークまたはその一部内からアクセス可能です。 管理ネットワークがプライベート・サブネットでない場合またはさらにセキュリティを強化する必要がある場合は、Oracle VM ServerのIPアドレスのみにアクセスを制限できます。 目的は、物理Oracle VM環境へアクセスする必要のないユーザーおよびマシンに公開されないように管理ネットワークを保護することです。
企業ネットワークのファイアウォール構成に加えて、VLANを使用することで、さらに管理ネットワークを未認可アクセスから保護できます。 企業ネットワーク外から管理ネットワークへアクセスする必要がある場合、VPNトンネルを介して有効化することを検討します。
企業ネットワーク内のすべてのファイアウォール構成では、Oracle VM管理サーバー上のiptables
またはfirewalld
について前述したものと同じポート要件を考慮する必要があります。
サーバー・ハードウェアおよびネットワーク・リソースによっては、ネットワーク・ロール(管理、記憶域、移行、仮想マシン、ハートビート)によってネットワーク・トラフィックを分離する場合があります。 ネットワーク・モデルおよびそのセキュリティの意味の詳細は、第3.1項「Oracle VMのネットワーク・モデル」を参照してください。
2.1.4Oracle VM Managerのインストール
この項では、Oracle VM Managerを安全にインストールして構成する方法について説明します。
Oracle VM Managerを実行するために必要なすべてのアプリケーションおよびコンポーネントは、インストーラISOイメージにパッケージ化されています。 インストールするには、イメージをDVD-ROMに書き込んでホスト・サーバーに挿入するか、イメージをホスト・サーバーのファイル・システムにマウントします。 Oracle VM Managerインストールに関するコンポーネントは、次のとおりです。
Oracle VM Manager
Oracle VM Manager WebアプリケーションがOracle WebLogic Serverドメインおよびコンテナとして提供されます。
Oracle WebLogic Server
Oracle VM Managerは、Application Development Framework (ADF)Release 12cを含むOracle WebLogic Server 12cの上で実行されます。 詳細は、Oracle WebLogic Serverのマニュアルを参照してください:
http://docs.oracle.com/middleware/1213/index.html
Oracle VM Managerには、Oracle VM WebサービスAPI、Oracle VM Manager Web Interface、およびOracle VM Managerオンライン・ヘルプを実行する単一のOracle WebLogic Serverで構成される単純なドメイン・トポロジがあります。
MySQLデータベース
Oracle VMは、バックエンド・リポジトリとしてOracle MySQL Enterpriseデータベースを使用します。
Oracle VM Managerには、Oracle VM Managerの管理リポジトリとしてのみ使用できる、これらのデータベースの使用制限付きライセンスが含まれています。
Oracle VMリリース3.4のインストール処理では、バンドルされたローカルのMySQLデータベースのみを使用できます。
初めてOracle VM Managerをインストールする前に、提供されているcreateOracle.sh
スクリプトを実行して、インストール・ディレクトリ、ファイル・システム権限、ユーザーとグループ、およびデフォルトのファイアウォール・ルールを、製品をインストールするホスト上で適切に設定する必要があります。
インストール時に、インストール中にOracle VM Managerデータベース、Oracle WebLogic Server、およびOracle VM Managerに使用するユーザーとパスワードを設定します。 正確なユーザー名およびセキュア・パスワードを選択します。 パスワード・ルールは次のとおりです。
-
長さは8〜16文字でなければなりませんが、8文字のパスワードは依然としてかなり弱いとみなされ、最低12文字を目指す必要があります。
-
少なくとも1つの大文字が含まれています。
-
少なくとも1つの小文字が含まれています。
-
少なくとも1つの数値が含まれます。
詳細は、「Oracle VMインストレーションおよびアップグレード・ガイド」の「Oracle VM Managerのインストール」を参照してください。
データベースに関するセキュリティ情報については、次のOracle Technology Network (OTN)リソースを参照してください。
-
MySQLホーム・ページ: http://www.oracle.com/technetwork/database/mysql/index.html
-
MySQLセキュリティ・ガイド: http://dev.mysql.com/doc/mysql-security-excerpt/8.0/en/index.html
テストおよびデモ目的で、管理対象の環境のOracle VM ServerにゲストとしてOracle VM Managerをインストールすることが可能ですが、推奨ではありません。 この設定を作成する前に、次のことを考慮します。
-
設定手順は、比較的複雑です。
-
Oracle VM Managerを実行している仮想マシンは、突然停止する場合があります。
-
サーバー・プールがオフラインになると、環境のリカバリが難しく、失敗する場合があります。
-
データ消失または破損のリスクに加え、NTPサービスの動作によっては、競合状態が発生する場合があります。Oracle VM Managerは通常、環境全体のNTPソースですが、仮想マシンとしては、NTPサービスのクライアントでもあります。
2.1.5 Oracle VM Serverのインストール
この項では、Oracle VM Serverを安全にインストールして構成する方法について説明します。
Oracle VM Serverは、Oracle Linuxの軽量かつ最適化されたバージョンを実行します。 Xenハイパーバイザ・テクノロジの更新版に基づいており、これにはOracle VM Agentが含まれます。 Oracle VM Serverのインストールはセキュアで、使用されていないパッケージまたはアプリケーションおよびOracle VM環境の操作に必要なポート以外のすべてのポートをリスニングするサービスはありません。
インストール・プロセス中に、Oracle VM Agentおよびサーバーのroot
ユーザー・アカウントにパスワードを指定する必要があります。 セキュアなパスワードを選択し、Oracle VM Serverへのアクセスが必要な管理者間でのみ、そのパスワードを共有します。 第2.1.4項「Oracle VM Managerのインストール」に示すパスワード・ルールを使用します。 第2.1.3項「管理ネットワークの準備」の説明に従って、アクセス制限付きのプライベート・ネットワーク・セグメントにサーバーを配置します。
2.1.6 Oracle VMの推奨デプロイメント構成
サーバー仮想化という製品の性質上、Oracle VMの推奨構成を多数提案することは、ほとんど不可能です。 簡単に言えば、すべてのサーバーおよびサーバーによって使用可能になるすべてのサービスまたはアプリケーションは仮想化できます。 そのため、可能な構成の数は、仮想環境がデプロイされている物理ハードウェアの機能によってのみ制限されます。 Oracle VMデプロイメントは、小規模で外部接続ができず、アクセスが少数にのみ制限されている強い権限を持つ設定で、これは、インターネットを使用する様々なサービスおよびアプリケーションをホストする仮想化Webサーバーのバッテリまたはその中間のようなものです。
Oracle VM環境をアクセスの程度によって分類し、ネットワーク・モデルに基づいてカテゴリを記載しました。 ホストOracle VM Serverの権限ドメイン(dom0)は、それほど小さなフットプリントを持たず、動いている部品がほとんどなく、時代遅れのパッケージもないため、妥協するのは困難です。 物理および仮想環境の両方のネットワーク構成によって、攻撃にさらされる可能性に大きく影響します。 これを考慮して、ネットワーク・セキュリティに応じたカテゴリを次に示します。
-
ネットワーク接続はありません。
-
隔離されたローカル・ネットワーク。
-
信頼できる内部ネットワーク。
-
信頼できない内部ネットワーク。
-
Internet-facing service.
特定のOracle VM構成の目的、ホストされるサーバー、提供するサービスおよびアクセス権が必要なユーザーに応じて、環境は、次のいずれかまたは複数のカテゴリに分類されます。 環境へアクセスするユーザーが多いほど、環境にアクセスできるネットワークが大きく、攻撃にさらされやすくなります。 環境にできるだけ厳密な制限を使用し、ホストされるサーバー、サービスおよびアプリケーションの目的と一貫性があることをお薦めします。 いずれの場合でも、Oracle VM環境への管理アクセスは、信頼できるネットワークの場所からのみ可能である必要があります。 ローカル・システム管理は最もセキュアな方法ですが、実用的ではありません。 リモート接続からのシステム管理が必要な場合、VPNを強化して、暗号化を使用します。
ネットワーク接続に基づくカテゴリ化の詳細は、第3.1項「Oracle VMのネットワーク・モデル」を参照してください。
2.1.7 Oracle VMのインストール後の構成
この項の目的は、インストール後に行う必要のあるセキュリティ構成の変更について説明することです。 ただし、Oracle VMコンポーネントのインストーラは、デフォルトでセキュリティ・リスクを最小限に抑えるように設計されているため、インストール時に潜在的な問題が自動的に解決されます。 一般的なセキュリティの考慮事項は、次のとおりです。
-
指定したタイプのデプロイメントで不要のコンポーネントを削除または無効にすることをお薦めします。 ただし、Oracle VMはOracle Linuxの軽量で最適化されたバージョンに基づいており、不要なパッケージおよびコンポーネントは、インストール・メディアに含まれていません。
-
ソフトウェアをインストールおよび構成できるように、インストールにはスーパーユーザーおよびrootパスワードの作成および割当てが必要です。 インストールおよび構成タスクの完了後すぐに、各Oracle VM管理者に個別のユーザー・アカウントを作成することをお薦めします。 可能な場合は、rootへのアクセスを無効化することを検討します。
-
FTPまたは標準HTTPなどの弱いプロトコルまたはプレーンテキスト・プロトコルは、デフォルトで無効にする必要があります。 デモおよびテスト目的で、これらを使用することは許容できますが、安全性が低いということを常に意識する必要があります。 Oracle VMコンポーネント間での通信は、デフォルトで適切に保護されています。 Oracle VM ManagerとOracle VM ServersはOracle VM Agentsで通信し、すべてのエージェント通信はSSLで暗号化されています。 Oracle VM Managerへのアクセスは、デフォルトでHTTPSを使用するよう構成されています。 デフォルトでは、通信を暗号化するために使用されるSSL証明書は、インストール中にOracle VM Managerインスタンス用に生成された内部CA証明書によって署名されます。 ユーザーWebブラウザを含むほとんどのクライアント・アプリケーションにはこのCA証明書がインストールされていないため、多くのクライアント・アプリケーションがHTTPS経由でOracle VM Managerサービスにアクセスする際に提示されるSSL証明書を検証することはできません。 SSL証明書が検証できない場合、一部のクライアント・アプリケーションは完全に失敗する可能性がありますが、他のアプリケーションは警告を出してユーザーが自己責任で処理することができます。 中間者攻撃の可能性を最小限に抑えるためには、検証が実際に行われることが重要です。 したがって、次のいずれかの措置をとることが適切です:
-
Oracle VM ManagerインスタンスのCA証明書を、Oracle VM Managerにアクセスするすべてのクライアント・アプリケーションの信頼できるCA証明書ストアにインストールします。
-
Oracle VM ManagerでHTTPS通信に使用するSSL証明書を変更して、すべてのクライアント・アプリケーションにすでにCA証明書がインストールされている、信頼できるサードパーティCAによって署名された証明書を使用するようにします。
これらの操作の詳細は、「Oracle VM管理者ガイド」を参照してください。
-
-
機密情報を含むファイルには、デフォルトで制限的なファイル権限がある必要があります。 これらのファイルには、監査ログ、パスワード・ファイルおよび構成が含まれています。 Oracle VMは、クリアテキスト・パスワードなどの機密データがログまたは一時ファイルに開示されないように構成されています。 ファイル権限は、デフォルトで厳しい状態で維持されており、許可されていないアクセスを防止し、必要に応じて暗号化が適用されています。
物理サーバーへのアクセスは、デフォルトで厳密に制限されており、これによって、情報が危険にさらされるリスクがとても低いことが暗示されます。 したがって、ログ・ファイル、パスワード・ファイルおよび構成データなどの機密データは、通常Oracle VM環境でよく保護されています。 Oracle VM Managerを正常にインストールまたはアップグレードした後、インストーラの指示に従って、
/tmp
からログ・ファイルを必ず削除します。
2.1.7.1 Oracle VM Agent SSL証明書の変更
Oracle VM AgentおよびOracle VM Manager間での通信は、RSAアルゴリズムおよび2048ビット秘密キーを使用してSSL暗号化されています。 関連するファイルは、/etc/ovs-agent/cert
にあります。
-
certificate.pem
-
key.pem
-
request.pem
Oracle VM Agentで使用されるSSL証明書を変更すると、現在サーバーの所有権を持つOracle VM Managerインスタンスの認証に失敗します。 これを解決するには、変更後にサーバーの所有権を解放する必要があります(これには、サーバーが属している可能性のあるサーバー・プールからサーバーを削除する必要があります)、サーバーを再検出し、新しいサーバーでした。
デフォルトの自己署名証明書を自分の信頼できる証明書で置き換えるには、証明書ファイルとキー・ファイルを置き換えます。
新しい証明書およびキー・ファイルを生成するには、Oracle VM Serverにログインして、コマンドovs-agent-keygen
を実行します。 コマンドは、次のように使用されます。
# ovs-agent-keygen -h Usage: ovs-agent-keygen [OPTION] Generate SSL certificate and key files for Oracle VM Agent XMLRPC Server. Options: -f, --force override existing files -v, --version show version number and exit -h, --help show this help message and exit
生成されたファイルは、前述のディレクトリにあります。 -f
オプションを使用する場合、既存のファイルは上書きされます。
Oracle VMリリース3.3以降、Oracle VM Agentパスワードは、最初の検出プロセスでの認証にのみ使用されます。 その後、証明書を使用してOracle VM ManagerとOracle VM Agent間のすべてのその後の認証が行われます。 このアプローチによりセキュリティが強化され、エージェントが実行しているOracle VM Serverの所有権を持つOracle VM ManagerインスタンスへのOracle VM Agentへのアクセスを制限できます。 それにもかかわらず、所有権が解放されると、どのサーバーのOracle VM Agentパスワードも変更することをお勧めします。 Oracle VM Manager Web InterfaceおよびOracle VM Managerコマンドライン・インタフェース内のサーバーの所有権を解放すると、これを実行するメカニズムが用意されています。
2.1.7.2 Dom0でのLDAP認証の有効化
各Oracle VM ServerインスタンスでLDAP認証を有効にして、Dom0のアクセス試行を制御およびログに記録することができます。 LDAP認証を有効にすると、同じ理由で重要なアセット(Dom0)のセキュリティを強化することができ、集中管理されたユーザー・コントロールを他のコンテキストで役立ちます。
LDAP認証を構成するには、ビジネス・ニーズに応じた構成が必要です。 LDAP認証を有効にするさまざまなメソッドの詳細な例を提供することは、このドキュメントの範囲を超えています。 ただし、以下のステップでは、初期構成のステップを説明します。
Dom0でLDAP認証を有効にするには、次のいずれかを実行します:
-
Oracle Linux 6管理ガイドの手順に従って、
openldap-clients
、sssd
、およびsssd-client
パッケージを構成してインストールします。 Oracle Linux認証構成GUIを実行する代わりに、LDAP認証を有効にするには、authconfigコマンドを使用する必要があります。詳細は、LDAP認証の有効化 atを参照してください: http://docs.oracle.com/cd/E37670_01/E41138/html/ol_enblcli_ldap.html
-
Oracle VM ServerでLDAP認証を次のように構成します:
-
必要なパッケージが使用可能であることを確認し、必要に応じてインストールします。
# rpm -qa | egrep -i 'nss-pam-ldap|pam_ldap' pam_ldap-
185-11.el6
.x86_64 nss-pam-ldapd-0.7.5-20.el6_6.3
.x86_64 -
LDAPサーバーのSSLまたはTLS証明書を次のディレクトリにコピーします:
/etc/openldap/cacerts/openldap.pem
-
証明書のアクセス許可を設定します。
# chmod 644 /etc/openldap/cacerts/openldap.pem
-
CA証明書を再ハッシュします。
# cacertdir_rehash /etc/openldap/cacerts
-
LDAP認証を有効にします。 authconfigコマンドを使用するか、システム認証を構成するためのインタフェースを開始してください。
-
# authconfig --enableldap --enableldapauth --ldapserver=ldap://
hostname
:389 \ --ldapbasedn="dc=example,dc=com" --update -
# authconfig-tui
-
-
LDAP認証の構成例を次に示します:
-
/etc/openldap/ldap.conf
TLS_CACERTDIR /etc/openldap/cacerts BASE dc=example,dc=com URI ldap://
hostname
:389 -
/etc/pam_ldap.conf
ssl start_tls tls_cacertdir /etc/openldap/cacerts base dc=example,dc=com uri ldap://
hostname
:389 pam_password md5 -
/etc/nslcd.conf
ssl start_tls tls_cacertdir /etc/openldap/cacerts base dc=example,dc=com uri ldap://
hostname
:389 uid nslcd gid ldap
2.1.7.3 Oracle VM ServerでのOpenSSLに対するFIPSの有効化
OpenSSLがFIPS (Federal Information Processing Standard)出版物140-2に準拠していることを確認するために、OpenSSLのFIPSモードを有効にすることを検討してください。これは、暗号モジュールのセキュリティ要件を確立する標準です。 このアクションは、Oracle VMデプロイメントのインフラストラクチャの一部を構成する各システムで任意に実行できます。 OpenSSLのFIPSモードを有効にする方法の詳細は、「Oracle Linux 6セキュリティ・ガイド」の次の場所で入手できます:
http://docs.oracle.com/cd/E37670_01/
この項では、Oracle VM ServerでOpenSSLのFIPSを有効にするために必要なステップの概要を説明します。 Oracle VM ServerとOracle Linux 6には若干の違いがあるため、OpenSSL用にFIPSモードを構成して構成するステップのいくつかは、Oracle Linux 6の指示と異なる場合があります。
Oracle VM ServerはULNに登録されている必要があります。 openssl-fips
パッケージは、ol6_x86_64_addons
チャネルで使用できます。
Oracle VM ServerをFIPS (Federal Information Processing Standard)140-2に準拠させるには、次のステップを実行します:
-
まず、FIPSが有効になっていないことを確認します:
# cat /proc/sys/crypto/fips_enabled 0
-
ULNにログインして、システムの
ol6_x86_64_addons
チャネルを有効にします。 -
dracut-fips
パッケージをインストールします:# yum install dracut-fips
ブート時にシステムがカーネル・コンポーネントの整合性をチェックするように、このパッケージをインストールする必要があります。
-
既存の
openssl
パッケージを削除し、openssl-fips-1.0.1*
パッケージをインストールします。 「yumシェル」を使用すると、次のようなトランザクションを実行できます:# yum -y shell <<EOF remove openssl install openssl-fips-1.0.1* run EOF
別の「yum削除」コマンドとyum installコマンドを使用することはできません。yum自体は、使用可能なOpenSSLライブラリに依存します。
あるいは、
openssl-fips-1.0.1*
パッケージをダウンロードして、代わりにrpmコマンドを使用してください:# rpm -e --nodeps openssl # rpm -ivh openssl-fips-1.0.1*.rpm
-
ブート・パーティションのデバイスUUIDを特定します。 これを行うにはさまざまな方法がありますが、次のシェル・コマンドは、ブート・パーティションに使用されているデバイスのUUIDを返す必要があります:
# blkid `mount |grep \/boot|awk '{print $1}'`
/boot
が独自のパーティションにないようにディスクをパーティション化した場合、上記のコマンドは出力を返しません。 -
/etc/default/grub
を編集:-
/boot
または/boot/efi
が/
とは別のパーティションにあり、このパーティションがあるデバイスのUUIDを取得している場合は、次の行を追加して、grubが更新されるときにFIPSが自動的に有効になり、起動する適切なデバイスを特定する:GRUB_CMDLINE_LINUX_DEFAULT="splash=verbose verbose crashkernel=224M-:112M showopts fips=1 \ boot=UUID=
boot_UUID
root=UUID=root_UUID
"ここで、
boot_UUID
とroot_UUID
は前のステップで取得したUUIDです。注意/boot
または/boot/efi
が/
とは別のパーティションに存在し、有効なboot=
項目を指定しないと、カーネル.hmac
ファイルが見つからないためシステムがクラッシュします。 -
/boot
または/boot/efi
が/
とは別のパーティションにない場合は、ブート・パーティションを指定する必要はありません:GRUB_CMDLINE_LINUX_DEFAULT="splash=verbose verbose crashkernel=224M-:112M showopts fips=1"
-
-
/etc/default/grub
に加えた変更を使用するためにGRUB構成を再構築してください:-
BIOSベースのシステムでは、rootとして次のコマンドを発行します:
# grub2-mkconfig -o /boot/grub2/grub.cfg
-
UEFIベースのシステムでは、rootとして次のコマンドを発行します:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
-
-
/etc/sysconfig/prelink
を編集し、PRELINKING=no
を設定します。システムがモジュールの完全性を正しく検証できるようにするには、事前リンクを無効にする必要があります。
-
バイナリとライブラリからすべての既存のprelinkを削除する:
# prelink -u -a
注意すべてのプレ・リンクを無効にして削除しないと、ユーザーはログインできず、
/usr/sbin/sshd
は起動しません。 -
initramfs
ファイル・システムを再作成します:# dracut -f
完了するまでに時間がかかることがあります。 これを実行するには、
-v
または--verbose
スイッチを使用してプロセスを監視します。 -
既存のSSHホスト・キーを削除します:
# rm /etc/ssh/ssh_host*
OpenSSHは、システムが次に再起動されたときに、FIPSで検証されたOpenSSLライブラリ・モジュールを使用して新しいFIPS承認キーを生成します。 (FIPSモードでは、ssh-keygenは
/etc/ssh
では新しいRSAホスト・キーを作成できますが、DSAキーでは作成できません。MD5ハッシュではなくSHA1ハッシュとしてキーの指紋を表示します)。 -
システムをシャットダウンし、FIPSモードで再起動します。
ノートシステムがリブートしている間に、ランダムにキーを押すかマウスを動かすことで入力イベントを生成します。 システムに十分なエントロピがキー生成に使用できるようにするには、少なくとも256のイベントを作成する必要があります。
-
システムが再起動したら、FIPSが有効になっていることを確認します:
# cat /proc/sys/crypto/fips_enabled 1
-
FIPSが正しく機能していることをテストするには、次のOpenSSLコマンドを実行し、エラーが返されていることを確認します:
# openssl md5 /etc/hosts Error setting digest md5 140297679636296:error:060A80A3:digital envelope routines:FIPS_DIGESTINIT:disabled for fips:fips_md.c:180:
MD5がFIPS承認のハッシュ・スタンダードではないため、MD5ハッシュを取得しようとするとエラーが返されます。