Database  »  Articoli  »  Altri Database 

Login sicuro su PostgreSQL

di: Marco Buratto     01 Luglio 2008

PostgreSQL è un famoso DBMS relazionale, basato sul ben noto paradigma client-server, completamente gratuito ed open source, che annovera molte caratteristiche avanzate, quali viste, triggers, supporto pieno per la transazionalità, e via discorrendo.

Il presente articolo descrive il porting verso PostgreSQL della pseudo-applicazione di login sicuro creata su database MySQL e presentata in un precedente articolo. Il deploy è su un server Linux Debian.

Per i dettagli sulla logica di funzionamento del programma rimando all'articolo su Html.it, che descrive la pseudo-applicazione nel dettaglio. Essa viene di fatto qui usata quale esempio di un primo utilizzo di PostgreSQL al fine di presentare la filosofia del DBMS inerente la logica di utilizzo e le politiche di sicurezza.

Descriveremo dapprima l'installazione del DBMS su Linux Debian, quindi procederemo con la creazione di un database, descrivendo le caratteristiche più importanti per quanto riguarda autenticazione, connessione e scambio dati tra client e server. Solo al termine dell'articolo torneremo a parlare del login a sfida.

Installazione di PostgreSQL, PHP ed Apache

Installeremo prima di tutto PostgreSQL, PHP ed Apache. Otterremo un ambiente di lavoro che potremmo chiamare LAPP (Linux, Apache, PostgreSQL, PHP), in opposizione al più noto LAMP. Tutte le operazioni dette di qui in poi verranno svolte da shell in qualità di utente root.

Per conoscere la versione corrente del server database, che al momento in cui scrivo è rappresentata dalla 8.3, utilizziamo i seguenti comandi (i comandi digitati, per differenziarli dalle risposte del sistema, sono scritti qui e in seguito in rosso; i nostri commenti sono scritti in ciano):

apt-get update; apt-cache search postgres | grep postgres

Al fine di installare e configurare PostgreSQL quale servizio, una volta ottenute le informazioni sul nome del pacchetto Debian da scaricare, usiamo:

apt-get install postgresql-8.3

Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso      
Reading state information... Fatto              

I seguenti pacchetti verranno inoltre installati:
  postgresql-client-8.3 postgresql-client-common postgresql-common ssl-cert

Pacchetti suggeriti:
  postgresql-doc-8.3

I seguenti pacchetti NUOVI (NEW) saranno installati:
postgresql-8.3 postgresql-client-8.3 postgresql-client-common
postgresql-common ssl-cert

0 aggiornati, 5 installati, 0 da rimuovere e 0 non aggiornati.  

[...]                                                                                                                  

Configuro postgresql-8.3 (8.3.1-1) ...
Creating new cluster (configuration: /etc/postgresql/8.3/main, data: /var/lib/postgresql/8.3/main)...
Moving configuration file /var/lib/postgresql/8.3/main/postgresql.conf to /etc/postgresql/8.3/main...
Moving configuration file /var/lib/postgresql/8.3/main/pg_hba.conf to /etc/postgresql/8.3/main...
Moving configuration file /var/lib/postgresql/8.3/main/pg_ident.conf to /etc/postgresql/8.3/main...
Configuring postgresql.conf to use port 5432...
Starting PostgreSQL 8.3 database server: main.

Notiamo che i file di configurazione ed i file dati sono, come da consuetudine Debian, rispettivamente memorizzati nella cartella /etc (/etc/postgresql) e /var/lib (/var/lib/postgresql).

I file delle configurazioni inerenti l'autenticazione degli end-point sono leggibili (e modificabili) solamente dall'utente con cui gira PostgreSQL (e, sottinteso, da root):

-rw-r----- postgres postgres  pg_hba.conf
-rw-r----- postgres postgres  pg_ident.conf

I file dei dati seguono la medesima logica, ovvero solo PostgreSQL potrà accedere a queste cartelle, implicando la segretezza, l'integrità e l'autenticità dei dati, per lo meno a livello "sistemistico" (protezione interna).

Guide Database

Guida Access

Iniziare a sviluppare database grazie alla potenza visuale offerta...

Guida SQL Server 2005

L'RDBMS di Microsoft è uno dei più utilizzati, soprattutto in ambito...

Guida Oracle

Scoprire ed approfondire un dei più importanti RDBMS sulla scena...

Altre guide

Newsletter

Ogni settimana, in due distinte newsletter: notizie a approfondimenti su MySQL, SQLserver e Oracle.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Nessun corso previsto

Nessun corso previsto