четверг, 23 мая 2013 г.

Исключение пользователя из авторизации ssh через radius

Имеем радиус клиент с настройками

cat /etc/pam_radius_auth.conf

# server[:port] shared_secret      timeout (s)
#127.0.0.1      secret             1
#other-server    other-secret       3
192.168.54.45    Fsdfsdfffsd     3
192.168.55.44    Fsdfsdfffsd      3


Далее необходимо создать файл
touch /etc/ssh/skip.conf

добавить правила фильтрации
cat /etc/ssh/skip.conf

+ : cisco : 192.168.55.129 192.168.55.247 192.168.55.248
- : ALL : ALL
(главное не забыть про последнюю новую строку)
*** Означает что пользователя cisco c адресов 192.168.55.129 192.168.55.247 192.168.55.248 одобряем, остальных нет

Прикручиваем /etc/ssh/skip.conf в PAM sshd

cat /etc/pam.d/sshd

...
auth [success=1 default=ignore] pam_access.so accessfile=/etc/ssh/skip.conf
auth       sufficient pam_radius_auth.so
*** Если пользователь соответствует правилу в /etc/ssh/skip.conf, то пропускаем одну (следующую) строку, т.е auth       sufficient pam_radius_auth.so, иначе пропускается авторизация через радиус

то же самое и для параметра session, если настроено


session [success=1 default=ignore] pam_access.so accessfile=/etc/ssh/skip.conf
session    sufficient pam_radius_auth.so
...