Назад | Перейти на главную страницу

Защита MONGODB с помощью TLS (и взаимного TLS)

Следуя инструкциям, изложенным в SSL-шифрование MongoDB и драйвер Spring, У меня 2.1.0, и после сборки он говорит, что не распознает sslOnNormalPorts, sslPEMKeyFile или sslPEMKeyPassword.

Но я увидел --keyFile и использовал его (мне пришлось вырезать начальные и конечные ----- BEGIN RSA PRIVATE KEY ---- и ----- END RSA PRIVATE KEY ---- и завершающий '==' ключа в кодировке Base64).

Теперь, если я запускаю оболочку mongo, все мои команды работают нормально (показать dbs, использовать xyz, db.abc.find () и т. Д.)

Если я попытаюсь указать хост и порт, я получу:

mongo --host 192.168.1.100 --port 27017 MongoDB shell version: 2.1.0 connecting to: 192.168.1.100:27017/test

show dbs Mon Apr 30 21:37:37 uncaught exception: listDatabases failed:{ "errmsg" : "need to login", "ok" : 0 }

Если я добавлю флаг --ssl для запуска оболочки mongo, она просто зависнет. Пока mongod выплевывает:

Mon Apr 30 21:40:53 [initandlisten] options: { keyFile: "/Users/tshrestha/Downloads/key.pem" }
Mon Apr 30 21:40:53 [initandlisten] journal dir=/data/db/journal
Mon Apr 30 21:40:53 [initandlisten] recover : no journal files present, no recovery needed 
Mon Apr 30 21:40:53 [websvr] admin web console waiting for connections on port 28017
Mon Apr 30 21:40:53 [initandlisten] waiting for connections on port 27017
Mon Apr 30 21:41:16 [initandlisten] connection accepted from 192.168.1.102:64413 #1 (1 connection now open)
Mon Apr 30 21:41:53 [clientcursormon] mem (MB) res:14 virt:2419 mapped:0

Я использую Mac OSX 10.7

Параметр keyfile предназначен для аутентификации между экземплярами mongod, а не SSL - он обрабатывает ваш урезанный ключ SSL как просто строку символов. У вас есть действительно длинный пароль, не более того. См. Здесь для получения дополнительной информации:

http://www.mongodb.org/display/DOCS/Security+and+Authentication

Вам не хватает части, где вам нужно перекомпилировать, используя scons с флагом ssl. Перечитайте эту страницу:

http://www.mongodb.org/display/DOCS/Building+for+OS+X

Вам нужно следовать инструкциям там, пока не дойдете до той части, где написано следующее:

scons all

Для сборки с поддержкой SSL вам нужно будет использовать:

scons --ssl all

После завершения сборки mongod распознает ваши параметры, связанные с SSL. Примечание. Я делал это в Mac OS X много раз без проблем.