Linux gssapi with mic

Плагин аутентификации-GSSAPI

gssapi аутентификация плагин позволяет пользователю для аутентификации служб , которые используют Generic Security Services Application Program Interface (GSSAPI) . В Windows есть немного другой, но очень похожий API, называемый интерфейсом поставщика поддержки безопасности (SSPI) . GSSAPI — это стандартизированный API, описанный в RFC2743 и RFC2744 . Клиент и сервер ведут переговоры с использованием стандартизованного протокола, описанного в RFC7546 .

В Windows этот плагин аутентификации поддерживает аутентификацию Kerberos и NTLM . Проверка подлинности Windows поддерживается независимо от того, используется ли домен в среде.

В системах Unix наиболее распространенной службой GSSAPI является Kerberos . Однако в системах Unix он используется реже, чем в Windows. Тем не менее, этот плагин аутентификации также поддерживает аутентификацию Kerberos в Unix.

gssapi аутентификация плагин чаще всего используется для проверки подлинности с Microsoft Active Directory .

В этой статье приведены инструкции по настройке gssapi аутентификации gssapi для MariaDB для входа без пароля.

Установка пакета плагина

Общая gssapi подключаемого модуля аутентификации gssapi включена в пакеты MariaDB как разделяемая библиотека auth_gssapi.so или auth_gssapi.dll в системах, где она может быть построена. Плагин впервые был включен в MariaDB 10.1.11 .

Установка на Linux

gssapi плагин аутентификации включен в бинарных тарболлах на Linux.

Установка с помощью менеджера пакетов

gssapi плагин аутентификации также может быть установлен с помощью менеджера пакетов в Linux. Для этого ваша система должна быть настроена для установки из одного из репозиториев MariaDB.

Вы можете настроить диспетчер пакетов для его установки из репозитория пакетов MariaDB корпорации MariaDB с помощью сценария установки репозитория пакетов MariaDB .

Вы также можете настроить диспетчер пакетов для его установки из репозитория MariaDB Foundation MariaDB с помощью инструмента настройки репозитория MariaDB .

Установка с вкусом/вкусом

В RHEL, CentOS, Fedora и других подобных дистрибутивах Linux настоятельно рекомендуется установить соответствующий пакет RPM из репозитория MariaDB с помощью yum или dnf . Начиная с RHEL 8 и Fedora 22, yum был заменен на dnf , который является следующей основной версией yum . Однако команды yum по- прежнему работают во многих системах, использующих dnf . Например:

sudo yum install MariaDB-gssapi-server
Установка с помощью apt-get

В Debian, Ubuntu и других подобных дистрибутивах Linux настоятельно рекомендуется установить соответствующий пакет DEB из репозитория MariaDB с помощью apt-get . Например:

sudo apt-get install mariadb-plugin-gssapi-server
Установка на молнии

В SLES, OpenSUSE и других подобных дистрибутивах Linux настоятельно рекомендуется установить соответствующий пакет RPM из репозитория MariaDB с помощью zypper . Например:

sudo zypper install MariaDB-gssapi-server

Установка на Windows

gssapi плагин аутентификации включен в MSI и ZIP пакетов на Windows.

Читайте также:  Youtube player for linux

Установка вилки

Хотя разделяемая библиотека плагина распространяется с MariaDB по умолчанию,на самом деле плагин не устанавливается MariaDB по умолчанию.Есть два метода,которые могут быть использованы для установки плагина с MariaDB.

Первый способ можно использовать для установки плагина без перезапуска сервера. Вы можете установить плагин динамически, выполнив INSTALL SONAME или INSTALL PLUGIN . Например:

INSTALL SONAME 'auth_gssapi';

Второй метод можно использовать, чтобы указать серверу загружать плагин при его запуске. Плагин можно установить таким образом, указав параметры —plugin-load или —plugin-load-add . Это можно указать в качестве аргумента командной строки для mysqld или указать в соответствующей группе параметров сервера в файле параметров . Например:

[mariadb] . plugin_load_add = auth_gssapi

Деинсталляция Плагина

Вы можете удалить плагин динамически, выполнив UNINSTALL SONAME или UNINSTALL PLUGIN . Например:

UNINSTALL SONAME 'auth_gssapi';

Если вы установили подключаемый модуль, указав параметры —plugin-load или —plugin-load-add в соответствующей группе параметров сервера в файле параметров , эти параметры следует удалить, чтобы предотвратить загрузку подключаемого модуля в следующий раз. сервер перезапускается.

Настройка плагина

Если сервер MariaDB работает на Unix,то для использования плагина необходимо выполнить некоторые дополнительные шаги по настройке.

Если сервер MariaDB работает под управлением Windows,то для использования плагина не потребуется никаких специальных действий по настройке,при условии,что следующее верно:

  • Сервер Windows присоединен к домену.
  • Процесс сервера MariaDB работает либо как учетная запись NetworkService, либо как учетная запись пользователя домена .

Создание файла с клавиатурой на Unix

Если сервер MariaDB работает в Unix, то серверу KDC потребуется создать файл keytab для сервера MariaDB. Файл keytab содержит имя участника-службы, которое является идентификатором, который сервер MariaDB будет использовать для связи с сервером KDC. Keytab необходимо будет передать на сервер MariaDB, а процессу сервера mysqld потребуется доступ для чтения к этому файлу keytab.

Читайте также:  Linux echo переменные окружения

