Configuración basada en host, comúnmente conocida como PH_HBA.conf, es un archivo especial utilizado para la autenticación del cliente PostgreSQL. Puede pensarlo como un archivo de configuración para administrar las políticas de acceso al clúster de la base de datos PostgreSQL.
Antes de sumergirnos en cómo trabajar con el archivo de configuración de PostgreSQL, instalar PostgreSQL. Si ya lo tiene instalado, no dude en omitir la sección.
Instalación de PostgreSQL
Para seguir con esta guía, debe asegurarse de tener instalado PostgreSQL. Ilustraré cómo instalarlo en un sistema Debian.
En el sistema Arch - https: // Linuxhint.com/install-postgresql-10-arch-linux/
En centos/rehl - https: // Linuxhint.com/install_postgresql_centos8/
Comience actualizando su sistema con el comando:
actualización de instalación de sudo apt-getUna vez actualizado, cree una configuración de repositorio de archivos.
sudo sh -c 'echo "deb http: // apt.postgresql.org/pub/repos/apt $ (lsb_release -cs) -pgdg main ">/etc/apt/fuentes.lista.d/pgdg.lista'A continuación, importe la clave de firma y actualice su sistema como:
wget --quiet -o -https: // www.postgresql.org/Media/Keys/ACCC4CF8.ASC | sudo apt-key add-&& sudo apt-get actualizaciónFinalmente, instale el servidor y el cliente PostgreSQL con el comando:
sudo apt-get instalación postgresql-13 postgreSQL-client-13Puede especificar otras versiones PostgreSQL como PostgreSQL 9, 10, 11, 12, 14, etc.
Ahora puede inicializar el clúster PostgreSQL con el comando:
PG_CTLCLUST 13 Start principalComprender el archivo PH_HBA
De forma predeterminada, el archivo de configuración PH_HBA se encuentra en el directorio de clúster raíz.
En nuestro ejemplo, está en:
/etc/postgresql/13/main/ph_hba.confusiónEl PG_HBA sigue un formato de configuración simple. Incluye un conjunto de reglas de configuración, una regla por línea.
El archivo de configuración no es sensible a los espacios en blanco, y todos los archivos precedidos por un # se tratan como comentarios e ignorados.
Las reglas PG_HBA no pueden abarcar por múltiples líneas, ya que cada línea se interpreta como una regla separada.
El archivo de configuración contiene 5 registros en el siguiente formato respectivamente:
PostgreSQL acepta varios métodos de autenticación. Éstas incluyen:
Lo anterior es una lista de algunos de los métodos de autenticación compatibles. Puede consultar otros métodos en la documentación oficial.
Configuraciones de ejemplo
La configuración PG_HBA es un archivo de texto sin procesar que puede editar con cualquier editor de texto compatible.
Las siguientes son algunas configuraciones que puede hacer para solucionar problemas o fines de seguridad.
Permita que cualquier usuario se conecte a cualquier base de datos (local).
Tipo de base de datos Método de dirección de usuarioPermitir que cualquier usuario de IP específico se conecte a una base de datos específica si la contraseña es correcta.
Tipo de base de datos Método de dirección de usuarioRechazar todas las conexiones de una subred IP específica
Tipo de base de datos Método de máscara IP-Address de la base de datosPermitir o rechazar un segmento de red IP específico
Tipo de base de datos Método de dirección de usuarioEspecificar direcciones en el protocolo IPv4.
Permita que cualquier usuario se conecte a cualquier base de datos en IPv6
Tipo de base de datos Método de dirección de usuarioPara cubrir tanto IPv6 como IPv4, puede especificar el nombre de host en su lugar.
Tipo de base de datos Método de dirección de usuarioGuardar y aplicar la configuración
Antes de guardar la configuración, asegúrese de que esté en el formato correcto. Para recargar y aplicar los cambios, puede usar la utilidad PG_CTL.
El comando es:
PG_CTL RELOAD -S -D/ETC/POSTGRESQL/13El -d especifica el directorio que contiene el archivo de configuración. Si no se especifica ninguno, se usa el valor predeterminado.
En resumen
El PG_HBA.El archivo de configuración de Conf ayuda a especificar la autenticación del cliente en el servidor PostgreSQL. Hacer cambios puede permitirle asegurar su sistema y solo permitir usuarios y hosts específicos.