Protegendo MONGO com TLS (e TLS mútuo)

4

Seguindo as instruções descritas em Criptografia SSL do MongoDB e o driver do Spring , Eu tenho 2.1.0 e depois de construí-lo, ele diz que não reconhece sslOnNormalPorts, sslPEMKeyFile ou sslPEMKeyPassword.

Mas eu vi um --keyFile, e usei-o (eu tive que remover o início e o final - ---- BEGIN RSA PRIVATE KEY ---- e ----- END RSA PRIVATE KEY --- -, e arrastando '==' da chave codificada em Base64).

Agora, se eu iniciar o shell mongo, todos os meus comandos funcionarão bem (show dbs, use xyz, db.abc.find () etc.)

Se eu tentar especificar o host e a porta, obtenho:

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 }

Se eu adicionar o sinalizador --ssl para iniciar o shell mongo, ele simplesmente trava. Enquanto mongod cospe:

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

Estou no Mac OSX 10.7

    
por Ustaman Sangat 01.05.2012 / 16:17

1 resposta

1

A opção keyfile é para autenticação entre instâncias mongod, não SSL - trata a sua chave SSL simplificada simplesmente como uma cadeia de caracteres. O que você tem aí é uma senha muito longa, nada mais. Veja aqui para mais informações:

link

Você está perdendo a parte onde você tem que recompilar usando scons com o sinalizador ssl. Releia esta página:

link

Você precisa seguir as instruções até chegar à parte onde está escrito:

scons all

Para uma versão com SSL, você precisará usar:

scons --ssl all

Após a conclusão da compilação, o mongod reconhecerá suas opções relacionadas ao SSL. Nota - Eu fiz isso no Mac OS X muitas vezes sem problemas.

    
por 02.05.2012 / 17:25

Tags