Я работаю над сервером tacacs + для своей сети университетского городка, и мне было интересно, как я могу настроить сервер tacacs + для связи с PAM, использующим двухфакторную аутентификацию Google. Я немного погуглил, нашел полезную информацию, но не нашел четкой «дорожной карты», и многие шаги в лучшем случае кажутся нечеткими. У меня сейчас работает тестовый стенд Ubuntu tacacs + без настроенных коммутаторов или маршрутизаторов.
Кто-нибудь делал что-то подобное? Я нашел здесь относительно хорошее руководство в цепочке электронной почты redhat: https://www.redhat.com/archives/pam-list/2014-March/msg00008.html
Я не знаю, куда идти дальше и как работает эта система. Есть ли какие-нибудь примеры, которым я могу следовать, или какие-нибудь предложения? Мне кажется, что сейчас я нахожусь в режиме проб и ошибок.
РЕДАКТИРОВАТЬ: В частности, прямо сейчас я смотрю на примеры файлов конфигурации PAM в /etc/pam.d/(tac_plus? Как бы он ни назывался), и я не уверен, что именно туда нужно. Это что-то вроде аутентификатора Google или tacacs +? Мой пример выглядит примерно как приведенный ниже код, но я не уверен, что здесь происходит:
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass
use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in
crond quiet use_uid
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
session optional pam_ldap.so
Также есть конфигурация для tacacs, которая выглядит очень простой, но, как и все остальное, я никогда ее раньше не видел, поэтому я не слишком уверен. Выглядит это так:
# admin group
group = admins {
default service = permit
login = PAM
service = exec {
priv-lvl = 15
}
}
Разделив его на две части, каталог pam предназначен для вашей аутентификации для служб: tac_plus. Файл конфигурации tac_plus предназначен для службы: tacacs +
PAM
Pam - это ваша подключаемая аутентификация, здесь вы собираетесь настроить аутентификацию пользователя / пароля с помощью google auth, поскольку google auth очень часто используется для таких сервисов, как RADIUSD и SSHD, я украду для этого некоторый общедоступный код.
# 1 результат в Google Супертехнолог к которому я на самом деле пошел и написал упрек в отношении некоторых из его мер безопасности Вот но по сути:
Добавьте это в свой раздел авторизации pam.d / tac_plus
auth requisite pam_google_authenticator.so forward_pass
auth required pam_unix.so use_first_pass
Вы можете изменить расположение ключей аутентификации Google, если хотите кормить пользователей из ldap и предварительно сгенерировать их ключи BASE32 вместо использования инструмента google-auth. Подробнее о модуле pam google_auth
TACACS ++
tac_plus - это сервис, при аутентификации с помощью этого сервиса он будет использовать модуль pam для tac_plus, так же, как radiusd и sshd.
Есть масса руководств о том, как это настроить, http://www.shrubbery.net/tac_plus/ например, к сожалению, я лично не настраивал tac_plus.
ЧИТАТЬ
Когда вы аутентифицируетесь с помощью google auth forward_pass
ваш пароль - пароль и googleauth
пароль: MyPassword
Google Totp: 222555
полученный пароль вы вводите: MyPassword222555