16.04前書きOrientDBは、ドキュメントデータベースとグラフデータベースをサポートするマルチモデルのNoSQLデータベースです。これはJavaアプリケーションであり、任意のオペレーティングシステムで実行できます。マルチマスターレプリケーションをサポートするACIDに完全に対応しています。使用できるOrientDBには、サーバーインスタンスへの接続とデータベースへの接続の両方に認証が必要な非常に優れたセキュリティ体制があります。Kerberos認証やLDAPユーザーなどの他のセキュリティスキームもサポートされていますが、追加のソフトウェアシステムのセットアップが含まれます。この記事では、代わりに、デフォルトで利用可能なリソースのみを使用してOrientDBのCommunityエディションのインストールを保護することに焦点を当てます。UIとコンソールの両方からOrientDBデータベースアカウントを管理します。前提条件このチュートリアルを実行するには、次のものが必要です。16.04用のこのOrientDBインストールガイド]。`ディレクトリにインストールされていることを前提としています。+`は、Linuxにサードパーティアプリケーションをインストールする従来の場所です。Webサーバーへのアクセスを制限するOrientDBは通常のWebサーバーアプリケーションですが、インターネットやパブリックネットワークに公開することを意図したものではありません。それへの管理アクセスは、ローカルネットワークに限定する必要があります。安全なOrientDBアプリケーションを実行する最初のステップは、実行中のオペレーティングシステムを保護することです。ファイアウォールを実行している必要があります。16.04での初期サーバーセットアップガイド]に従ってUFWをセットアップしてください。Studioにアクセスできます。Studioおよびコンソールへのアクセスが常に拒否されていることを確認したい場合は、構成ファイルにいくつかの変更を加える必要があります。そのファイルを編集用に開きます。ip-address」パラメーターを「0.0.0.0」から「127.0.0.1」に変更します。.ファイルを保存して閉じます。OrientDBデーモンの実行中に構成ファイルに変更が加えられた場合は、必ず再起動してください。orientdbこれにより、パブリックインターネットからStudioへのすべての接続が切断されます。http://:2480+」にアクセスして、Studioに接続してみてください。今回は、接続が拒否されます。この手順では、外部ネットワークからのセキュリティに焦点を当てました。次のステップでは、OrientDBサーバーインスタンスの内部のセキュリティを強化します。手順2-OrientDBサーバーインスタンスの保護ここでは、ゲストアカウントを削除し、OrientDBの構成ファイルの権限を変更する方法を学びます。`ディレクトリへの読み取り/書き込みアクセスを許可することです。そのディレクトリのデフォルトの許可は「+755」ですが、実行ビットを設定する必要さえありません。/opt/orientdb/configそして、物事をもう少し弱めるには、構成ファイル自体の許可を強化します。/opt/orientdb/config/orientdb-server-config.xmlこのチュートリアルの残りのセキュリティのヒントはOrientDBコンソールを介して行われるので、今すぐ接続してください。/opt/orientdb/bin/console.shすべてのOrientDBサーバーインスタンスは、複数のOrientDBデータベースをサポートできます。*の2つのユーザーアカウントが付属しています。OrientDBサーバーを最初にインストールして起動したときに、ルートアカウントのパスワードを設定するオプションが与えられました。ゲストアカウント用に自動生成されたパスワードのハッシュ形式もそのファイルに保存されます。OrientDBコンソールから、次のように入力して両方のアカウントに関する情報を表示できます。users出力には、両方のアカウントが持っている権限が示されます。*ユーザーはすべてのタスクを実行できます。*制限された特権であっても、ゲストアカウントを保持したくない場合があります。+`コマンドを使用します。*ユーザーのみが表示されます。*アカウントがユーザータグから削除されていることがわかります。サーバーインスタンスのセキュリティが強化されたので、次にデータベース自体のセキュリティを強化します。ステップ3-OrientDBデータベースへのアクセスを制限するOrientDBインストールを保護するための次のステップは、データベース自体への不正アクセスを取得することを非常に困難にすることです。*というユーザー名を持つ3つのビルトインアカウントがあり、それぞれにユーザー名と同じパスワードがあります。これはテストには適していますが、実稼働システムには適していません。少なくとも、3つのアカウントすべてのパスワードを変更する必要があります。良いことには、不要なものは削除または一時停止する必要があります。これらのアカウントの管理方法の選択は、ニーズと環境によって異なります。*アカウントを削除する方法を学びます。Studioからこれら3つのアクションのいずれかを実行できます。OrientDBコンソールからユーザーアカウントを管理するコンソールからユーザーアカウントを変更するには、アカウントを管理するデータベースに接続する必要があります。*)を使用して接続します。*アカウントとパスワードで接続することもできます。どちらの場合でも、プロンプトが変わり、特定のデータベースに接続していることを示す必要があります。{db=GratefulDeadConcerts}>データベースのユーザーを一覧表示するには、次を入力します。+`は、ユーザーパスワードが保存されるOrientDBレコードです。ouser完全な出力は次のようになります。*ステータスになっていることに注意してください。*ユーザーのパスワードを変更するには、次のコマンドを使用します。*アカウントをデータベースから完全に削除するには、次を使用します。user上記のすべてを実行し、アカウントのリストを再度表示すると、次の出力が表示されます。アカウントの1つが欠落しており、別のアカウントが停止しています。|writer|{PBKDF2WithHmacSHA256}22D3068CC3A39C08A941B4BF8B4CEB09D2609C20661529E3:8D6DA7FB4AF329234CA643663172EE913764E3096F63D007:65536|SUSPENDED|[#4:2]|+----+----+------+------+-----------------------------------------------------------------------------------------------------------------------------+---------+------+すべてのユーザー管理タスクを完了した後、次のように入力してデータベースから切断する(つまり、閉じる)ことができます。StudioからOrientDBユーザーアカウントを管理する方法を学びます。http://:2480+」にアクセスしてスタジオを起動します。手順1でStudioへのアクセスを制限した場合は、再度許可する必要があります。最初に表示される画面はログイン画面です。*とパスワードを使用してログインします。ログイン後、[セキュリティ]タブをクリックします。そのページには、3人のデフォルトユーザーがすべて表示されます。*アカウントのパスワードを変更するには:[アクション]列の下にある[編集]をクリックすると、小さな[ユーザーの編集]ウィンドウが表示されます。*フィールドのパスワードを変更します。*リーダー*アカウントを削除するには:アカウントの[アクション]列の[削除]ボタンをクリックします。*アカウントを一時停止するには:[アクション]の下の[編集]をクリックすると、小さな[ユーザーの編集]ウィンドウが表示されます。*ステータス*プルダウンメニューで、*サスペンド*を選択します。次のステップでは、保存中のOrientDBデータベースを暗号化する方法を学びます。ステップ4-OrientDBデータベースの暗号化OrientDBは暗号化されたデータベースをサポートし、保存されたデータのセキュリティを強化します。OrientDBデータベースは、作成時にのみ暗号化できます。既存のデータベースを暗号化する必要がある場合は、暗号化されたデータベースにエクスポートおよびインポートする必要があります。このセクションでは、作成時にデータベースを暗号化することを指定するプロセスを実行します。OrientDBはAESとDES暗号化アルゴリズムの両方をサポートしますが、AESはより強力であるため、AESが推奨されます。暗号化キーを設定し、データベースを作成し、暗号化方法(AESまたはDES)を指定する必要があります。+`でなければならないことに注意してください。+」で終わる24文字の単一のキーを生成します。1`==パスワードと同じように、このキーを安全な場所に保管してください。作成する新しいデータベースの暗号化キーを設定するには、OrientDBコンソールに次を入力します。storage.encryptionKey次に、そのキーを使用して暗号化されたデータベースを作成します。-encryption=aes新しいデータベースに自動的に接続され、それを反映するようにプロンプ​​トが変更されます。データベースから切断するには、単に次を入力します。encrypted-db}>'>disconnectOrientDBデータベースの暗号化に使用される暗号化キーはシステムに保存されないことに注意してください。コンソールからデータベースとやり取りしたいときはいつでも、暗号化キーの設定に使用したのと同じコマンドを入力する必要があります。storage.encryptionKey次に、データベースを開くには、次のように入力します。Studioから新しいデータベースを作成できますが、暗号化されたデータベースは作成できないことに注意してください。公開時には、コンソールから暗号化されたデータベースのみを作成できます。UIの両方からユーザーアカウントを管理し、保存中のOrientDBデータベースを暗号化しました。これらは基本的ですが重要なセキュリティ構成であり、OrientDBサーバーとデータベースのセキュリティプロファイルを高めるために作成できます。[このOrientDBドキュメント]にアクセスして、OrientDBセキュリティに関する追加情報にアクセスできます。