Publicidad

Instalacion desatendida de postgreSQL en Ubuntu


Por Alex el 22/11/2023, Comentar el artículo

Comparte este artículo:      




Instalar postgreSQL en Ubuntu Server es muy sencillo ejecutando unas sencillas instrucciones, ademas podemos automatizar este proceso en un script bash y activar el acceso remoto en el momento de la instalación ...


Recordar que es un script de ejemplo para ver como se puede y lo sencillo que es automatizar, en entornos de producción hay que seguir una medidas de seguridad que al final os cuento.

Lo primero es presentaros al protagonista del artículo, el script de instalación

#!/bin/bash

# instalación y configuración de postgresql
sudo apt-get -y install postgresql postgresql-contrib

# Esperamos 10 segundos que todo termine de instalarse y configurarse
sleep 10s

# Obtenemos la versión de postgreSQL para localizarla en el directoro.
# Si la versión tiene un . por ejemplo 9.6 esto no funciona y tendréis que
# o modificar el comando para que coga toda la versión o ponerla a mano
VERSION=$(sudo -u postgres pg_config --version |  awk '{print $2}' | cut -d '.' -f 1)

# Activamos en postgresql.conf que postgreSQL escuche desde todas las IPs
sudo echo -e "listen_addresses = '*'" | sudo tee -a /etc/postgresql/$VERSION/main/postgresql.conf

# Añadimos el usuario postgres al sistema
sudo echo -e "local   all       postgres         md5" | sudo tee -a /etc/postgresql/$VERSION/main/pg_hba.conf

# Añadimos el rango de IPs desde donde accedemos al servidor, en este caso desde todas
sudo echo -e "host all all 0.0.0.0 0.0.0.0 md5" | sudo tee -a /etc/postgresql/$VERSION/main/pg_hba.conf

# Cambiamos la contraseña al usuario postgres, pero ojo, al del servidor de base de datos, 
# el usuario postgres del sistema no lo he tocado
sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'root';"

# Reiniciamos servicio de psotgreSQL
sudo service postgresql restart

Recordar lo que comento en el script de las versiones.

Sobre la seguridad que comentaba antes. He dejado el script abierto para todo para usar en entornos de desarrollo pero en producción algunas de las cosas que se tienen que hacer es:
  • Cambiar password al usuario postgres del sistema (que no es le mismo que el del servidor de base de datos)
  • Cambiar password al usuario postgres de base de datos y no poner 'root' que es un password de combate
  • Limitar las IPs desde donde podemos conectarnos en el fichero postgresql.conf
  • Limitar las IPs desde donde podemos conectarnos en el fichero pg_hba.conf
  • Revisar métodos de acceso y permisos en pg_hba.conf para poder conectar remotamente y desde el propio servidor.


Y esto es todo, feliz programming
Saludos
Alex.
/


Si te ha gustado el artículo compartelo en:      




Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.