Аутентификация и шифрование
Stunnel
Stunnel представляет собой оболочку SSL, то есть позволяет наделить поддержкой SSL демона, не рассчитанного на безопасный обмен данными. При помощи Stunnel можно установить защищенный канал связи с базой данных PostgreSQL, улучшить общую безопасность системы и защитить данные.
Пакет Stunnel распространяется с сайта http://www.stunnel.org. Перейдите по этому адресу, откройте страницу загрузки и щелкните на ссылке Get the source code. Начнется загрузка последней версии пакета. Сохраните файл в домашнем или любом другом каталоге файловой системы. Завершив загрузку Stunnel, откройте консольное окно и перейдите в каталог с принятым файлом. Распакуйте файл следующими командами:
$ gzip – d stunnel-[версия].tar.gz $ tar xf stunnel-[версия].tar
Файлы Stunnel распаковываются в каталог с именем st\mne\-[версия], где [версия] – номер версии продукта. К счастью, установка Stunnel обычно проходит быстрее, чем установка OpenSSL. После распаковки файлов перейдите в созданный каталог с помощью команды cd. Помните, что пакет OpenSSL должен быть уже установлен в системе, без него установка Stunnel не работает. Процедура построения и установки Stunnel описана ниже.
- Запустите сценарий конфигурации, который собирает информацию о системе и производит настройку установочных сценариев Stunnel:
$./configure
- Откомпилируйте исходные тексты Stunnel следующей командой make, которая создает исполняемые файлы по исходным текстам Stunnel. В процессе компиляции вам будет предложено ввести сведения о местонахождении и имени домена. Введенные данные используются для построения файла stunnel.pern. В этом файле хранится сертификат, при помощи которого шифруются данные.
$ make
- Если компиляция прошла успешно, установите двоичные файлы OpenSSL следующей командой, которая устанавливает откомпилированные файлы:
$ make install
Запуск Stunnel
Существует два варианта работы Stunnel в системе: использование inetd или запуск двоичного файла Stunnel в режиме демона. Второй вариант считается пред-лочтительным, поскольку использование inetd накладывает на работу пакета некоторые ограничения, связанные с особенностями SSL, в том числе:
- для каждого подключения необходимо инициализировать Stunnel демоном inetd;
- кэширование сеанса невозможно;
- использование inetd сопровождается порождением новых процессов, что требует дополнительных затрат процессорного времени.
Пакет Stunnel позволяет устанавливать защищенные подключения как к удаленным, так и к локальным базам данных. Если клиент psql обращается к базе данных, обслуживаемой другим хостом, создается защищенный канал обмена данными между psql и этой базой данных. Если база данных находится на одном компьютере с клиентом psql, можно создать защищенный канал обмена данными между двумя локальными программами (на случай, если вы опасаетесь прослушивания локальных подключений через сокеты TCP/IP).
В каталоге Stunnel должен находиться файл с именем stunnel; это исполняемый файл программы. Далее предполагается, что исполняемый файл хранится в этом каталоге, однако вы можете скопировать его в каталог /usr/local/sbin или любой другой каталог по своему усмотрению. Кроме того, ссылку на этот файл можно включить в стартовый сценарий, чтобы он автоматически запускался (в виде одного или двух процессов по вашему выбору) во время загрузки системы.
Примечание
Если Stunnel используется с inetd, запускать файл в стартовом сценарии не нужно.