PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да активирате SSL в PostgreSQL

PostgreSQL поддържа SSL връзка, която позволява на потребителите да се свързват сигурно със своите бази данни. В тази статия ще разгледаме как да активирате SSL в базата данни PostgreSQL.


Как да активирам SSL в PostgreSQL

Ето стъпките за активиране на SSL връзка в PostgreSQL. На PostgreSQL сървъра ни трябват 3 сертификата в директорията с данни за SSL конфигурация. Те са:

  • root.crt (доверен главен сертификат)
  • server.crt (сертификат на сървъра)
  • server.key (частен ключ)

Отворете терминала и изпълнете следната команда, за да стартирате като root

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

Генерирайте частен ключ с помощта на openssl. Ще бъдете подканени за парола.

$ openssl genrsa -des3 -out server.key 1024

Премахнете паролата

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

Бонус за четене:Топ блогове за база данни, които да следвате

Актуализирайте разрешението за файл и собствеността върху файла с частен ключ.

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

По същия начин създайте сървърен сертификат

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

В горното изявление -x509 показва самоподписан сертификат. Ще бъдете подканени за подробности като имейл, държава и т.н. Въведете го и завършете генерирането на сертификат.

Тъй като използваме самоподписан сертификат, ще използваме нашия сървърен ключ като основен сертификат.

$ cp server.crt root.crt

Актуализирайте pg_hba.conf, за да добавите следните редове

# 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

Редактирайте postgresql.conf, за да добавите следния ред

ssl = on

Рестартирайте PostgreSQL Server

$ /etc/init.d/postgresql restart

Бонус четене:Как да увеличите максималния брой връзки в PostgreSQL

Активиране на SSL в PostgreSQL клиент

Също така се нуждаем от 3 файла, за да активираме SSL в PostgreSQL клиента. Ще ги съхраняваме в ~/.postgresql/ директория

  • root.crt (доверен главен сертификат)
  • postgresql.crt (сертификат на клиента)
  • postgresql.key (частен ключ)

Създайте postgresql.key на клиентска машина и премахнете паролата.

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

Бонус за четене:Съвети за настройка на производителността на PostgreSQL

След това създаваме postgresql.crt и го подписваме с помощта на доверения корен (файл с частен ключ от сървъра). Моля, обърнете внимание , когато бъдете подканени за общо име на сертификат (CN), задайте го на име на база данни.

$ 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

Копирайте трите файла, създадени в директорията /tmp на сървъра, на клиентска машина. Копирайте root.crt от директорията на сървъра /tmp в ~/.postgresql/ на клиента директория.

Надяваме се, че тази статия ще ви помогне да активирате SSL в PostgreSQL.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какъв е най-бързият начин да направите групово вмъкване в Postgres?

  2. Автоматично нарастване на PostgreSQL

  3. Мигриране от MSSQL към PostgreSQL – какво трябва да знаете

  4. чертата `diesel::Expression` не е внедрена за `bigdecimal::BigDecimal`

  5. Как мога да използвам задействания на PostgreSQL за съхраняване на промени (SQL изрази и промени в редовете)