Nainštalujte PostgreSQL na Ubuntu pre konfigurácie zabezpečenia


Plánujete nainštalovať PostgreSQL na server Ubuntu a nie ste si istí, kde začať? Nehľadajte ďalej, pretože máte šťastie. V tomto návode sa naučíte rôzne spôsoby inštalácie servera PostgreSQL Ubuntu a vykonanie základných konfigurácií zabezpečenia, ktoré vám pomôžu začať.

Pokračujte v čítaní a v krátkom čase spustíte server PostgreSQL!

Predpoklady

Tento tutoriál bude praktickou ukážkou. Ak chcete sledovať, uistite sa, že máte nasledujúce.

  • Server Ubuntu. Tento tutoriál používa Ubuntu 20.04.
  • Používateľský účet iného typu než root s oprávneniami sudo.

Nainštalujte PostgreSQL na Ubuntu

Počnúc novou inštaláciou servera Ubuntu môžete PostgreSQL nainštalovať dvoma spôsobmi. To, ktorý spôsob zvolíte, závisí od toho, či uprednostňujete pohodlie (menej krokov) alebo či máte najnovšiu verziu.

Metóda 1: Nainštalujte PostgreSQL na Ubuntu (z úložiska Ubuntu)

V predvolenom nastavení obsahujú úložiská Ubuntu balíčky Postgres, čo znamená, že balíčky PostgreSQL Ubuntu môžete nainštalovať pomocou Advanced Package Tool (APT).

Balíky Postgres v repozitároch Ubuntu nemusia byť vždy najnovšie verzie. Ak chcete radšej nainštalovať najnovšiu verziu, prejdite na metódu 2.

1. Najprv otvorte terminálové okno na vašom počítači a SSH do vášho servera Ubuntu.

2. Potom spustite príkaz uvedený nižšie a aktualizujte zoznam balíkov na serveri Ubuntu.

sudo apt update -y

3. Nainštalujte balíky PostgreSQL vykonaním nižšie uvedeného príkazu. Tento príkaz tiež nainštaluje postgresql-contrib (ďalšie funkcie Postgres) a postgresql-client (Postgres CLI).

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

4. Po inštalácii skontrolujte stav inštalácie Postgres spustením nižšie uvedeného príkazu.

sudo dpkg --status postgresql

Ako môžete vidieť nižšie, najnovšia verzia nainštalovaná z úložiska Ubuntu od tohto písania je verzia 12.

Metóda 2: Nainštalujte PostgreSQL na Ubuntu (z oficiálneho úložiska)

Inštalácia PostgreSQL z oficiálneho úložiska zaistí, že získate najnovšiu verziu. Táto metóda inštalácie však vyžaduje viac krokov v porovnaní s inštaláciou pomocou APT.

1. Najprv otvorte terminálové okno na vašom počítači a SSH do vášho servera Ubuntu.

2. Spustite nasledujúci príkaz a vytvorte súbor s názvom /etc/apt/sources.list.d/pgdg.list. Tento súbor obsahuje oficiálnu adresu úložiska PostgreSQL špecifickú pre vašu verziu servera 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. Potom spustite príkaz uvedený nižšie a pridajte kľúč PostgreSQL GPG do správcu balíkov. APT použije tento kľúč na overenie pravosti balíkov v úložisku.

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

Ak bolo pridanie kľúča úspešné, uvidíte odpoveď OK.

4. Teraz aktualizujte zoznam balíkov, aby apt vedel, kde nájsť oficiálne balíky PostgreSQL.

sudo apt update -y

Ako vidíte nižšie, príkaz teraz pri kontrole balíkov obsahuje adresu oficiálneho úložiska PostgreSQL.

5. Nainštalujte PostgreSQL na Ubuntu spustením nasledujúceho príkazu. Počkajte na dokončenie inštalácie.

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

6. Spustením nižšie uvedeného príkazu potvrďte verziu PostgreSQL, ktorú ste nainštalovali z oficiálneho úložiska.

sudo dpkg --status postgresql

Ako môžete vidieť nižšie, verzia z oficiálneho úložiska je v čase písania tohto článku verzia 14.

Spustenie a overenie služby PostgreSQL

Po dokončení inštalácie spustite nižšie uvedený príkaz systemctl a spustite službu PostgreSQL.

sudo systemctl start postgresql.service

Nakoniec overte stav PostgreSQL spustením nižšie uvedeného príkazu.

sudo systemctl status postgresql.service

Stav služby by mal byť aktívny, ako je znázornené na obrázku nižšie.

Zabezpečenie predvoleného používateľa PostgreSQL a povolenie šifrovania hesla

Inštalácia PostgreSQL vytvorí predvolený používateľský účet s názvom postgres, ktorý má úplný administratívny prístup k PostgreSQL. Tento špeciálny účet však nemá heslo. Každý používateľ, ktorý sa môže prihlásiť na server Ubuntu, môže pristupovať k PostgreSQL ako používateľ postgres bez zadania hesla.

