GSSAPI-аутентификация

GSSAPI-шифрованные соединения шифруют все данные, передаваемые по сети, включая запросы и наборы результатов (пароли не передаются по сети). Это обеспечивает целостность и конфиденциальность данных при передаче.

Обзор конфигурации

В YMatrix GSSAPI-шифрование реализуется с использованием Kerberos. Kerberos предоставляет безопасный механизм аутентификации, который можно настроить в файле pg_hba.conf. Он позволяет клиентам аутентифицироваться с помощью билетов Kerberos в взаимодействии с центром распределения ключей Kerberos (KDC), гарантируя, что только авторизованные пользователи могут получить доступ к базе данных.

  • Пример конфигурации pg_hba.conf:
hostgssenc  all    mxadmin   10.51.0.40/32    gss

Пример использования

Примечание!
Убедитесь, что сервер YMatrix установлен и запущен. Если он еще не установлен, ознакомьтесь с инструкциями по настройке в разделе Быстрая установка.

  1. Установите клиентские инструменты Kerberos
  sudo yum install krb5-workstation
  1. Создайте сервисный принципал Kerberos

На сервере администрирования Kerberos создайте сервисный принципал для сервиса YMatrix. Имя сервисного принципала обычно имеет формат servicename/hostname@realm, например: postgres/[email protected].

  • Используйте инструмент kadmin для создания сервисного принципала:
  kadmin
  • В приглашении kadmin выполните следующую команду для создания сервисного принципала со случайным ключом:
  addprinc -randkey postgres/[email protected]
  1. Экспортируйте ключ сервисного принципала

Экспортируйте ключ сервисного принципала в файл keytab. Выполните следующую команду:

Примечание!
Замените /path/to/postgresql.keytab на желаемый путь для сохранения файла keytab.

  ktadd -k /path/to/postgresql.keytab
  postgres/[email protected]
  1. Распределите файл keytab

Скопируйте созданный файл keytab на хост, где запущен сервер YMatrix, и убедитесь, что сервер YMatrix имеет права на чтение этого файла. Например:

  scp /path/to/postgresql.keytab
  [email protected]:/etc/postgresql.keytab
  1. Измените файл pg_hba.conf

В файле pg_hba.conf добавьте или измените метод аутентификации на gss.

  host all all 10.51.0.40/32 gss

Эта конфигурация позволяет клиентам из подсети 10.51.0.40/32 получать доступ ко всем базам данных с использованием GSSAPI-аутентификации (Kerberos).

  1. Измените файл postgresql.conf

Откройте основной конфигурационный файл YMatrix postgresql.conf и установите параметр krb_server_keyfile для указания пути к файлу keytab.

  krb_server_keyfile = '/etc/postgresql.keytab'
  1. Перезапустите сервер YMatrix

После сохранения изменений в конфигурационных файлах перезапустите сервер YMatrix для применения новых настроек.

  mxstop -u
  1. Создайте сопоставление пользователя Kerberos

Сопоставьте принципал Kerberos с пользователем базы данных:

  CREATE USER "username@REALM";
  1. Получите билет Kerberos

На клиентской системе используйте команду kinit для получения билета Kerberos:

  kinit username@REALM

Замените username на имя пользователя Kerberos и REALM на область Kerberos.

  1. Подключитесь к базе данных YMatrix

Используйте клиентский инструмент YMatrix, поддерживающий аутентификацию Kerberos, для подключения к базе данных. Если клиент поддерживает автоматическое получение билета Kerberos, вам не нужно вручную указывать имя пользователя или пароль.

  psql -h server.example.com -U username dbname
  -- Successful login message
  GSSAPI-encrypted connection
  1. Проверьте аутентификацию Kerberos

Проверьте файлы журналов сервера YMatrix, чтобы убедиться, что аутентификация Kerberos прошла успешно.