Cómo iniciar PostgreSQL en Kali Linux

Kali LinuxKali LinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En el mundo de la Ciberseguridad, tener un sólido entendimiento de la gestión de bases de datos es crucial. Este tutorial te guiará a través del proceso de configuración y trabajo con PostgreSQL, un popular sistema de gestión de bases de datos de código abierto, en la plataforma Kali Linux. Al final de este tutorial, estarás equipado con el conocimiento para comenzar a usar PostgreSQL para tus tareas y proyectos relacionados con la ciberseguridad.

Introducción a PostgreSQL

PostgreSQL, también conocido como Postgres, es un potente sistema de gestión de bases de datos relacional (RDBMS, por sus siglas en inglés) de código abierto que ha sido ampliamente utilizado en diversas industrias y aplicaciones. Es conocido por sus robustas características, fiabilidad y cumplimiento con el estándar SQL (Structured Query Language - Lenguaje de Consulta Estructurado).

PostgreSQL está diseñado para manejar una amplia gama de tipos de datos, incluyendo datos estructurados y no estructurados, lo que lo convierte en una opción versátil para una variedad de casos de uso. Soporta características avanzadas como transacciones, control de concurrencia e integridad de datos, asegurando la fiabilidad y consistencia de tus datos.

Una de las ventajas clave de PostgreSQL es su extensibilidad. Permite a los usuarios crear tipos de datos, funciones e incluso lenguajes de programación personalizados, lo que lo hace altamente adaptable a los requisitos específicos del negocio. Adicionalmente, PostgreSQL ofrece características de seguridad avanzadas, como el control de acceso basado en roles (role-based access control) y el cifrado (encryption), para proteger tus datos del acceso no autorizado.

graph TD A[PostgreSQL] --> B[Base de Datos Relacional] B --> C[Cumplimiento SQL] B --> D[Tipos de Datos] B --> E[Transacciones] B --> F[Control de Concurrencia] B --> G[Integridad de Datos] B --> H[Extensibilidad] B --> I[Seguridad]

PostgreSQL tiene una amplia gama de aplicaciones, incluyendo:

| Aplicación | Descripción

Instalación de PostgreSQL en Kali Linux

Kali Linux es una popular distribución de pruebas de penetración (penetration testing) y hacking ético basada en Debian. Si bien Kali Linux se centra principalmente en herramientas relacionadas con la seguridad, también admite la instalación y el uso de PostgreSQL para diversos fines, como la gestión de bases de datos, el análisis de datos y la integración con aplicaciones relacionadas con la seguridad.

Cuando abras la terminal, entrarás automáticamente en el shell del contenedor de Kali Linux. Todos los siguientes comandos deben ejecutarse dentro de este entorno de Kali Linux.

Primero, actualiza las listas de paquetes para asegurarte de tener la información más reciente sobre los paquetes disponibles.

apt-get update

A continuación, instala el paquete PostgreSQL. Este comando descargará e instalará el servidor PostgreSQL y las herramientas de cliente.

apt-get install -y postgresql postgresql-contrib

El flag -y confirma automáticamente la instalación, por lo que no necesitas escribir 'y' cuando se te solicite. El paquete postgresql-contrib incluye utilidades y extensiones adicionales para PostgreSQL.

Una vez que se complete la instalación, puedes verificar la versión de PostgreSQL ejecutando el siguiente comando:

psql --version

Esto debería mostrar la versión instalada de PostgreSQL, confirmando que la instalación se realizó correctamente.

Iniciando y Conectando a PostgreSQL

Después de instalar PostgreSQL, el servicio generalmente se inicia automáticamente. Sin embargo, dentro del entorno del contenedor Docker, es posible que debas iniciar el servicio manualmente o asegurarte de que se esté ejecutando.

Para iniciar el servicio PostgreSQL dentro del contenedor de Kali Linux, utiliza el siguiente comando:

service postgresql start

Este comando inicia el proceso del servidor de base de datos PostgreSQL.

Una vez que el servicio se está ejecutando, puedes conectarte a la base de datos PostgreSQL utilizando la herramienta de línea de comandos psql. Por defecto, PostgreSQL crea un usuario llamado postgres con privilegios de superusuario. Puedes cambiar a este usuario y luego conectarte a la base de datos.

su - postgres

Este comando cambia el usuario actual a postgres. Ahora estarás en el directorio de inicio del usuario postgres.

Ahora, conéctate a la terminal interactiva de PostgreSQL simplemente escribiendo psql:

psql

Deberías ver el prompt de PostgreSQL, que se ve como postgres=#. Esto indica que te has conectado correctamente a la base de datos PostgreSQL como el usuario postgres.

PostgreSQL connection verification

