2 Oracle Big Data Applianceのセキュリティ
Oracle Big Data Applianceの開発は、非常にセキュアなエンジニアド・システムを提供することに重点を置いています。これは製品のあらゆる側面を対象としています(強い認証(Kerberos)、認可、ネットワーク暗号化、使用されていないデータの暗号化、監査および系統/影響分析)。
2.1 概要
Oracle Big Data Applianceではソフトウェアやデータの不正利用を防ぐために、この項で説明する予防策を取ることができます。
- 事前定義済のユーザーおよびグループについて
- ユーザー認証について
- ファイングレイン認証について
- HDFSでの透過的暗号化について
- HTTPS/ネットワーク暗号化について
- Oracle Big Data Applianceで使用されるポート番号
- Puppetのセキュリティについて
- クラスタの保護に関する追加のガイダンス
関連項目:
Oracle Big Data Applianceの開発は、Oracleの包括的なOSSA (Oracle Software Security Assurance)標準に従っています。
https://www.oracle.com/corporate/security-practices/assurance/
2.2 事前定義済のユーザーおよびグループについて
Oracle Big Data Applianceにインストールされるオープンソース・パッケージごとに、1つ以上のユーザーおよびグループが作成されます。このようなユーザーのほとんどは、ログイン権限、シェル、またはホーム・ディレクトリを持っていません。これらはデーモンによって使用され、各ユーザー向けのインタフェースとしては設計されていません。たとえば、Hadoopはhdfs
ユーザーとして、MapReduceはmapred
として、Hiveはhive
としてそれぞれ動作します。
Oracle Big Data Applianceソフトウェアのインストール直後にHadoopおよびHiveジョブを実行するには、oracle
IDを使用できます。このユーザー・アカウントは、ログイン権限、シェル、およびホーム・ディレクトリを保持しています。
Oracle NoSQL DatabaseおよびOracle Data Integratorはoracle
ユーザーとして実行します。プライマリ・グループはoinstall
です。
ノート:
インストール時に作成されたユーザーは、ソフトウェアの操作に必要なため、削除、再作成および変更はしないでください。
次の表に、Oracle Big Data Applianceソフトウェアのインストール時に自動的に作成され、CDHコンポーネントおよびその他のソフトウェア・パッケージによって使用されるオペレーティング・システム・ユーザーおよびグループを示します。
表2-1 オペレーティング・システム・ユーザーおよびグループ
ユーザー名 | グループ | 使用者 | ログイン権限 |
---|---|---|---|
|
|
Apache Flume親およびノード |
なし |
|
|
Apache HBaseプロセス |
なし |
|
|
なし |
|
|
|
なし |
|
|
|
Hueプロセス |
なし |
|
|
ResourceManager、NodeManager、Hive Thriftデーモン |
あり |
|
|
あり |
|
|
|
Oozieサーバー |
なし |
|
|
Oracle NoSQL Database、Oracle Loader for Hadoop、Oracle Data IntegratorおよびOracle DBA |
あり |
|
|
Puppet親( |
なし |
|
|
Apache Sqoopメタストア |
なし |
|
自動サービス・リクエスト |
なし |
|
|
|
ZooKeeperプロセス |
なし |
2.3 ユーザー認証について
Oracle Big Data Applianceは、ソフトウェア・インストールのオプションとしてKerberosセキュリティをサポートしています。Kerberosで保護されているクラスタにアクセスするためのクライアントとユーザーの設定の詳細は、「Oracle Big Data Applianceへのユーザー・アクセスのサポート」を参照してください。
2.4 ファイングレイン認証について
Hadoop上の通常の認可モデルはHDFSファイル・レベルであり、ユーザーはファイル内のすべてのデータへのアクセス権を持っているか、またはまったく持っていないかのどちらかです。対照的に、Apache SentryはHiveおよびImpala SQL問合せエンジンと統合され、Hadoopに格納されているデータに対するファイングレイン認証の機能を備えています。
Mammothユーティリティ・バージョン2.5より、Oracle Big Data Applianceは、ソフトウェアのインストール中にSentryを自動的に構成します。
関連項目:
-
Cloudera Managerのヘルプ
-
My Oracle Supportの
bdacliを使用してOracle Big Data Appliance v4.2以上にSentryを追加または削除する方法(Doc ID 2052733.1)
。
2.5 HDFSでの透過的暗号化について
HDFSでの透過的暗号化では、ディスク上に保存されているHadoopデータを保護します。HDFSでの透過的暗号化をOracle Big Data Appliance上のクラスタについて有効化すると、ディスク上の暗号化されたゾーン(HDFSディレクトリ)に対するデータ書込みとデータ読取りが、自動的に暗号および復号化されます。このプロセスは、そのデータを処理しているアプリケーションには表示されないため、透過的です。
HDFSでの透過的暗号化は、パフォーマンスに若干影響する可能性はありますが、Hadoopデータへのユーザー・アクセスには影響しません。
HDFSでの透過的暗号化は、Mammothユーティリティによるソフトウェアの初期インストール時に選択できるオプションです。また、bdacli
ユーティリティを使用して、いつでもHDFSでの透過的暗号化を有効または無効にすることもできます。HDFSでの透過的暗号化は、Kerberosで保護されたクラスタ上にのみインストールできることに注意してください。
Navigator Key Trustee (キーおよび証明書を管理するサービス)をOracle Big Data Appliance外部の別のサーバー上に設定することをお薦めします。
HDFS透過的暗号化のインストールおよび有効化の手順は、My Oracle Supportの次のMOSドキュメントを参照してください。
タイトル | MOSドキュメントID |
---|---|
How to Setup Highly Available Active and Passive Key Trustee Servers on BDA V4.4 Using 5.5 Parcels | 2112644.1
パッケージベースのインストールよりも、このMOSドキュメントで説明されているパーセルを使用したインストールをお薦めします。パーセルに関するClouderaのコメントを参照してください。 |
How to Enable/Disable HDFS Transparent Encryption on Oracle Big Data Appliance V4.4 with bdacli | 2111343.1 |
How to Create Encryption Zones on HDFS on Oracle Big Data Appliance V4.4 | 2111829.1 |
ノート:
HDFSでの透過的暗号化またはKerberosのいずれかが無効化されている場合、クラスタ内のHDFSでの透過的暗号化ゾーンに格納されているデータは暗号化されたままとなるため、アクセス不可です。データへのアクセスを復元するには、同じキー・プロバイダを使用してHDFS透過的暗号化を再度有効にします。
関連項目:
暗号化ゾーンにおけるファイルの管理の詳細は、HDFSによる休止状態での暗号化に関するClouderaドキュメント(http://www.cloudera.com)を参照してください。
2.6 HTTPS/ネットワーク暗号化について
Big Data ApplianceでのHTTPSネットワーク/暗号化には、次の2つのコンポーネントがあります。
-
Web Interface Encryption
WebインタフェースCloudera Manager、OozieおよびHUEについてHTTPSを構成します。この暗号化は、新しいMammothインストールでは自動的に有効化されるようになりました。現在のインストールでは、bdacliユーティリティを介して有効化できます。この機能ではKerberosが有効化されている必要はありません。
-
Encryption for Data in Transit and Services
この機能には、2つのサブコンポーネントがあります。どちらも、インストール時に構成ユーティリティで有効にしたり、いつでもbdacliユーティリティを使用して有効化/無効化することができるオプションです。どちらの場合もKerberosが有効化されている必要があります。-
Encrypt Hadoop Services
これには、HDFS、MapReduceおよびYARNの各Webインタフェース用のSSL暗号化やMapReduceとYARN用の暗号化シャッフルが含まれます。また、これにより、MapReduceおよびYARNロールのWebコンソールへのアクセスの認証も有効化されます。
-
Encrypt HDFS Data Transport
このオプションにより、DataNodeとクライアントとの間およびDataNode間で転送されるデータの暗号化が有効化されます。
-
HTTPS/ネットワーク暗号化は、クラスタごとに有効化および無効化されます。『Oracle Big Data Applianceオーナーズ・ガイド』の構成ユーティリティの説明には、クラスタを作成するときに、HadoopサービスおよびHDFSデータ・トランスポートの暗号化を有効化するための設定が含まれています。bdacliユーティリティのリファレンス・ページ(または『Oracle Big Data Applianceオーナーズ・ガイド』)には、HTTPS/ネットワーク暗号化コマンドライン・オプションについて記載されています。
関連項目:
CDHクラスタを保護するためにKerberosを使用する方法の概要は、「Oracle Big Data Applianceへのユーザー・アクセスのサポート」 を参照してください。
保存されているHadoopデータを対象としたOracle Big Data Applianceセキュリティの詳細は、「HDFSでの透過的暗号化について」を参照してください。
Cloudera ManagerにおけるHTTPS通信およびCDHにおけるネットワークレベルの暗号化の詳細は、Clouderaドキュメント(http://www.cloudera.com)を参照してください。
2.6.1 Kerberos認証を使用するためのWebブラウザの構成
Webインタフェース暗号化が有効化されている場合、HDFS、MapReduceまたはYARNで暗号化されたWebインタフェースにアクセスする各Webブラウザを、Kerberosを使用して認証するように構成する必要があります。これは、Kerberosを必要としないCloudera Manager、OozieおよびHueの各Webインタフェースでは不要であることに注意してください。
Mozilla Firefox脚注 1、Microsoft Internet Explorer脚注 2およびGoogle Chrome脚注 3でKerberos認証を構成するステップは、次のとおりです。
Mozilla Firefoxを構成するには、次の手順を実行します。
-
ロケーション・バーに
about:config
と入力します。 -
about:configページの「検索」ボックスに、
network.negotiate-auth.trusted-uris
と入力します -
「設定名」の下の、
network.negotiate-auth.trusted-uris
をダブルクリックします。 -
「文字列を入力してください」ダイアログで、Kerberosによって保護するWebサーバーのホスト名またはドメイン名を入力します。複数のドメインおよびホスト名は、カンマで区切ります。
Microsoft Internet Explorerを構成するには、次の手順を実行します。
-
ローカル・イントラネット・ドメインを構成します。
-
Microsoft Internet Explorerを開き、右上隅にある「設定」歯車アイコンをクリックします。
「Internet options」
を選択します。 -
「セキュリティ」タブを選択します。
-
「ローカル イントラネット」ゾーンを選択して、「サイト」をクリックします。
-
最初の2つのオプション
「ほかのゾーンにないローカル (イントラネット) のサイトをすべて含める」
および「プロキシ サーバーを使用しないサイトをすべて含める」
を選択します。 -
「ローカル イントラネット」
ダイアログ・ボックスで「詳細設定」をクリックし、一度に1つずつ、Kerberosで保護されたドメインの名前をWebサイトのリストに追加します。 -
「Close」をクリックします。
-
「OK」をクリックして構成変更を保存してから、もう一度「OK」をクリックし、「インターネット オプション」パネルを終了します。
-
-
Microsoft Internet Explorer用のイントラネット認証を構成します。
-
右上隅にある「設定」歯車アイコンをクリックします。
「Internet Options」
を選択します。 -
「セキュリティ」タブを選択します。
-
「ローカル イントラネット」ゾーンを選択して、「レベルのカスタマイズ...」ボタンをクリックし、「セキュリティ設定 - ローカル イントラネット ゾーン」ダイアログ・ボックスを開きます。
-
「ユーザー認証」オプションまで下方向にスクロールして、
「イントラネット ゾーンでのみ自動的にログオンする」
を選択します。 -
「OK」をクリックして、変更内容を保存します。
-
Google Chromeを構成するには、次の手順を実行します。
Microsoft Windowsを使用している場合、「コントロール パネル」を使用して、「インターネット オプション」ダイアログ・ボックスに移動します。必要な構成変更は、Microsoft Internet Explorerについて前述した内容と同じです。
脚注 4またはLinuxでは、 --auth-server-whitelist
パラメータをgoogle-chrome
コマンドに追加します。たとえば、ChromeをLinuxプロンプトから実行するには、google-chromeコマンドを次のように実行します
google-chrome --auth-server-whitelist = "hostname/domain"
ノート:
Microsoft Windowsでは、WindowsユーザーはKerberosレルムのユーザーである必要があり、有効なチケットを処理する必要があります。これらの要件が満たされない場合は、Kerberosで保護されたWebインタフェースにアクセスしようとすると、ブラウザにHTTP 403が表示されます。2.7 Puppetのセキュリティについて
Puppetノード・サービス(puppetd
)は、すべてのサーバー上でroot
として継続的に実行されます。Puppetマスターに対する更新リクエストのトリガーとなるキック・リクエストを、ポート8139上でリスニングします。このポート上で更新は受信しません。
Puppetマスター・サービス(puppetmasterd
)は、Oracle Big Data Applianceのプライマリ・ラックの第1サーバー上で、Puppetユーザーとして継続的に実行されます。ポート8140上で、Puppetノードに更新をプッシュするリクエストをリスニングします。
Puppetノードは、ソフトウェアのインストール時に初期登録するため、証明書を生成してPuppetマスターに送信します。ソフトウェアのアップデートの場合は、PuppetマスターからPuppetノードに信号(キック)が送信され、そこから登録先のPuppetマスター・ノードに対して、すべての構成変更がリクエストされます。
Puppetマスターは、既知の有効な証明書を保持しているPuppetノードに対してのみ更新を送信します。Puppetノードは、初期登録されたPuppetマスターのホスト名からの更新のみを受け付けます。Oracle Big Data Applianceでは、ラック内の通信に内部ネットワークを使用するため、Puppetマスターのホスト名は、/etc/hosts
を使用して、内部のプライベートIPアドレスに解決されます。
2.8 Oracle Big Data Applianceで使用されるポート番号
次の表に、CDH用のポート番号の他に使用される可能性のあるポート番号を示します。
特定のサーバー上で使用されるポート番号を確認するには、次の手順を実行します。
-
Cloudera Managerで、ページ上部にある「Hosts」タブをクリックして、「Hosts」ページを表示します。
-
「Name」列でサーバーのリンクをクリックすると、その詳細ページが表示されます。
-
「Ports」セクションまで下方向にスクロールします。
関連項目:
CDHコンポーネントのポート番号の詳細なリストは、次に示すClouderaのWebサイトを参照してください。
https://www.cloudera.com/documentation/enterprise/6/6.1/topics/cdh_ports.html#cdh_ports
表2-2 Oracle Big Data Applianceのポート番号
サービス | ポート |
---|---|
30920 |
|
3306 |
|
20910 |
|
Oracle NoSQL Database管理 |
5001 |
5010から5020 |
|
Oracle NoSQL Database登録 |
5000 |
111 |
|
8140 |
|
Puppetノード・サービス |
8139 |
668 |
|
22 |
|
6481 |
|
Key Management Server (アプライアンスでホストされている場合) | 16000 |
2.9 クラスタの保護に関する追加のガイダンス
脚注の凡例
脚注1: Mozilla FirefoxはMozilla Foundationの登録商標です。脚注2: Microsoft Internet ExplorerはMicrosoft社の登録商標です。
脚注3: Google ChromeはGoogle社の登録商標です
脚注4: Mac OSはApple社の登録商標です。