GNU/Linux >> Linux の 問題 >  >> Debian

Debian11にMongoDBをインストールして保護する方法

MongoDBは、最新のアプリケーション開発者向けに設計された、オープンソースの汎用のドキュメントベースの分散データベースです。従来のテーブルベースのリレーショナルデータベース構造に依存しないため、NoSQLデータベースとも呼ばれます。テーブルスタイルのメソッドではなく、JSON形式でデータを保存します。さまざまなプログラミング言語と簡単に統合できます。 Facebook、Cisco、Forbes、Adobe、Nokiaなどの多くの有名企業で使用されています。

この投稿では、Debian11にMongoDBNoSQLデータベースをインストールして保護する方法を紹介します。

前提条件
  • Debian11を実行しているサーバー。
  • ルートパスワードはサーバーで構成されています。

MongoDBリポジトリを追加

デフォルトでは、MongoDBパッケージはDebian11のデフォルトリポジトリに含まれていません。そのため、MongoDB公式リポジトリをAPTに追加する必要があります。

まず、次のコマンドを使用して必要な依存関係をインストールします。

apt-get install curl apt-transport-https software-properties-common gnupg2 -y

すべての依存関係がインストールされたら、次のコマンドを使用してGPGキーをダウンロードして追加します。

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

次に、以下のコマンドを使用して、MongoDBリポジトリをAPTソースリストファイルに追加します。

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list

次に、リポジトリを更新し、次のコマンドを使用してMongoDBサーバーをインストールします。

apt-get update -y
apt-get install mongodb-org -y

インストールが正常に完了したら、MongoDBサービスを開始し、システムの再起動時に開始できるようにします。

systemctl start mongod
systemctl enable mongod

次に、以下のコマンドを使用してMongoDBのバージョンを確認します。

mongod --version

次の出力が得られるはずです:

db version v4.4.9
Build Info: {
    "version": "4.4.9",
    "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481",
    "openSSLVersion": "OpenSSL 1.1.1k  25 Mar 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "debian10",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

MongoDB認証を有効にする

デフォルトでは、認証はMongoDBで有効になっていません。セキュリティ上の理由から、MongoDB認証を有効にすることをお勧めします。

そのためには、MongoDBの管理ユーザーを作成する必要があります。

まず、次のコマンドを使用してMongoDBシェルに接続します。

mongo

接続したら、次のコマンドを使用してadminという名前のデータベースを作成します。

> use admin

次に、管理者ユーザーを作成し、パスワードを設定します:

> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

次の出力が表示されます。

Successfully added user: {
	"user" : "madmin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

次に、CTRL+Dを押してMongoDBシェルを終了します。次に、次のコマンドを使用してMongoDB構成ファイルを編集します。

nano /etc/mongod.conf

次の行を追加して、認証を有効にします。

security:
 authorization: enabled

ファイルを保存して閉じてから、MongoDBサービスを再起動して変更を適用します。

systemctl restart mongod

MongoDB接続を確認する

この時点で、MongoDB認証が有効になっています。次に、次のコマンドを実行して、ユーザー名とパスワードを使用してMongoDBシェルを接続します。

mongo -u madmin -p

認証が成功すると、次の出力が表示されます。

MongoDB shell version v4.4.9
Enter password: 
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") }
MongoDB server version: 4.4.9
> 

次に、データベースをadminに変更し、次のコマンドを使用してすべてのユーザーを一覧表示します。

> use admin
> show users

次の出力が得られるはずです:

{
	"_id" : "admin.madmin",
	"userId" : UUID("26dd5225-7bb6-4a57-96a0-7efc4e1a98ba"),
	"user" : "madmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

MongoDBをアンインストールする

システムにMongoDBが必要ない場合は、システムからアンインストールできます。

まず、次のコマンドでMongoDBサービスを停止します。

systemctl stop mongod

次に、次のコマンドを実行してMongoDBパッケージを削除します。

apt-get remove mongodb-org --purge

次に、次のコマンドを実行して、MongoDBログとデータディレクトリを削除します。

rm -rf /var/lib/mongodb
結論

おめでとう!これで、Debian 11にMongoDBが正常にインストールされ、保護されました。これで、WebアプリケーションでMongoDBを使用できます。詳細については、MongoDBの公式ドキュメントをご覧ください。


Debian
  1. Debian11にMariaDBをインストールして保護する方法

  2. Debian11にMongoDB5をインストールして設定する方法

  3. CentOS8にMongoDB4をインストールして保護する方法

  1. Debian10にOpenVPNサーバーをインストールして設定する方法

  2. Debian10にosqueryをインストールする方法

  3. Debian11にRedis6.0をインストールして設定する方法

  1. Debian9にMongoDBをインストールする方法

  2. Debian10LinuxにMongoDBをインストールする方法

  3. Debian10にRedisサーバーをインストールして保護する