Para verificar tu conexión y ver las bases de datos disponibles, puedes usar el comando \l dentro del prompt de psql:

\l

Este comando lista todas las bases de datos presentes en tu instancia de PostgreSQL. Deberías ver bases de datos predeterminadas como postgres, template0 y template1.

Para salir del prompt de psql, escribe \q y presiona Enter.

\q

Para salir de la sesión del usuario postgres y volver al usuario root (o tu usuario anterior), escribe exit y presiona Enter.

exit

Ahora estás de vuelta en el shell del contenedor de Kali Linux.

Creación y Gestión de una Base de Datos

Ahora que puedes conectarte a PostgreSQL, vamos a crear una nueva base de datos y una tabla simple dentro de ella.

Primero, vuelve al usuario postgres para realizar operaciones de base de datos:

su - postgres

Conéctate al prompt de psql:

psql

Dentro del prompt de psql, crea una nueva base de datos llamada cyberdb:

CREATE DATABASE cyberdb;

Deberías ver un mensaje como CREATE DATABASE.

Ahora, conéctate a la base de datos recién creada. Puedes hacer esto escribiendo \c seguido del nombre de la base de datos:

\c cyberdb

El prompt debería cambiar a cyberdb=#, indicando que ahora estás conectado a la base de datos cyberdb.

A continuación, vamos a crear una tabla simple llamada users dentro de la base de datos cyberdb. Esta tabla almacenará información sobre los usuarios, incluyendo un ID, nombre de usuario y correo electrónico.

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL
);

Este comando crea una tabla con tres columnas:

  • id: Un entero de incremento automático que sirve como clave primaria (primary key).
  • username: Una cadena (string) de hasta 50 caracteres, que debe ser única y no puede estar vacía.
  • email: Una cadena (string) de hasta 100 caracteres, que debe ser única y no puede estar vacía.

Deberías ver un mensaje como CREATE TABLE.

Para verificar que la tabla fue creada, puedes listar las tablas en la base de datos actual usando el comando \dt:

\dt

Esto mostrará una lista de tablas en la base de datos cyberdb, y deberías ver la tabla users listada.

Finalmente, sal del prompt de psql y de la sesión del usuario postgres:

\q
exit

Ahora estás de vuelta en el shell del contenedor de Kali Linux.

Steps to create and manage database

Insertando y Consultando Datos

Ahora que tienes una base de datos y una tabla, vamos a insertar algunos datos en la tabla users y luego consultarlos.

Primero, vuelve al usuario postgres y conéctate a la base de datos cyberdb:

su - postgres
psql -d cyberdb

Ahora estás conectado a la base de datos cyberdb.

Inserta un nuevo usuario en la tabla users usando el comando INSERT INTO:

INSERT INTO users (username, email) VALUES ('labex', '[email protected]');

Deberías ver un mensaje como INSERT 0 1, indicando que una fila (row) fue insertada exitosamente.

Ahora, vamos a insertar otro usuario:

INSERT INTO users (username, email) VALUES ('kaliuser', '[email protected]');

Deberías ver INSERT 0 1 nuevamente.

Para recuperar todos los datos de la tabla users, usa el comando SELECT:

SELECT * FROM users;

Este comando mostrará todas las filas (rows) y columnas (columns) de la tabla users. Deberías ver los dos usuarios que acabas de insertar.

También puedes seleccionar columnas (columns) específicas:

SELECT username FROM users;

Esto solo mostrará los nombres de usuario (usernames) de la tabla.

Para seleccionar un usuario específico basado en una condición, usa la cláusula WHERE:

SELECT * FROM users WHERE username = 'labex';

Esto recuperará la fila (row) donde el nombre de usuario (username) es 'labex'.

Finalmente, sal del prompt de psql y de la sesión del usuario postgres:

\q
exit

Ahora estás de vuelta en el shell del contenedor de Kali Linux.

Illustration for data operations in SQL

Resumen

Este tutorial ha proporcionado una guía completa sobre cómo configurar y administrar bases de datos PostgreSQL en el entorno de Kali Linux, una plataforma ampliamente utilizada en el campo de la Ciberseguridad (Cybersecurity). Has aprendido cómo instalar PostgreSQL, iniciar el servicio, conectarte a la base de datos utilizando la herramienta de línea de comandos psql, crear una nueva base de datos y tabla, e insertar y consultar datos. Siguiendo los pasos descritos, ahora puedes comenzar a trabajar con PostgreSQL con confianza, aprovechando sus capacidades para respaldar tus proyectos y tareas centrados en la ciberseguridad. Con este conocimiento, puedes mejorar aún más tus habilidades en Ciberseguridad y explorar el vasto potencial de la administración de bases de datos en el ámbito de la Ciberseguridad.