Невозможно авторизовать команды через сервер tacacs+, выполняемые в оболочке по ssh.

Я настроил сервер tacacs+ и клиент tacacs PAM отсюда — https://github.com/kravietz/pam_tacplus/tree/main.

Когда пользователь подключается по ssh к клиентскому компьютеру tacacs, я хочу пройти аутентификацию на сервере tacacs+ и разрешить выполнение только тех команд в оболочке, которые разрешены в конфигурации сервера tacacs+.

Аутентификация работает, но я не могу заставить работать авторизацию команд оболочки.

Какие изменения мне придется сделать, чтобы это сработало.

Это конфигурация сервера tacacs+, в которой я разрешил только команду ls:

      key = testkey123

user = testuser1 {
        cmd = ls {
                permit .*
        }
        global = cleartext "testpass123"
        service = ppp protocol = ip {
                addr=1.2.3.4
        }
}

Я также создал локального пользователя на клиенте с теми же учетными данными, что и в конфигурации сервера.

Это тестовый модуль PAM, который я определил в /etc/pam.d:

      #%PAM-1.0
auth       sufficient /lib/security/pam_tacplus.so server=127.0.0.1 secret=testkey123
account    sufficient /lib/security/pam_tacplus.so server=127.0.0.1 secret=testkey123 service=ppp protocol=ip
session    sufficient /lib/security/pam_tacplus.so server=127.0.0.1 secret=testkey123 service=ppp protocol=ip

В модуле PAM sshd, присутствующем в /etc/pam.d, я добавил:

      auth include test
account include test
session include test

В конфигурации tacacs+ я разрешил только команду «ls», но все команды могут быть выполнены. Похоже, клиент не авторизует разрешенные команды с сервера.

0 ответов

Другие вопросы по тегам