|
HOW TO: SSL/TLS между pgBouncer и клиентом pgAdmin4
|
|||
---|---|---|---|
#18+
Код: plaintext
Делаем ключи пользуясь вот этой статьёй https://www.howtoforge.com/postgresql-ssl-certificates и кучей догадок и озарений Все действия по созданию ключей и сертификатов выполняются в каталоге /etc/pgbouncer из под рута Названия файлов можно менять произвольно 1) Создаём закрытый ключ (просит ввести пароль - вводим): Код: plaintext
2) Удаляем пароль из получившегося ключа (просит введённый в п.1 пароль - вводим): Код: plaintext
3) Создаём сертификат на базе ключа (лично я в поле CN указал IP-адрес сервера, на всякий пожарный): Код: plaintext
4) Создаём закрытый ключ клиента для клиентской машины (просит ввести пароль - вводим): Код: plaintext
5) Удаляем пароль из получившегося ключа (просит введённый в п.4 пароль - вводим): Код: plaintext
6) Создаём сертификат, НЕ указываем пароль пользователя в соответствующем поле 'extra', CN должен содержать имя пользователя базы данных Код: plaintext 1.
7) Подписываем сертификат пользователя корневым сертификатом созданным в п.3 Код: plaintext
8) Права доступа, удаление лишнего: Код: plaintext
Код: plaintext
Код: plaintext
Код: plaintext
9) Прописываем настройки в /etc/pgbouncer/pgbouncer.ini: Код: plaintext
Код: plaintext
Код: plaintext
Код: plaintext
10) Список получившихся файлов "ls -l": Код: plaintext
Код: plaintext
Код: plaintext
Код: plaintext
Код: plaintext
Код: plaintext
Код: plaintext
11) Копируем pgbclient.crt, pgbclient.key, root.crt на локальную машину в домашний каталог, или туда где собираемся хранить сертификаты 12) На локальной машине добавляем root.crt в папку pgAdmin4 /home/username/.pgadmin сервер pgAdmin4 перезапускать не надо. 13) Добавление корневого сертификата в список доверенных состоит из двух этапов: 13.1 копируем сертификат в специальное место: Код: plaintext
Код: plaintext
затем откроется список сертификатов лежащих в той папке,куда копировали наш корневой сертификат его в этом списке находим (у него нет звездочки слева) ставим ему звездочку и щелкаем ок эту процедуру необходимо выполнить как на сервере, так и на клиентской машине иначе: Unable to connect to server: ошибка SSL: tlsv1 alert unknown ca 14) рестартуем боунсера: Код: plaintext
15) Создаем в веб-интерфейсе pgAdmin4 новый сервер, указываем его адрес, имя пользователя, пароль, и, на вкладке "SSL" три файла (два сертификата и один ключ). по названиям полей в которых нужно указывать где лежат файлы вполне понятно что куда писать. Я делал ключи и сертификаты на сервере, потому что там у меня стоит аппаратный генератор случайных чисел и конфиги ssl поправлены на использование пула случайных чисел. Не уверен что у всех есть такое счастье (не такое уж и дорогое, кстати), так что можете делать на рабочей машине и копировать на сервер. Также в дебиан есть пакет для генерации случайных чисел на основе колдунства. https://ivirt-it.ru/linux-kernel-rng/ У кого-то может быть не установлен пакет ca-certificates - установите, он нужен в п.13 Ключи пользователя с сервера можно удалять после того как убедитесь что подключение к БД устанавливается, а можно не удалять - вдруг отзывать придётся (как это делается - не знаю) Не знаю кто как, а я с этим провозился весь день. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 15:55 |
|
|
start [/forum/topic.php?fid=53&msg=39834412&tid=1995133]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 148ms |
0 / 0 |