PostgreSQL auf Ubuntu 22.04 installieren und absichern

PostgreSQL ist ein leistungsstarkes, quelloffenes relationales Datenbankmanagementsystem (RDBMS), das für ein breites Spektrum an Datenaufgaben entwickelt wurde. Es unterstützt SQL und eignet sich sowohl für kleine Projekte als auch für umfangreiche Anwendungen wie Analysen, GIS, Lösungen im Gesundheitswesen und dynamische Webplattformen.

Diese Anleitung erklärt, wie Sie PostgreSQL auf einem Ubuntu-22.04-Server installieren und für den Produktionseinsatz absichern.

Voraussetzungen

Stellen Sie vor dem Start sicher:

  • Ein Ubuntu-22.04-Server ist verfügbar.
  • Zugriff auf den Server über SSH als Nicht-Root-Benutzer mit Sudo-Rechten.
  • Der Server ist mit den neuesten Paketen aktualisiert.

PostgreSQL installieren

PostgreSQL ist in den Standard-APT-Repositories von Ubuntu enthalten. Folgen Sie diesen Schritten, um PostgreSQL zu installieren und so zu konfigurieren, dass es beim Systemstart automatisch gestartet wird.

Server-Paketindex aktualisieren

Abhängigkeit postgresql-common installieren

$ sudo apt install -y postgresql-common -y

PostgreSQL-APT-Repository-Skript ausführen

$ sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

Drücken Sie bei Aufforderung die Eingabetaste, um das neue Repository zu den Serverquellen hinzuzufügen.

Dieses Skript aktiviert das PostgreSQL-APT-Repository (apt.postgresql.org) auf Ihrem System. Der verwendete Distributions-Codename lautet noble-pgdg.

Drücken Sie Enter, um fortzufahren, oder Strg-C, um abzubrechen.

PostgreSQL-Datenbankserver installieren

$ sudo apt install -y postgresql

PostgreSQL-Dienst starten

$ sudo systemctl start postgresql

Status des PostgreSQL-Dienstes prüfen

$ sudo systemctl status postgresql

Beispielausgabe:

● postgresql.service - PostgreSQL RDBMS
    Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
    Active: active (exited) since Mon 2024-05-27 16:09:21 UTC; 35s ago
    Process: 5601 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 5601 (code=exited, status=0/SUCCESS)
        CPU: 3ms

PostgreSQL-Datenbankserver absichern

PostgreSQL verwendet standardmäßig das Benutzerkonto postgres. Gehen Sie wie folgt vor, um die Passwortauthentifizierung zu aktivieren und den Server zu sichern, sodass nur autorisierte Benutzer Zugriff haben.

Installierte PostgreSQL-Version prüfen

Beispielausgabe:

psql (PostgreSQL) 17.4 (Ubuntu 17.4-1.pgdg22.04+2)

Als Benutzer postgres anmelden

Starkes Passwort für den Benutzer postgres setzen

postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'strong_password';

Neuen Benutzer mit sicherem Passwort anlegen

postgres=# CREATE USER db_manager ENCRYPTED PASSWORD 'strong_password';

PostgreSQL-Konsole verlassen

Passwortauthentifizierung aktivieren

Führen Sie den folgenden Befehl aus, um den Standardwert peer im Feld scram-sha-256 der Hauptkonfigurationsdatei pg_hba.conf zu ändern. Damit wird die Passwortauthentifizierung auf dem Server aktiviert.

$ sudo sed -i '/^local/s/peer/scram-sha-256/' /etc/postgresql/17/main/pg_hba.conf

Ersetzen Sie 17 durch die installierte PostgreSQL-Versionsnummer, falls sie abweicht.

PostgreSQL neu starten, um Änderungen zu übernehmen

$ sudo systemctl restart postgresql

Auf den PostgreSQL-Datenbankserver zugreifen

Greifen Sie auf die PostgreSQL-Konsole mit dem integrierten psql-Tool oder grafischen Tools für direkte Verbindungen zu. Die folgenden Schritte zeigen, wie Sie eine neue Beispieldatenbank erstellen und einem nicht privilegierten Benutzer zuweisen.

Beispieldatenbank erstellen

Erstellen Sie eine neue PostgreSQL-Datenbank namens hospital und übertragen Sie dem Benutzer db_manager die Eigentumsrechte.

$ sudo -u postgres createdb hospital -O db_manager

Geben Sie bei Aufforderung das zuvor vergebene Postgres-Benutzerpasswort ein.

Als db_manager in die Datenbank einloggen

Testen Sie den Zugriff auf die Datenbank hospital mit dem Benutzer db_manager:

$ sudo -u postgres psql -U db_manager -d hospital

Geben Sie das Passwort des Datenbankbenutzers ein und drücken Sie Enter, um Zugriff zu erhalten.

Tabelle doctors erstellen

Erstellen Sie innerhalb der Datenbank eine Tabelle namens doctors:

hospital=> CREATE TABLE doctors (
           doctor_id SERIAL PRIMARY KEY,
           first_name VARCHAR(50),
           last_name VARCHAR(50),
           appointment_date DATE
       );

Dieses SQL-Statement erstellt eine Tabelle mit folgenden Spalten:

  • doctor_id als Primärschlüssel zur eindeutigen Identifizierung jedes Arztes.
  • first_name und last_name zur Speicherung der Namen.
  • appointment_date zur Speicherung des Termindatums.
  • SERIAL erzeugt automatisch eine eindeutige ID für jeden Datensatz.

Beispieldaten einfügen

Fügen Sie einige Beispieldatensätze in die Tabelle doctors ein:

hospital=> INSERT INTO doctors
       ( first_name, last_name, appointment_date)
       VALUES
       ( 'Ben', 'Joe', '2024-11-15'),
       ( 'Carson', 'Smith', '2024-02-28'),
       ( 'Donald', 'James', '2024-04-10');

Tabelle doctors abfragen

Rufen Sie alle Datensätze aus der Tabelle ab:

hospital=> SELECT * FROM doctors;

Beispielausgabe:

doctor_id | first_name | last_name | appointment_date
-----------+------------+-----------+------------------
       1 | Ben        | Joe       | 2024-11-15
       2 | Carson     | Smith     | 2024-02-28
       3 | Donald     | James     | 2024-04-10
(3 rows)

PostgreSQL-Konsole beenden

Fazit

In diesem Artikel haben Sie PostgreSQL auf Ubuntu 22.04 installiert, es für mehr Sicherheit konfiguriert und mit dem Tool psql eine Datenbank und Tabellen erstellt. PostgreSQL ist nun bereit, sicher und effizient in Ihre Anwendungen integriert zu werden. Weitere Details finden Sie in der offiziellen PostgreSQL-Dokumentation.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Passbolt auf Linux installieren & sicher konfigurieren

Security, Tutorial
Passbolt auf Linux-Distributionen installieren und einrichten Passbolt ist ein Open-Source-Passwortmanager, der die sichere Speicherung und Verwaltung von Passwörtern sowie sensiblen Daten mit Ende-zu-Ende-Verschlüsselung ermöglicht. Er funktioniert hauptsächlich als Browser-Erweiterung für…