Configurazione basata su host, comunemente nota come ph_hba.conf, è un file speciale utilizzato per l'autenticazione client PostgreSQL. Puoi pensarlo come un file di configurazione per la gestione delle politiche di accesso al cluster di database PostgreSQL.
Prima di immergerci su come lavorare con il file di configurazione PostgreSQL, installamo PostgreSQL. Se lo hai già installato, sentiti libero di saltare la sezione.
Installazione di PostgreSQL
Per seguire questa guida, è necessario assicurarsi di avere PostgreSQL. Illustrerò come installarlo su un sistema Debian.
Su arch system - https: // linuxhint.com/install-postgresql-10-arch-linux/
On CentOS/rehl - https: // linuxhint.com/install_postgresql_centos8/
Inizia aggiornando il sistema con il comando:
Sudo Apt-get Installa AggiornamentoUna volta aggiornato, crea una configurazione del repository di file.
sudo sh -c 'echo "deb http: // apt.Postgresql.org/pub/repos/apt $ (lsb_release -cs) -pgdg main ">/etc/apt/fonti.elenco.d/pgdg.elenco'Quindi, importa la chiave di firma e aggiorna il tuo sistema come:
Wget --quiet -o -https: // www.Postgresql.Org/Media/Keys/ACCC4CF8.ASC | sudo apt-key aggiungi-&& sudo apt-get updateInfine, installa PostgreSQL Server e client con il comando:
sudo apt-get installa postgresql-13 postgresql-client-13È possibile specificare altre versioni PostgreSQL come PostgreSQL 9, 10, 11, 12, 14, ecc.
Ora puoi inizializzare il cluster PostgreSQL con il comando:
pg_ctlcluster 13 start principaleComprensione del file ph_hba
Per impostazione predefinita, il file di configurazione PH_HBA si trova nella directory del cluster root.
Nel nostro esempio, è in:
/etc/postgresql/13/main/ph_hba.confPG_HBA segue un semplice formato di configurazione. Include una serie di regole di configurazione, una regola per riga.
Il file di configurazione non è sensibile ai bianchi e tutti i file preceduti da un # vengono trattati come commenti e ignorati.
Le regole PG_HBA non possono estendersi per più righe poiché ogni riga viene interpretata come una regola separata.
Il file di configurazione contiene rispettivamente 5 record nel seguente formato:
PostgreSQL accetta vari metodi di autenticazione. Questi includono:
Quanto sopra è un elenco di alcuni dei metodi di autenticazione supportati. Puoi controllare altri metodi nella documentazione ufficiale.
Configurazioni di esempio
La configurazione PG_HBA è un file di testo grezzo che è possibile modificare con qualsiasi editor di testo supportato.
Di seguito sono riportate alcune configurazioni che puoi effettuare per la risoluzione dei problemi o per scopi di sicurezza.
Consenti a qualsiasi utente di connettersi a qualsiasi database (locale).
Digitare il metodo dell'indirizzo utente del databaseConsenti a qualsiasi utente da IP specifico di connettersi a un database specifico se la password è corretta.
Digitare il metodo dell'indirizzo utente del databaseRifiuta tutte le connessioni da una sottorete IP specifica
Digitare il metodo IP-Maschera per l'indirizzo IP dell'utente del databaseConsenti o rifiuta un segmento di rete IP specifico
Digitare il metodo dell'indirizzo utente del databaseSpecifica degli indirizzi nel protocollo IPv4.
Consenti a qualsiasi utente di connettersi a qualsiasi database su IPv6
Digitare il metodo dell'indirizzo utente del databasePer coprire sia IPv6 che IPv4, è possibile specificare il nome host.
Digitare il metodo dell'indirizzo utente del databaseRisparmio e applicazione della configurazione
Prima di salvare la configurazione, assicurarsi che sia nel formato corretto. Per ricaricare e applicare le modifiche, è possibile utilizzare l'utilità PG_CTL.
Il comando è:
PG_CTL RELADL -S -D/etc/PostgreSQL/13Il -D specifica la directory contenente il file di configurazione. Se non viene specificato nessuno, viene utilizzato il valore predefinito.
In sintesi
Il pg_hba.Il file di configurazione di configurazione aiuta a specificare l'autenticazione client sul server PostgreSQL. Apportare modifiche può consentire di proteggere il tuo sistema e consentire solo utenti e host specifici.