Насколько безопасно соединение npgsql с опцией ssl - PullRequest
0 голосов
/ 11 ноября 2018

Я использую npgsql версии 2270, и я хотел бы защитить свое соединение, передавая пароль БД НЕ в открытом тексте и с возможностью использовать SSL-соединение на предварительно сконфигурированном сервере postgresql. Я сомневаюсь, как установить строку подключения с помощью npgsql.

Я попытался добавить ssl = true sslmode = предпочитать строку conn, но я не представляю, как проверить, работает ли она.
Достаточно ли для безопасной передачи данных? строка верна?
Нужно активировать ssl также на сервере, верно?
Как я могу проверить, проходят ли данные в режиме ssl? Спасибо всем.

1 Ответ

0 голосов
/ 11 ноября 2018

Во-первых, SSL на самом деле не о шифровании вашего пароля, а о шифровании всего потока. Если вы используете метод аутентификации PostgreSQL md5 (см. Ваш pg_hba.conf), то пароли никогда не передаются в виде открытого текста независимо от того, используете вы SSL или нет.

Чтобы использовать SSL, лучше установить SSL Mode на require, а не prefer: последний попытается установить соединение SSL, но откатится на не-SSL, если сервер его не поддерживает. require потерпит неудачу при попытке подключения, если не удалось установить SSL.

В любом случае, да, вам нужно настроить SSL на PostgreSQL, включая сертификат и закрытый ключ - вы можете прочитать об этом в документации .

Если цель состоит только в том, чтобы избежать отправки паролей в открытом тексте, то использовать md5 (или sha256 в более поздних версиях) - самый простой способ.

...