Vzhľadom na to, že účet postgres nie je chránený, prvá akcia, ktorú by ste mali urobiť, je nastaviť si nové heslo. Ak to chcete urobiť, postupujte podľa nižšie uvedeného postupu.

1. Prihláste sa do prostredia PostgreSQL (psql) spustením nižšie uvedeného príkazu.

sudo -u postgres psql

Ako vidíte nižšie, každý používateľ, ktorý sa môže prihlásiť na server Ubuntu, má tiež prístup k databáze PostgreSQL bez zadania hesla.

2. Po výzve spustite nasledujúci príkaz na spustenie zmeny hesla. Zadajte silné heslo podľa vlastného výberu a stlačte kláves Enter.

\password

3. Po nastavení nového hesla napíšte \q a stlačením klávesu Enter ukončite shell psql.

4. PostgreSQL štandardne posiela heslá ako obyčajný text, čo môže predstavovať bezpečnostné riziko. Ak chcete napraviť tento potenciálny vektor útoku, zmeňte metódu overenia hesla PostgreSQL na zabezpečenú, napríklad md5.

Otvorte súbor /etc/postgresql/12/main/pg_hba.conf v nano na úpravu. Tento súbor je hlavným konfiguračným súborom pre metódy autentifikácie PostgreSQL.

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

5. Nájdite riadok, ktorý znie ako nižšie.

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

Keď nájdete riadok, nahraďte slovo peer slovom md5. Po úprave riadku by mal váš súbor teraz vyzerať ako na obrázku nižšie. Nakoniec uložte súbor a ukončite editor.

Metóda autentifikácie md5 používa algoritmus na spracovanie správ na zašifrovanie hesla pred jeho odoslaním na server.

6. Reštartujte PostgreSQL server, aby sa zmeny prejavili.

sudo systemctl restart postgresql

7. Znovu sa pripojte k serveru PostgreSQL ako používateľ postgres.

sudo -u postgres psql

Po výzve zadajte heslo a stlačte kláves Enter.

Vytvorenie a vymazanie databázy PostgreSQL

Teraz, keď ste nainštalovali a nakonfigurovali váš PostgreSQL server, môžete začať vytvárať databázu. Koniec koncov, čo je RDBMS bez databázy? Podľa nižšie uvedených krokov otestujte svoj server vytvorením a odstránením databázy.

1. Prihláste sa do prostredia PostgreSQL (psql), ak ste tak ešte neurobili.

2. Spustite nasledujúci príkaz na vytvorenie novej databázy s názvom ata_db.

Pozrite si dokumentáciu PostgreSQL , kde sa dozviete viac o databáze a rôznych typoch údajov.

CREATE DATABASE ata_db;

3. Ďalej potvrďte, že ste úspešne vytvorili databázu uvedením všetkých dostupných databáz na serveri.

\l

Ako vidíte nižšie, nová databáza s názvom ata_db, ktorú ste vytvorili v predchádzajúcom kroku, teraz existuje na serveri.

4. Spustite nasledujúci príkaz na pripojenie k databáze ata_db.

\c ata_db;

Obrázok nižšie potvrdzuje, že pripojenie k novej databáze bolo úspešné. Môžete vidieť stavovú správu, ktorá hovorí, ku ktorej databáze ste sa pripojili a s ktorým používateľským účtom.

Teraz môžete vytvárať tabuľky a vykonávať vytváranie, čítanie, aktualizáciu a odstraňovanie (CRUD) akcie v databáze.

5. Ak už databázu nepotrebujete a potrebujete ju vymazať, spustite nasledujúce príkazy v psql na vymazanie databázy.

Prvý riadok sa odpojí od databázy ata_db prepnutím fungujúceho pripojenia na predvolenú postgresovú databázu. Ak je databáza otvorená, nemôžete ju vymazať.

Druhý riadok vymaže databázu.

\c postgres
DROP DATABASE ata_db;

6. Nakoniec znova uveďte zoznam všetkých databáz na vašom PostgreSQL serveri. Uvidíte, že databáza ata_db už neexistuje, ako je uvedené nižšie.

\l

Uvidíte, že databáza ata_db už neexistuje, ako je uvedené nižšie.

Záver

V tomto návode ste sa naučili, ako nainštalovať PostgreSQL na server Ubuntu a nakonfigurovať základné nastavenia zabezpečenia. Tiež ste sa naučili, ako vytvoriť, pripojiť a odstrániť novú databázu na vašom PostgreSQL serveri.

Majte na pamäti, že to, čo ste sa tu naučili, sú len základy. S PostgreSQL môžete robiť viac, napríklad konfigurovať overenie založené na certifikáte SSL, vytvárať nových používateľov databázy a nastavovať replikáciu.

S týmito novými poznatkami máte teraz lepšiu pozíciu na používanie PostgreSQL vo svojich aplikáciách.

Súvisiace články