Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Всем добрых суток! Решил поковырять соединение по SSL, задолбал гугл и яндекс, перечитал мануалы Postgres, но конкретно для чайничка нет ничего.. хотел бы наставления получить, как что делать и в какой последовательности. На данный момент дела обстоят так: 1) Поставил OpenSSL (запускается ровно только от админа) 2) Сгенерил сертификаты и ключи: server.key, server.crt, root.key, root.crt. как получить файлик root.clr получить не смог, недопёр как... 3) В файле postgresql.conf включил: авторssl = on # (change requires restart) ssl_cert_file = 'server.crt' # (change requires restart) ssl_key_file = 'server.key' # (change requires restart) но также не допёр до следующих строк: автор#ssl_ciphers = 'DEFAULT:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers #ssl_renegotiation_limit = 512MB # amount of data between renegotiations #ssl_ca_file = '' # (change requires restart) #ssl_crl_file = '' # (change requires restart) На этом дело встало... Где я запнулся или не доделал? И какие действия дальше? А именно - куда клиенту нужно ставить сертификат, или как использовать приложением? Postgres под Windows, клиенты тоже под окном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 16:10 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Неужели этим никто не занимался? С OpenSSL разобрался, как Postgre настроить, непойму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2015, 07:55 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Midgard90, Посмотрите вот этот докладик http://www.pgcon.org/2009/schedule/events/120.en.html Еще можно почитать книгу http://www.ozon.ru/context/detail/id/19133383/ Администрирование PostgreSQL 9. Книга рецептов там на странице 159-161 описывается как всё это настроить и использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2015, 11:19 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Всё вроде получается, спасибо за статью и книгу, её уже листал) Не получается сгенерить crl файл в OpenSSL, выкидывает ошибку чтения файла /DemoCA/private/cakey.pem... корневые, клиенсткие и ключи сгенерились. Сервер Postgres я так понял из за этого crl не хочет нормально стартовать... Или может кто скажет что в нём должно быть? Пробовал пустой txt сделать crl, фокус не вышел.. В нём же откатанные сертификаты раняться? если таковых нет, то и файл пустой? или я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 13:07 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
В принципе добился желаемого, опишу, вдруг кому понадобиться: 1) установил OpenSSL (можно установщиком, можно собрать в студии) 2) в консоли OpenSSL Генерируем необходимые файлы: авторсоздаём корневой сертификат и ключ: openssl req -config conf.cnf -new -x509 -newkey rsa:2048 -days 3650 -out ca.crt -keyout ca.key Создаём файл отзывов: openssl ca -config conf.cnf -gencrl -out server.crl Запрос на сертификат клиента openssl req -config conf.cnf -newkey rsa:2048 -days 1825 -keyout server.key -out server.csr Подписываем запрос на сертификат корневого сертификата сервера: openssl ca -config conf.cnf -days 1826 -policy policy_anything -keyfile ca.key -cert ca.crt -in server.csr -out server.crt В итоге получаем 4 файлика. Далее в postgresql.conf меняем следующие строки и указываем наши файлы (должны лежать в папке data): авторssl = on # (change requires restart) #ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers # (change requires restart) #ssl_prefer_server_ciphers = on # (change requires restart) #ssl_ecdh_curve = 'prime256v1' # (change requires restart) #ssl_renegotiation_limit = 512MB # amount of data between renegotiations ssl_cert_file = 'server.crt' # (change requires restart) ssl_key_file = 'server.key' # (change requires restart) ssl_ca_file = 'ca.crt' # (change requires restart) ssl_crl_file = 'server.crl' # (change requires restart) В файле pg_hba.conf добавляем или заменяем запись: автор# IPv4 local connections: hostssl all all all trust Перезапускаем postgres (не службу, а консолью): авторpg_ctl -D C:\pgsql\data -l logfile.log stop pg_ctl -D C:\pgsql\data -l logfile.log start postgres.exe -D "c:\pgsql\data" -l psql -U postgres -h localhost Сервер должен спросить пароль сертификата, и выдать сообщение: авторSSL-соединение (протокол: TLSv1.2, шифр: ECDHE-RSA-AES256-GCM-SHA384, бит: 256, сжатие: выкл.) Всё работает, но неудобная ситуация: при подключении клиентской проги или того-же pg-admina, выполнение любого запроса всегда требует ввести пароль от сетрификата, притом требует только в консоле, где ребутили сервер. Случайно заметил.. Кажется идиотизмом, но спрашивает сервер... как с этим быть? Отключить где или в запросах посылать или? Пробовал сертификат установить в винду, толку как и ождалось не дало. Или где я промахнулся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2015, 10:37 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Всё, добился желаемого в полном объёме. Можно закинуть как статьёй "Настройка SSL в Postgres под Windows", пригодиться. Тестировал на 2х машинах, в локальной сети и через инет. Последовательность действий: 1) Качаем OpenSSL , устанавливаем. При вопросе размещения своих файлов выбираем "/bin", то есть в свою корневую папку, а не в винду. 2) Запускаем OpenSSL (если напишет что не сумел прочитать файл openssl.conf перезапускаем от админа). В папке bin создаём папку (у меня "1"), в неё будем кидать что сгенерится. 3) В консоли вбиваем следующие команды (генерируем ключи и сертификаты для postgre): req -new -text -out 1/server.req //Потребуется придумать пароль, повторить его ввод //После генерации потребуется заполнить несколько полей данных (желательно правдивых) ca -gencrl -out 1/root.crl //Генерим файл-список отзывов сертификатов. //На этом этапе может выскочить ошибка индексации в файлах serial,cacert.pem или других. Решение беды - создаём в папке DemoCA файл crlnumber, без разрешения пустой. Скорее всего его нет по указанной директории. rsa -in privkey.pem -out 1/server.key //Генерим ключ сертификата сервера, потребуется ввод придуманного ранее пароля. req -x509 -in 1/server.req -text -key 1/server.key -out 1/server.crt -days 3650 //Подписываем и создаём сам сертификат на 10 лет (можно меньше/больше). rsa -in privkey.pem -out 1/client.key //Аналогично генерим ключ сертификата клиента, также ввод того-же пароля req -x509 -in 1/server.req -text -key 1/client.key -out 1/client.crt -days 3650 //Снова подписываем. В итоге получаем 6 файлов: server.req, server.key, server.crt, server.crl, client.key, client.crt. 4) файлы server.key, server.crt, server.crl кидаем в ..\postgresql\...\data\ (где лежат файлы конфига) 5) в postgresql.conf строку ssl = off меняем на ssl = on , более можно не усердствовать, закрываем. 6) в файле pg_hba.conf добавляем, а лучше меняем хосты: автор#host all all all trust hostssl all all all trust дабы убедиться в исключительном ssl... 7) Ребутим сервер, проверяем запуск службы postgresql (при включенном ssl служба не всегда хочет сама стартовать, пока не разобрался в причине) 8)На клиентской машине, либо на самом сервере заходим: C:\Users\...\AppData\Roaming\postgresql\ , если такой папки нет, создаём, и в неё кидаем файл client.crt (можно установить сертификат, но погоды не изменит) 9) Через ODBC подключения в настройках поля SSL mode - verify-full или verify-ca , проверяем соединение, должно быть успешным. 10) Чтобы окончательно убедиться в работоспособности, консольно заходим в psql: pg_ctl -D "C:\Program Files\PostgreSQL\...\data" -l logfile.log start Должно вывалиться сообщение вида: SSL-соединение (шифр: DHE-RSA-AES256-SHA, бит: 256) на всех клиентах при подключении стоит закинуть файл в указанную папку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 15:36 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Midgard90 ca -gencrl -out 1/root.crl откуда взять эту программу? openssl ca ..... пишет ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2015, 12:11 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
crauseMidgard90 ca -gencrl -out 1/root.crl откуда взять эту программу? openssl ca ..... пишет ошибку пришлось использовать OpenSSL двух сборок. грешу на кривизну своих рук. ТСМожно закинуть как статьёй "Настройка SSL в Postgres под Windows" существует ли статья? если ТС делал под виндой то у него ошибка в слешах, в windows пути указываются "\" знатоки почему openssl требует openssl.cnf или openssl.cfg зависит от сборки ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 10:11 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Да, зависит от сборки. Сейчас тоже столкнулся с: авторca -gencrl -out 1/root.crl Вываливает кучу ошибок. нынешняя версия: 1.0.2h x64. На момент написания статьи была вроде 0.9.8 или как-то так... Кто может разбирал подобное?: авторOpenSSL> ca -gencrl -out C:\iis\crl.crl Using configuration from C:\OpenSSL-Win64\bin\openssl.cfg Error opening CA private key c:/iis/private/cakey.pem 4024:error:02001002:system library:fopen:No such file or directory:.\crypto\bio\bss_file.c:398:fopen('c:/iis/private/cakey.pem','rb') 4024:error:20074002:BIO routines:FILE_CTRL:system lib:.\crypto\bio\bss_file.c:400: unable to load CA private key error in ca в конфигурационном файле вообще нет таких путей, папок или чего подобного, чё он туда лезет то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 17:46 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Да, и слеши он кушает и тот и другой без разницы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 17:54 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
авторВсё, добился желаемого в полном объёме. Можно закинуть как статьёй "Настройка SSL в Postgres под Windows", пригодиться. Тестировал на 2х машинах, в локальной сети и через инет. Последовательность действий: Сделал то же самое, тоже пишет все окей ssl и все дела, но подключаются клиенты на ура, даже у кого нет сертификатов и никогда не было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:38 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Даже пароль не нужен КАК ВКЛЮЧИТЬ ПАРОЛЬ Если конектиться с другого компьютера и не вводить пароль то подключается. hostssl all all 0.0.0.0/0 md5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 15:41 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Короче пользователь postgres имеет доступ ко всему без пароля. Это мега о%ный косяк, такое нельзя даже в бэту выкладывать 9.5 9.6 Наверняка можно что-то сделать, подскажите что? С самого начала мне эта БД не нравилась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 15:53 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
imobileКороче пользователь postgres имеет доступ ко всему без пароля. Это мега о%ный косяк, такое нельзя даже в бэту выкладывать 9.5 9.6 Наверняка можно что-то сделать, подскажите что? С самого начала мне эта БД не нравилась... Это косяк вашей настройки базы. 1)покажите весь pg_hba.conf незакоментированный 2)делали вы релоад/рестарт базы после изменений в pg_hba.conf -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 16:07 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Maxim BogukimobileКороче пользователь postgres имеет доступ ко всему без пароля. Это мега о%ный косяк, такое нельзя даже в бэту выкладывать 9.5 9.6 Наверняка можно что-то сделать, подскажите что? С самого начала мне эта БД не нравилась... Это косяк вашей настройки базы. 1)покажите весь pg_hba.conf незакоментированный 2)делали вы релоад/рестарт базы после изменений в pg_hba.conf -- Maxim Boguk www.postgresql-consulting.ru авторhostssl all all all trust hostssl all all 127.0.0.1/32 md5 hostssl all all 0.0.0.0/0 md5 Меняли много. Одна из последних. Вторая строчка не обязательная. А если первую не написать, то локалхост подсоединится не может, хотя другие без пароля - пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2016, 10:01 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk2)делали вы релоад/рестарт базы после изменений в pg_hba.conf Перезагрузка компьютера считается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2016, 10:07 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
imobile, hostssl all all all trust ну так что вы хотите то с включенным trust для всех хостов. при подключении выбирается первая подходящая строка, которая матчит хост и из нее берется метод аутентификации. для локальных подключений существует специальный метод peer. trust вообще не стоит использовать нигде кроме тестовых машин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2016, 11:31 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
Alexiusimobile, hostssl all all all trust ну так что вы хотите то с включенным trust для всех хостов. при подключении выбирается первая подходящая строка, которая матчит хост и из нее берется метод аутентификации. для локальных подключений существует специальный метод peer. trust вообще не стоит использовать нигде кроме тестовых машин.Видимо вы не дочитали до конца мое сообщение. Пробовал без этой строчки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2016, 11:57 |
|
||
|
Поднятие и настройка SSL
|
|||
|---|---|---|---|
|
#18+
imobileAlexiusimobile, пропущено... ну так что вы хотите то с включенным trust для всех хостов. при подключении выбирается первая подходящая строка, которая матчит хост и из нее берется метод аутентификации. для локальных подключений существует специальный метод peer. trust вообще не стоит использовать нигде кроме тестовых машин.Видимо вы не дочитали до конца мое сообщение. Пробовал без этой строчки без этой строчки вы явно не рестартовали/релоадили базу после изменений. Потому что именно она у вас работает. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2016, 12:00 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39310385&tid=1996995]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
190ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 301ms |

| 0 / 0 |
