sql >> Databáze >  >> RDS >> PostgreSQL

Jak povolit SSL v PostgreSQL

PostgreSQL podporuje připojení SSL, které uživatelům umožňuje bezpečné připojení k jejich databázím. V tomto článku se podíváme na to, jak povolit SSL v databázi PostgreSQL.


Jak povolit SSL v PostgreSQL

Zde jsou kroky k povolení připojení SSL v PostgreSQL. Na PostgreSQL serveru potřebujeme 3 certifikáty v datovém adresáři pro konfiguraci SSL. Jsou to:

  • root.crt (důvěryhodný kořenový certifikát)
  • server.crt (certifikát serveru)
  • server.key (soukromý klíč)

Otevřete terminál a spusťte následující příkaz pro spuštění jako root

$ sudo -
$ cd /var/lib/pgsql/data

Vygenerujte soukromý klíč pomocí openssl. Budete vyzváni k zadání přístupové fráze.

$ openssl genrsa -des3 -out server.key 1024

Odebrat přístupovou frázi

$ openssl rsa -in server.key -out server.key

Bonusové čtení:Nejlepší databázové blogy ke sledování

Aktualizujte oprávnění k souboru a vlastnictví souboru soukromého klíče.

$ chmod 400 server.key
$ chown postgres.postgres server.key

Podobně vytvořte certifikát serveru

$ openssl req -new -key server.key -days 3650 -out server.crt -x509

Ve výše uvedeném příkazu -x509 označuje certifikát podepsaný svým držitelem. Budete vyzváni k zadání podrobností, jako je e-mail, země atd. Zadejte je a dokončete vygenerování certifikátu.

Protože používáme certifikát s vlastním podpisem, použijeme jako kořenový certifikát náš klíč serveru.

$ cp server.crt root.crt

Aktualizujte pg_hba.conf a přidejte následující řádky

# IPv4 remote connections for authenticated users 
hostssl all www-data 0.0.0.0/0 md5 clientcert=1
hostssl all postgres 0.0.0.0/0 md5 clientcert=1

Upravte soubor postgresql.conf a přidejte následující řádek

ssl = on

Restartujte PostgreSQL Server

$ /etc/init.d/postgresql restart

Bonusové čtení:Jak zvýšit maximální počet připojení v PostgreSQL

Povolte SSL v klientovi PostgreSQL

Potřebujeme také 3 soubory k povolení SSL v klientovi PostgreSQL. Uložíme je na ~/.postgresql/ adresář

  • root.crt (důvěryhodný kořenový certifikát)
  • postgresql.crt (klientský certifikát)
  • postgresql.key (soukromý klíč)

Vytvořte postgresql.key na klientském počítači a odstraňte přístupovou frázi.

$ openssl genrsa -des3 -out /tmp/postgresql.key 1024
$ openssl rsa -in /tmp/postgresql.key -out /tmp/postgresql.key

Bonusové čtení:Tipy pro ladění výkonu PostgreSQL

Dále vytvoříme postgresql.crt a podepíšeme jej pomocí důvěryhodného kořene (soubor soukromého klíče ze serveru). Poznámka , když budete vyzváni k zadání běžného názvu certifikátu (CN), nastavte jej na název databáze.

$ openssl req -new -key /tmp/postgresql.key -out /tmp/postgresql.csr
$ openssl x509 -req -in server.req -out /tmp/postgresql.csr -CA root.crt -CAkey server.key -out /tmp/postgresql.crt -CAcreateserial

Zkopírujte tři soubory vytvořené v adresáři /tmp serveru do klientského počítače. Zkopírujte root.crt z adresáře serveru /tmp do ~/.postgresql/ klienta adresář.

Doufejme, že vám tento článek pomůže povolit SSL v PostgreSQL.

  1. Android Studio nekontroluje/nezvýrazní dotazy Kotlin Room DAO, když řetězec zabírá více než 1 řádek

  2. Volejte funkci vracející sadu s argumentem pole vícekrát

  3. O Neo4j

  4. Jak rychle přejmenuji databázi MySQL (změním název schématu)?