Перейти к содержимому

Gssapiauthentication что это

  • автор:

что такое в SSH gssapi-keyex, gssapi-with-mic?

простыми словами.
gssapi-with-mic по гуглу это вроде авторизация по маку? без поролей просто мак проверяется и все?

Regacar ★
23.06.22 13:58:15 MSK

это в микрофон говоришь «пусти» и оно пускает.

thesis ★★★★★
( 23.06.22 16:24:24 MSK )

Нет, это аутентификация и через GSS API. GSS API — это такой промежуточный слой, который предполагалось использовать, чтобы из приложения было не важно, какая внизу система аутентификации. На практике внизу почти в 100% случаев находится Kerberos.

Можно сказать, что в случае SSH, GSS API — это способ сделать SSO с Kerberos.

gssapi-keyex и gssapi-with-mic — варианты реализации, отличающиеся деталями протокола, но я почти уверен, что тебе это не важно.

ivlad ★★★★★
( 23.06.22 16:55:46 MSK )
Последнее исправление: ivlad 23.06.22 16:56:46 MSK (всего исправлений: 1)

Ответ на: комментарий от ivlad 23.06.22 16:55:46 MSK

Насколько я понимаю, gssapi-keyex — это не аутентификация, а обмен ключами через GSS API.

Т.е. вместо того, чтобы лазить в .ssh/known_hosts, сверять fingerprint (спрашивая пользователя при необходимости), можно безопасно обменяться ключами через GSS API.

Долгое подключение по SSH

В большинстве случаев, длительная задержка при подключении вызвана использованием метода аутентификации GSSAPI или опцией UseDNS.
Задержка может происходить, когда клиент и сервер пытаются разобраться, должны ли они использовать GSSAPI для аутентификации. Это можно увидеть командой:

SSH -vvv

Если при выводе будет упоминание о GSSAPI, его отключение может помочь.
Чтобы отключить GSSAPI authentication на стороне клиента нужно добавить следующие строки в файл /etc/ssh/ssh_config:

GSSAPIAuthentication no

Чтобы отключить проверку подлинности GSSAPI на сервере, внесем изменения в файл файл /etc/ssh/sshd_config, также отключим использование DNS с целью ускорения авторизации, особенно в случае проблем с разрешением имен:

GSSAPIAuthentication no UseDNS no

Необходимо перезапустить OpenSSH сервер для применения изменений
Для Fedora/Centos/RHEL и т.п. :

service sshd restart

Для Debian/Ubuntu/LinuxMint и т.п. :

sudo service ssh restart

Gssapiauthentication что это

GSSAPI является протоколом отраслевого стандарта для безопасной авторизации, определённым в RFC 2743. PostgreSQL поддерживает GSSAPI с Kerberos аутентификацией с соответствии с RFC 1964. GSSAPI обеспечивает автоматическую аутентификацию (single sign-on), для систем, которые её поддерживают. Сама по себе аутентификация безопасна, но данные, отсылаемые в ходе подключения к базе данных, не защищены, если не используется SSL .

Поддержка GSSAPI должна быть включена при сборке PostgreSQL ; за дополнительными сведениями обратитесь к Главе 16.

При работе с Kerberos GSSAPI использует стандартные учётные записи в формате servicename / hostname @ realm . Сервер PostgreSQL примет любого принципала, включённого в используемый сервером файл таблицы ключей, но необходимо проявить осторожность в указании корректных деталей принципала в ходе соединения с клиентом, применяющим параметр подключения krbsrvname . (См. также Подраздел 34.1.2.) Значение имени сервиса по умолчанию postgres может быть изменено во время сборки с помощью ./configure —with-krb-srvnam= whatever . В большинстве сред изменять данный параметр не требуется. Однако некоторые реализации Kerberos могут потребовать иного имени сервиса, например, Microsoft Active Directory требует, чтобы имя сервиса было набрано заглавными буквами ( POSTGRES ).

hostname здесь — это полное доменное имя компьютера, где работает сервер. Областью субъекта-службы является предпочитаемая область данного компьютера.

Принципалы клиентов могут быть сопоставлены с различными именами пользователей баз данных PostgreSQL в pg_ident.conf . Например, принципалу pgusername@realm может быть сопоставлено просто pgusername . Так же возможно использовать в качестве имени роли в PostgreSQL полное имя принципала username@realm без какого-либо сопоставления.

PostgreSQL также поддерживает возможность убирать область из имени принципала. Эта возможность оставлена для обратной совместимости и использовать её крайне нежелательно, так как при этом оказывается невозможно различить разных пользователей, имеющих одинаковые имена, но приходящих из разных областей. Чтобы включить её, установите для include_realm значение 0. В простых конфигурациях с одной областью исключение области в сочетании с параметром krb_realm (который позволяет ограничить область пользователя одним значением, заданным в krb_realm parameter) будет безопасным, но менее гибким вариантом по сравнению с явным описанием сопоставлений в pg_ident.conf .

