GNU/Linux >> Tutoriales Linux >  >> Linux

Instale PostgreSQL en un servidor Ubuntu para configuraciones de seguridad

¿Planea instalar PostgreSQL en un servidor Ubuntu y no sabe por dónde empezar? No busques más, estás de suerte. En este tutorial, aprenderá las diferentes formas de instalar un servidor Ubuntu de PostgreSQL y realizar configuraciones de seguridad básicas para ayudarlo a comenzar.

¡Siga leyendo y estará ejecutando un servidor PostgreSQL en poco tiempo!

Requisitos previos

Este tutorial será una demostración práctica. Si desea seguirnos, asegúrese de tener lo siguiente.

  • Un servidor Ubuntu. Este tutorial usa Ubuntu 20.04.
  • Una cuenta de usuario no root con privilegios sudo.

Instalar PostgreSQL en Ubuntu

Comenzando con una nueva instalación del servidor Ubuntu, puede instalar PostgreSQL de dos maneras. La forma que elija depende de si prefiere la comodidad (menos pasos) o si se asegura de tener la última versión.

Método 1:instalar PostgreSQL en Ubuntu (desde el repositorio de Ubuntu)

De forma predeterminada, los repositorios de Ubuntu contienen paquetes de Postgres, lo que significa que puede instalar paquetes de Ubuntu de PostgreSQL utilizando la Herramienta de paquetes avanzados (APT) .

Es posible que los paquetes de Postgres en los repositorios de Ubuntu no siempre sean las últimas versiones. Si prefiere instalar la última versión, vaya al Método 2.

1. Primero, abra una ventana de terminal en su computadora y SSH en su servidor Ubuntu.

2. A continuación, ejecute el siguiente comando para actualizar la lista de paquetes en su servidor Ubuntu.

sudo apt update -y

3. Instale los paquetes de PostgreSQL ejecutando el siguiente comando. Este comando también instalará el postgresql-contrib (características adicionales de Postgres) y postgresql-client (CLI de PostgreSQL).

sudo apt install -y postgresql postgresql-contrib postgresql-client

4. Después de la instalación, verifique el estado de instalación de Postgres ejecutando el siguiente comando.

sudo dpkg --status postgresql

Como puede ver a continuación, la última versión instalada desde el repositorio de Ubuntu a partir de este escrito es la versión 12.

Método 2:Instalar PostgreSQL en Ubuntu (desde el Repositorio Oficial)

La instalación de PostgreSQL desde el repositorio oficial garantiza que obtenga la última versión. Sin embargo, este método de instalación requiere más pasos en comparación con la instalación con APT.

1. Primero, abra una ventana de terminal en su computadora y SSH en su servidor Ubuntu.

2. Ejecute el siguiente comando para crear un archivo llamado /etc/apt/sources.list.d/pgdg.list . Este archivo contiene la dirección del repositorio oficial de PostgreSQL específica para su versión de servidor Ubuntu.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

3. A continuación, ejecute el siguiente comando y agregue la clave GPG de PostgreSQL a su administrador de paquetes. APT utilizará esta clave para verificar la autenticidad de los paquetes en el repositorio.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Verá una respuesta OK si la adición de la clave fue exitosa.

4. Ahora, actualice las listas de paquetes, para que apt sabe dónde encontrar los paquetes oficiales de PostgreSQL.

sudo apt update -y

Como puede ver a continuación, el comando ahora incluye la dirección del repositorio oficial de PostgreSQL cuando busca paquetes.

5. Instale PostgreSQL en Ubuntu ejecutando el siguiente comando. Espere a que se complete la instalación.

sudo apt install -y postgresql postgresql-contrib postgresql-client

6. Confirme la versión de PostgreSQL que instaló desde el repositorio oficial ejecutando el siguiente comando.

sudo dpkg --status postgresql

Como puede ver a continuación, la versión del repositorio oficial es la versión 14 a partir de este escrito.

Inicio y verificación del servicio PostgreSQL

Una vez que se complete la instalación, ejecute el siguiente systemctl comando para iniciar el servicio PostgreSQL.

sudo systemctl start postgresql.service

Finalmente, verifique el estado de PostgreSQL ejecutando el siguiente comando.

sudo systemctl status postgresql.service

El estado del servicio debe ser active , como se muestra en la imagen de abajo.

Proteger el usuario predeterminado de PostgreSQL y habilitar el cifrado de contraseña

La instalación de PostgreSQL crea una cuenta de usuario predeterminada llamada postgres que tiene acceso administrativo completo a PostgreSQL. Pero, esta cuenta especial no tiene contraseña. Cualquier usuario que pueda iniciar sesión en el servidor Ubuntu puede acceder a PostgreSQL como postgres usuario sin proporcionar una contraseña.

Teniendo en cuenta que el postgres cuenta está desprotegida, la primera acción que debe realizar es establecer una nueva contraseña. Para hacerlo, proceda como se indica a continuación.

1. Inicie sesión en el shell de PostgreSQL (psql ) ejecutando el siguiente comando.

sudo -u postgres psql

