Аутентификация RADIUS
Эта страница переведена при помощи нейросети GigaChat.
Аутентификация методом RADIUS похожа на обычный ввод пароля (password
), но для проверки пароля используется сервер RADIUS. Перед началом аутентификации через RADIUS пользователь должен быть предварительно создан в базе данных.
Когда выбран метод RADIUS, запрос доступа отправляется на указанный сервер RADIUS. Тип запроса — «Только аутентификация», содержащий зашифрованные имя пользователя и пароль, а также идентификатор NAS. Сообщение шифруется общим секретом, известным серверу. Ответ сервера RADIUS может быть «Доступ разрешен» или «Доступ запрещен». Возможность учета сессий через RADIUS не предусмотрена.
Допускается указать несколько серверов RADIUS, которые будут опрашиваться последовательно. Если первый сервер отклоняет запрос, дальнейшая обработка прекращается. Если сервер не ответил, опрашивается следующий сервер из списка. Несколько серверов указываются через запятую и помещаются в двойные кавычки. Параметры RADIUS могут быть заданы индивидуально для каждого сервера в виде списка значений, разделенных запятыми, или единым значением, применимым ко всем серверам сразу.
Используются следующие параметры конфигурации для RADIUS:
radiusservers
: DNS-имена или IP-адреса серверов RADIUS, к которым необходимо подключиться. Этот параметр обязателен.
radiussecrets
: Указывает общий секрет, используемый для безопасного обмена данными с серверами RADIUS. Необходимо, чтобы значение этого параметра было абсолютно идентичным на серверах PostgreSQL и RADIUS. Желательно, чтобы длина строки составляла минимум 16 символов. Параметр обязателен для заполнения.
Вектор шифрования будет криптографически устойчивым только в том случае, если PostgreSQL построен с поддержкой для OpenSSL. В других случаях передача на сервер RADIUS следует рассматривать лишь как искажение, а не обеспечение безопасности, и при необходимости должны быть применены внешние меры безопасности.
radiusports
: Номера портов для подключения к серверам RADIUS. Если порт не указан, будет использован стандартный порт RADIUS (1812
).
radiusidentifiers
: Значения, передаваемые в запросах RADIUS в качестве идентификатора NAS (NAS Identifier
). Этот параметр полезен для обозначения конкретного кластера баз данных, к которому хочет подключиться пользователь, что облегчает управление политиками на сервере RADIUS. Если параметр не задан, будет использоваться стандартное значение postgresql
.
Если требуется передать символ пробела или запятую в значении параметра RADIUS, это можно сделать, поместив значение в двойные кавычки. Но это неудобно, так как потребуется вложенность кавычек. Пример правильного задания строки секрета RADIUS с пробелом:
host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""secret two"""