Убедитесь, что файл ключей вашего сервера доступен для чтения (и желательно недоступен для записи) учётной записи сервера PostgreSQL . (См. также Раздел 18.1.) Расположение этого файла ключей указывается параметром krb_server_keyfile. По умолчанию это /usr/local/pgsql/etc/krb5.keytab (каталог может быть другим, в зависимости от значения sysconfdir при сборке). Из соображений безопасности рекомендуется использовать отдельный файл keytab для сервера PostgreSQL , а не открывать доступ к общесистемному файлу.

Файл таблицы ключей генерируется программным обеспечением Kerberos; подробнее это описано в документации Kerberos. Следующий пример для MIT-совместимых реализаций Kerberos 5:

kadmin% ank -randkey postgres/server.my.domain.org kadmin% ktadd -k krb5.keytab postgres/server.my.domain.org 

При подключении к базе данных убедитесь, что у вас есть разрешение на сопоставление принципала с именем пользователя базы данных. Например, для имени пользователя базы данных fred , принципал fred@EXAMPLE.COM сможет подключиться. Чтобы дать разрешение на подключение принципалу fred/users.example.com@EXAMPLE.COM , используйте файл сопоставления имён пользователей, как описано в Разделе 20.2.

Для метода GSSAPI доступны следующие параметры конфигурации:

include_realm

Когда этот параметр равен 0, из принципала аутентифицированного пользователя убирается область, и оставшееся имя проходит сопоставление имён (см. Раздел 20.2). Этот вариант не рекомендуется и поддерживается в основном для обратной совместимости, так как он небезопасен в окружениях с несколькими областями, если только дополнительно не задаётся krb_realm . Более предпочтительный вариант — оставить значение include_realm по умолчанию (1) и задать в pg_ident.conf явное сопоставление для преобразования имён принципалов в имена пользователей PostgreSQL . map

Разрешает сопоставление имён пользователей системы и пользователей баз данных. За подробностями обратитесь к Разделу 20.2. Для принципала GSSAPI/Kerberos, такого как username@EXAMPLE.COM (или более редкого username/hostbased@EXAMPLE.COM ), именем пользователя в сопоставлении будет username@EXAMPLE.COM (или username/hostbased@EXAMPLE.COM , соответственно), если include_realm не равно 0; в противном случае именем системного пользователя в сопоставлении будет username (или username/hostbased ). krb_realm

Устанавливает область, с которой будут сверяться имена принципалов пользователей. Если этот параметр задан, подключаться смогут только пользователи из этой области. Если не задан, подключаться смогут пользователи из любой области, в зависимости от установленного сопоставления имён пользователей.

Пред. Наверх След.
20.5. Аутентификация password Начало 20.7. Аутентификация SSPI

Настройка быстрого подключения по SSH в Linux

Обновлено

Обновлено: 17.11.2017 Опубликовано: 21.11.2016

В некоторых случаях может наблюдаться замедленная реакция системы Linux при попытке подключиться по SSH. Это может происходить как на этапе отправки логина, так и после ввода пароля. Для исправления ситуации есть несколько решений.

1. UseDNS

В основном, подключение по SSH происходит медленно из-за неудачных попыток разрешения имен в системе DNS.

Чтобы уменьшить время ожидания при входе, открываем на редактирование следующий файл:

И приводим ее к следующему виду:

* в конкретном примере мы сняли комментарий и заменили yes на no, чем отключили разрешение DNS-имен при каждой попытке подключения. Если на нашем Linux сервере не настроены DNS (или настроены неправильно), это решит проблему медленного SSH.
** если такой строчки нет, необходимо ее дописать.

Чтобы изменнения вступили в силу, перезагружаем сервис:

systemctl restart sshd || systemctl restart ssh

* или service sshd restart || service ssh restart

2. GSSAPIAuthentication

GSSAPI предоставляет API для различных вариантов аутентификации в системе. Однако, в большинстве случаем, используется стандартный метод PAM. Если отключить GSSAPI, это может значительно ускорить вход по SSH.

И приводим две строки к следующему виду:

GSSAPIAuthentication no
GSSAPICleanupCredentials yes

* в данном примере мы отключили аутентификацию с использованием GSS-API (общий программный интерфейс сервисов безопасности). Он может быть использован, например, для связки с Kerberos. Однако, чаще всего используется метод PAM и надобность в GSSAPIAuthentication отсутствует.

systemctl restart sshd || systemctl restart ssh

3. motd

В Linux Ubuntu при входе файл приветствия /etc/motd выполняет различные задачи, например, проверку обновлений, которая может замедлить вход. В этом случае торможение будет на этапе после ввода пароля.

Для отключения модуля приветствия, открываем на редактирование два файла:

И комментируем все строки, в которых присутствует pam_motd.so.

systemctl restart sshd || systemctl restart ssh

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *