tacacs+ для аутентификации/авторизации Linux с использованием pam_tacplus

tacacs+ для аутентификации/авторизации Linux с использованием pam_tacplus

Я использую TACACS+ для аутентификации пользователей Linux с помощью модуля PAM pam_tacplus.so, и это работает без проблем.

Я изменил модуль pam_tacplus, чтобы он соответствовал некоторым моим индивидуальным требованиям.

Я знаю, что по умолчанию TACACS+ не имеет никаких средств для поддержки групп Linux или управления уровнем доступа через команды Linux Bash, однако мне было интересно, есть ли способ передать некоторую информацию со стороны сервера TACACS+, чтобы позволить модулю pam_tacplus.so, который можно использовать для разрешения/запрета или изменения группы пользователей «на лету» [из самого модуля pam].

Пример: если бы я мог передать номер priv-lvl с сервера клиенту и который можно было бы использовать для принятия решений в модуле PAM.

PS: Я бы предпочел метод, не требующий модификации кода на стороне сервера; все изменения должны выполняться на стороне Linux, т. е. в модуле pam_tacplus.

Спасибо за любую помощь.

решение1

В конце концов у меня это получилось.

Проблема 1:

Проблема, с которой я столкнулся, заключалась в том, что было очень мало документации по настройке сервера TACACS+ для устройств, отличных от CISCO.

Проблема 2:

Версия tac_plus, которую я использую

tac_plus -v
tac_plus version F4.0.4.28

похоже, не поддерживает

service = shell protocol = ssh 

опция в файле tac_plus.conf.

Поэтому в конце концов я использовал

service = system  {
                default attribute = permit
                priv-lvl = 15
        }

На стороне клиента (pam_tacplus.so),

Я отправил AVP service=system на этапе авторизации (pam_acct_mgmt), что заставило службу вернуть priv-lvl, определенный в файле конфигурации, который я использовал для определения уровня привилегий пользователя.

ПРИМЕЧАНИЕ: В некоторых документах упоминается, что service=system больше не используется. Поэтому эта опция может не работать с устройствами CISCO.

НТН

Связанный контент