Создание этого файла ключей зависит от того, является ли сервер KDC Microsoft Active Directory KDC или MIT Kerberos KDC .

Создание файла клавиатуры с помощью Microsoft Active Directory

Если вы используете Microsoft Active Directory KDC , вам может потребоваться создать keytab с ktpass.exe утилиты ktpass.exe на хосте Windows. Субъект-службу необходимо сопоставить с существующим пользователем домена. Для этого выполните действия, перечисленные ниже.

Обязательно замените следующие пункты на следующем шаге:

  • Замените $ на полное DNS-имя хоста сервера MariaDB.
  • Замените $ доменом Active Directory.
  • Замените $ существующим пользователем домена.
  • Замените $ паролем субъекта-службы.

Для создания принципа обслуживания выполните следующие действия:

ktpass.exe /princ mariadb/$ @$ /mapuser $ /pass $ /out mariadb.keytab /crypto all /ptype KRB5_NT_PRINCIPAL /mapop set 

Создание файла ключей с помощью MIT Kerberos.

Если вы используете MIT Kerberos KDC , вы можете создать файл keytab с kadmin утилиты kadmin . Для этого выполните действия, перечисленные ниже.

На следующих шагах не забудьте заменить $ на полное DNS-имя хоста сервера MariaDB.

Сначала создайте kadmin службу с помощью утилиты kadmin . Например:

kadmin -q "addprinc -randkey mariadb/$ " 

Затем экспортируйте вновь созданного пользователя в файл keytab с kadmin утилиты kadmin . Например:

kadmin -q "ktadd -k /path/to/mariadb.keytab mariadb/$ " 

Более подробную информацию можно найти по следующим ссылкам:

Настройка пути к файлу клавиатуры на Unix

Если сервер MariaDB работает в Unix, то путь к ранее созданному файлу keytab можно задать, настроив системную переменную gssapi_keytab_path .Это можно указать в качестве аргумента командной строки для mysqld или указать в соответствующей группе параметров сервера в файле параметров . Например:

[mariadb] . gssapi_keytab_path=/path/to/mariadb.keytab 

Настройка имени руководителя службы

Имя субъекта-службы можно задать, настроив системную переменную gssapi_principal_name .Это можно указать в качестве аргумента командной строки для mysqld или указать в соответствующей группе параметров сервера в файле параметров . Например:

Если имя участника-службы не указано, плагин по умолчанию попытается использовать mariadb/[email protected] .

Если сервер MariaDB работает на Unix,то для работы плагина необходимо имя основной службы.

Если сервер MariaDB работает в Windows, то для работы плагину обычно не требуется субъект-служба. Однако, если вы все равно хотите его использовать, его можно создать с setspn утилиты setspn .

Разные реализации KDC могут использовать разные канонические формы для идентификации принципалов. См. RFC2744: раздел 3.10, чтобы узнать, что стандарт говорит об основных именах.

Более подробную информацию можно найти по следующим ссылкам:

Creating Users

Чтобы создать учетную запись пользователя через CREATE USER , укажите имя подключаемого модуля в предложении IDENTIFIED VIA . Например:

CREATE USER username@hostname IDENTIFIED VIA gssapi;

Если SQL_MODE не имеет установленного NO_AUTO_CREATE_USER , вы также можете создать учетную запись пользователя через GRANT . Например:

GRANT SELECT ON db.* TO username@hostname IDENTIFIED VIA gssapi;

Вы можете также указать пользователя область для MariaDB с USING пункта. Например:

Формат области зависит от конкретного используемого механизма аутентификации. Например, формат должен быть » machine\\username для пользователей Windows, аутентифицируемых с помощью NTLM.

Если область не указана в определении учетной записи пользователя, она не используется для сравнения. Следовательно, [email protected], [email protected] и mymachine \ usr1 будут идентифицироваться как следующая учетная запись пользователя:

CREATE USER usr1@hostname IDENTIFIED VIA gssapi;

Создание пользователей,идентифицированных через членство в группе или SID (специфично для Windows)

Начиная с версии 10.6.0,только в Windows,можно войти в систему,используя членство в AD или локальной группе.Это достигается путем использования префикса GROUP в IDENTIFIED . AS

CREATE USER root IDENTIFIED VIA gssapi as 'GROUP:Administrators' CREATE USER root IDENTIFIED VIA gssapi as 'GROUP:BUILTIN\\Administrators' 

Следствием вышеприведенного определения является то,что каждый пользователь,который идентифицирует себя как член группы Administrators,может войти в систему,используя имя пользователя root,без пароля.

Пользователь также может войти в систему, используя собственный или групповой SID.

CREATE USER root IDENTIFIED VIA gssapi as 'SID:S-1-5-32-544' 

Использование SID будет работать немного быстрее,чем использование имени (поскольку это избавит от перевода между SID и именем,который выполняется в противном случае),также SID невосприимчивы к переименованию пользователей или групп.

© 2022 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/authentication-plugin-gssapi/

MariaDB 10.9

MariaDB 10.4 вносит ряд изменений в процесс аутентификации,призванных сделать его более простым и интуитивно понятным.

Для клиентов, использующих библиотеки libmysqlclient MariaDB Connector/C, предоставляется один подключаемый модуль аутентификации, совместимый с gssapi.

По умолчанию используется плагин аутентификации mysql_native_password,который будет использоваться для учетной записи,созданной при отсутствии явного указания и установленном old_passwords=0.

Источник

Оцените статью
Adblock
detector