2017-01-16 8 views
0

AWS LinuxサーバでMongoDB認証を使用しようとしています。私は Mongoセキュリティ認証が動作しない

$ sudo service mongod start 

はしかし、mogodが起動しない、私はserviceコマンドを使用してMongoDBのを実行しようとしています私のAWSサーバーで、問題なくWindows上で実行されているのMongoDBを使用して

>mongod --auth 

を認証を実行しました。問題は私の/etc/mongod.confファイルにあると思います。ここでは、認証を有効にした/etc/mongod.confがあります。

# mongod.conf 

# for documentation of all options, see: 
# http://docs.mongodb.org/manual/reference/configuration-options/ 

# where to write logging data. 
systemLog: 
destination: file 
logAppend: true 
path: /var/log/mongodb/mongod.log 

# Where and how to store data. 
storage: 
dbPath: /var/lib/mongo 
journal: 
enabled: true 
# engine: 
# mmapv1: 
# wiredTiger: 

# how the process runs 
processManagement: 
    fork: true # fork and run in background 
    pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile 

# network interfaces 
net: 
    port: 27017 
# bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces. 

security: 
authorization: enabled 

#operationProfiling: 

#replication: 

#sharding: 

## Enterprise-Only Options 

#auditLog: 

#snmp: 

セキュリティタグに問題があります。

security: 
authorization: enabled 

これを含めると、MongoDBは起動しません。私がそれを取り出すと、MongoDBは正常に起動しますが、セキュリティはありません。私が間違っていることは何ですか?

答えて

0

いいえ、私の悪い...ファイルはYAMLタイプです。私は元々入力しました

security: 
authorization: enabled 

私はYAMLだから、私はいくつかのスペースが必要でした。正しいエントリは、今も元気に動作

security: 
    authorization: enabled 
です。

ちなみに、MongoDBを使用していて公開IP /ポートが公開されている場合は、セキュリティを有効にすることを強くお勧めします。先週、AWSからメールを受け取りました。公開されているポートを持つMongoDBを使用している場合は、セキュリティを実装する必要があります。私はまだ開発中ですので、AWSの推奨事項を無視しました。まあ、3日後、誰かが私のデータベースにアクセスし、それらをコピーして削除し、新しいデータベースに私にトランスクリプトノートを残しました。彼らは私の既存のデータベースの復帰のために1つのビットコインを求めました。私は身代金を支払っていませんでした。幸いにも、これは私にとっては問題ではありませんでした。すべてのデータはテストデータが限られていました。マルウェアの爆発を防ぐために、私はAWSインスタンスを削除し、新しいインスタンスを作成し、承認を有効にして新しくMongoDBリリースをインストールしました。

このエピソードは、実際の顧客データでは災害であった可能性があります。パブリックアクセスでMongoDBを使用している場合は、許可を有効にしてください。

関連する問題