MongoDB: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Riga 46: Riga 46:
Essendo un servizio di rete, contattabile tramite l'infrastruttura TCP/IP, il primo modo per proteggere la nostra installazione di MongoDB è la configurazione di regole firewall tramite iptables che permettano il traffico sulle porte solo per gli indirizzi che si desidera.<br/>
Essendo un servizio di rete, contattabile tramite l'infrastruttura TCP/IP, il primo modo per proteggere la nostra installazione di MongoDB è la configurazione di regole firewall tramite iptables che permettano il traffico sulle porte solo per gli indirizzi che si desidera.<br/>
Lo stesso parametro bind_ip della configurazione di cui si è parlato rappresenta un primo elemento di sicurizzazione in quanto permette di agganciare il server ad un indirizzo specifico.
Lo stesso parametro bind_ip della configurazione di cui si è parlato rappresenta un primo elemento di sicurizzazione in quanto permette di agganciare il server ad un indirizzo specifico.
=== Autenticazione: il Secure Mode ===
Di default, MongoDB non lavora in secure mode ossia non fa uso dell'autenticazione. Ciò comunque in un ambiente di produzione ciò non può bastare ed abilitare l'autenticazione per gli utenti è doveroso.<br/>
Farlo comunque non è oneroso. Sarà sufficiente aggiungere nel file di configurazione /etc/mongodb.conf la seguente riga:
<pre>
auth=true
</pre>
A questo punto si dovrà abilitare degli utenti. Ciò che si deve specificare per ogni accesso è:
* nome utente e password;
* a quale database è consentito l'accesso;
* se l'accesso è in sola lettura o in lettura/scrittura (default).

Versione delle 21:58, 1 set 2012

Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.


Cos'è MongoDB ?

MongoDB è un database opensource che fa parte di una tipologia particolare: è un database NoSQL.
E' da tempo che si parla di questi prodotti che cercano di gestire i dati rompendo con la tradizione dei database relazionali e il linguaggio dichiarativo SQL.
MongoDB è un database orientato ai documenti e sfrutta molto il formato JSON per il trattamento delle informazioni.

Installare MongoDB

Se lo si vuole installare sulla propria macchina Debian è sufficiente utilizzare un unico comando aptitude, infatti:

# aptitude installa mongodb

procederà all'installazione del server e del client.
Nella tipica nomenclatura del mondo GNU/Linux:

  • il server prenderà il nome di mongod;
  • il client sarà mongo.

Start, Stop e Restart

L'avvio del servizio e le corrispondenti azioni di stop e riavvio sono disponibili tramite le rispettive seguenti operazioni:

# /etc/init.d/mongo start
# /etc/init.d/mongo stop
# /etc/init.d/mongo restart

Utilizzando il comando ps sarà possibile osservare l'effettivo successo dell'operazione impartita.

Configurazione

MongoDB è configurabile tramite il file /etc/mongodb.conf. Come capita spesso, il file predisposto ha valore di default ed è fornito di commenti esplicativi.
Comunque una configurazione normale di MongoDB ha bisogno solo di poche righe di configurazione pertanto conviene salvare il file originario di configurazione con un nuovo nome:

# mv /etc/mongodb.conf /etc/mongodb.conf.orig

e creare un nuovo file di configurazione di nome /etc/mongodb.conf, con un contenuto simile a questo:

bind_ip = 127.0.0.1
port = 27017
quiet = true
dbpath = /srv/mongodb
logpath = /var/log/mongodb/mongod.log
logappend = true

I pochi parametri impostati sono:

  • bind_ip: definire l'indirizzo su cui il server è in ascolto;
  • port: la porta TCP su cui il server sarà contattato;
  • dbpath: la directory che conterrà i database;
  • logpath: file di log.

Sicurezza

La sicurezza di MongoDB può essere curata sotto tre aspetti.

Firewall

Essendo un servizio di rete, contattabile tramite l'infrastruttura TCP/IP, il primo modo per proteggere la nostra installazione di MongoDB è la configurazione di regole firewall tramite iptables che permettano il traffico sulle porte solo per gli indirizzi che si desidera.
Lo stesso parametro bind_ip della configurazione di cui si è parlato rappresenta un primo elemento di sicurizzazione in quanto permette di agganciare il server ad un indirizzo specifico.

Autenticazione: il Secure Mode

Di default, MongoDB non lavora in secure mode ossia non fa uso dell'autenticazione. Ciò comunque in un ambiente di produzione ciò non può bastare ed abilitare l'autenticazione per gli utenti è doveroso.
Farlo comunque non è oneroso. Sarà sufficiente aggiungere nel file di configurazione /etc/mongodb.conf la seguente riga:

auth=true

A questo punto si dovrà abilitare degli utenti. Ciò che si deve specificare per ogni accesso è:

  • nome utente e password;
  • a quale database è consentito l'accesso;
  • se l'accesso è in sola lettura o in lettura/scrittura (default).