Como puede ver a continuación, cualquier usuario que pueda iniciar sesión en el servidor de Ubuntu también puede acceder a la base de datos de PostgreSQL sin proporcionar una contraseña.

2. Ejecute el siguiente comando cuando se le solicite para iniciar un cambio de contraseña. Proporcione una contraseña segura de su elección y presione Entrar.

\password

3. Después de configurar la nueva contraseña, escriba \q y presiona Enter para salir del psql concha.

4. De manera predeterminada, PostgreSQL envía contraseñas en texto sin formato, lo que puede ser un riesgo para la seguridad. Para rectificar este potencial vector de ataque, cambie el método de autenticación de la contraseña de PostgreSQL. a uno seguro, como md5 .

Abra el /etc/postgresql/12/main/pg_hba.conf archivo en nano para editar. Este archivo es el archivo de configuración principal para los métodos de autenticación de PostgreSQL.

sudo nano /etc/postgresql/12/main/pg_hba.conf

5. Busque la línea que se lee a continuación.

# Database administrative login by Unix domain socket
local   all             postgres                                peer

Una vez que haya localizado la línea, reemplace la palabra peer con md5. Después de editar la línea, su archivo ahora debería verse como la imagen de abajo. Por último, guarde el archivo y salga del editor.

El método de autenticación md5 utiliza un algoritmo de resumen de mensajes para cifrar la contraseña antes de enviarla al servidor.

6. Reinicie el servidor PostgreSQL para que los cambios surtan efecto.

sudo systemctl restart postgresql

7. Vuelva a conectarse al servidor PostgreSQL como postgres usuario.

sudo -u postgres psql

Ingrese la contraseña cuando se le solicite y presione Entrar.

Creación y eliminación de una base de datos PostgreSQL

Ahora que ha instalado y configurado su servidor PostgreSQL, ahora puede comenzar a crear una base de datos. Después de todo, ¿qué es un RDBMS sin una base de datos? Siga los pasos a continuación para probar su servidor creando y eliminando una base de datos.

1. Inicie sesión en el shell de PostgreSQL (psql ) si aún no lo has hecho.

2. Ejecute el siguiente comando para crear una nueva base de datos llamada ata_db .

Consulte el Documentación de PostgreSQL para obtener más información sobre la base de datos y los diferentes tipos de datos.

CREATE DATABASE ata_db;

3. A continuación, confirme que ha creado correctamente la base de datos enumerando todas las bases de datos disponibles en el servidor.

\l

Como puede ver a continuación, la nueva base de datos llamada ata_db que creó en el paso anterior ahora existe en el servidor.

4. Ejecute el siguiente comando para conectarse al ata_db base de datos.

\c ata_db;

La siguiente imagen confirma que la conexión a la nueva base de datos fue exitosa. Puede ver un mensaje de estado que dice a qué base de datos se conectó y con qué cuenta de usuario.

Ahora puede crear tablas y realiza la creación , leer , actualizar y eliminar (CRUD) acciones en la base de datos.

5. Si eventualmente ya no necesita la base de datos y necesita eliminarla, ejecute los siguientes comandos en psql para eliminar la base de datos.

La primera línea se desconecta de la base de datos ata_db al cambiar la conexión activa a la base de datos postgres predeterminada. No puede eliminar una base de datos si está abierta.

La segunda línea elimina la base de datos.

\c postgres
DROP DATABASE ata_db;

6. Finalmente, vuelva a enumerar todas las bases de datos en su servidor PostgreSQL. Verás que el ata_db la base de datos ya no existe, como se muestra a continuación.

\l

Verá que la base de datos ata_db ya no existe, como se muestra a continuación.

Conclusión

En este tutorial, aprendió cómo instalar PostgreSQL en un servidor Ubuntu y configurar los ajustes básicos de seguridad. También aprendió cómo crear, conectar y eliminar una nueva base de datos en su servidor PostgreSQL.

Tenga en cuenta que lo que ha aprendido aquí es solo lo básico. Hay más que puede hacer con PostgreSQL, como configurar la autenticación basada en certificados SSL , crear nuevos usuarios de base de datos y configurar la replicación.

Con este nuevo conocimiento, ahora está en una mejor posición para usar PostgreSQL en sus aplicaciones. .


Linux
  1. Cómo instalar PostgreSQL y pgAdmin4 en Ubuntu 20.04

  2. Cómo instalar PostgreSQL en Ubuntu 16.04

  3. Servidor de monitoreo Graylog en Ubuntu Linux para servidores/servicios de monitoreo

  4. Cómo instalar la ubicación en un servidor Ubuntu

  5. Cómo instalar un servidor PostgreSQL en Ubuntu 18.04

Cómo instalar el servidor Mumble en Ubuntu 15.04

Cómo instalar NGINX en Ubuntu 20.04

Cómo instalar el servidor Ansible en Ubuntu 18.04

Cómo instalar TimescaleDB en Ubuntu 18.04

Cómo instalar XWiki en Ubuntu 20.04

Cómo instalar ClickHouse en Ubuntu 20.04