The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"sshd and radius"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Авторизация и аутентификация, LDAP)
Изначальное сообщение [ Отслеживать ]

"sshd and radius"  +/
Сообщение от Aleks305 (ok) on 26-Ноя-12, 17:23 
Добрый день, коллеги!
Стоит Centos5 и 6. Есть задача настроить аутентификацию через radius-сервер. Все настроил и работает, но не устраивает одно. Если пользователь неудачно аутентифицируется на radius, он может аутентифицироваться с использованием локальной базы паролей ОС.
А хотелось бы, чтобы он мог использовать локальную базу только в случае недоступности radius-сервера (как это сделано на коммутаторах и роутерах cisco, hp, etc). Не подскажете как это реализовать. В настоящий момент в /etc/pam.d/sshd
auth sufficient pam_radius_auth.so debug
auth       include      system-auth
account    sufficient   pam_radius_auth.so debug
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    sufficient   pam_radius_auth.so debug
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 27-Ноя-12, 12:01 
>[оверквотинг удален]
> auth       include    
>  system-auth
> account    sufficient   pam_radius_auth.so debug
> account    required     pam_nologin.so
> account    include      system-auth
> password   include      system-auth
> session    sufficient   pam_radius_auth.so debug
> session    optional     pam_keyinit.so force revoke
> session    include      system-auth
> session    required     pam_loginuid.so

up


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "sshd and radius"  +/
Сообщение от Z0termaNN (ok) on 28-Ноя-12, 19:01 
в принципе это можно организовать, только все равно придется лезть
в исходники pam_radius_auth на предмет поиска кода возвращаемой ошибки
в момент недоступности сервера. но предположим, что он возвращает
PAM_AUTHINFO_UNAVAIL. В таком разе это будет выглядеть примерно так:

auth [ success=done new_authok_reqd=done default=ignore authinfo_unavail=ignore auth_err=die ] pam_auth_radius.so

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 29-Ноя-12, 19:28 
> в принципе это можно организовать, только все равно придется лезть
> в исходники pam_radius_auth на предмет поиска кода возвращаемой ошибки
> в момент недоступности сервера. но предположим, что он возвращает
> PAM_AUTHINFO_UNAVAIL. В таком разе это будет выглядеть примерно так:
> auth [ success=done new_authok_reqd=done default=ignore authinfo_unavail=ignore auth_err=die
> ] pam_auth_radius.so

Спасибо за ответ. Честно говоря даже не представляю, как посмотреть в исходниках, какую ошибку возвращает.Вам респект огромный, что можете вот так сходу написать для pam такой нетривиальный конфиг!!!

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "sshd and radius"  +/
Сообщение от Z0termaNN (ok) on 30-Ноя-12, 11:02 
можно не лезть в исходники - возвращает PAM_AUTHINFO_UNAVAIL, если радиус сервер недоступен.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 03-Дек-12, 15:19 
> можно не лезть в исходники - возвращает PAM_AUTHINFO_UNAVAIL, если радиус сервер недоступен.

Начал пробовать, как Вы сказали.
Конфиг приобрел следующий вид:
auth       required     /lib/security/pam_securetty.so
#auth sufficient pam_radius_auth.so debug
auth [ success=done new_authok_reqd=done default=ignore pam_authinfo_unavail=ignore auth_err=die ] pam_radius_auth.so debug
auth       required     /lib/security/pam_unix_auth.so
auth       include      system-auth
account    sufficient   pam_radius_auth.so debug
account    required     pam_access.so
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    sufficient     pam_radius_auth.so debug
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so


В случае, если строчка присутствует в кофиге в /var/log/secure вижу:

Dec  3 15:13:04 fw-bridge sshd[16423]: Connection closed by 10.200.16.52
Dec  3 15:13:16 fw-bridge sshd[16604]: PAM pam_parse: expecting return value; [...new_authok_reqd=done default=ignore authinfo_unavail=ignore auth_err=die ]
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: Got user name testrad
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: Sending RADIUS request code 1
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: DEBUG: getservbyname(radius, udp) returned 6421472.
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: Got RADIUS response code 2
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: authentication succeeded
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_unix_auth(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=513k44.buh.pes.spb.ru  user=testrad
Dec  3 15:13:20 fw-bridge sshd[16604]: Failed password for testrad from 10.200.16.52 port 19273 ssh2
то есть аутентификация на radius проходит успешно, а дальше authentication failure.
Почему?вроде бы наоборот должен пускать.
Если аутентифицируюсь с локальным паролем:

Dec  3 15:14:39 fw-bridge sshd[16604]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=513k44.buh.pes.spb.ru  user=testrad
Dec  3 15:14:40 fw-bridge sshd[16785]: fatal: Read from socket failed: Connection reset by peer
Dec  3 15:15:26 fw-bridge sshd[16958]: PAM pam_parse: expecting return value; [...new_authok_reqd=done default=ignore authinfo_unavail=ignore auth_err=die ]
Dec  3 15:15:30 fw-bridge sshd[16958]: pam_radius_auth: Got user name testrad
Dec  3 15:15:30 fw-bridge sshd[16958]: pam_radius_auth: Sending RADIUS request code 1
Dec  3 15:15:30 fw-bridge sshd[16958]: pam_radius_auth: DEBUG: getservbyname(radius, udp) returned 7711712.
Dec  3 15:15:31 fw-bridge sshd[16958]: pam_radius_auth: Got RADIUS response code 3
Dec  3 15:15:31 fw-bridge sshd[16958]: pam_radius_auth: authentication failed
Dec  3 15:15:32 fw-bridge sshd[16958]: Failed password for testrad from 10.200.16.52 port 19410 ssh2

В случае недоступности Radius-сервера  c локальным паролем опять аутентификация не проходит:
Dec  3 15:17:38 fw-bridge sshd[17020]: pam_radius_auth: Got user name testrad
Dec  3 15:17:38 fw-bridge sshd[17020]: pam_radius_auth: Sending RADIUS request code 1
Dec  3 15:17:38 fw-bridge sshd[17020]: pam_radius_auth: DEBUG: getservbyname(radius, udp) returned 5655520.
Dec  3 15:17:39 fw-bridge sshd[17101]: Connection closed by UNKNOWN
Dec  3 15:17:41 fw-bridge sshd[17020]: pam_radius_auth: RADIUS server 10.220.100.4 failed to respond
Dec  3 15:17:41 fw-bridge sshd[17020]: pam_radius_auth: All RADIUS servers failed to respond.
Dec  3 15:17:41 fw-bridge sshd[17020]: pam_radius_auth: authentication failed
Dec  3 15:17:43 fw-bridge sshd[17020]: Failed password for testrad from 10.200.16.52 port 19525 ssh2

Не подскажете, в чем дело?куда копать?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 04-Дек-12, 09:48 
up

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 05-Дек-12, 11:22 
> up

так и не получилось добиться желаемого результата...(

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "sshd and radius"  +/
Сообщение от Z0termaNN (ok) on 05-Дек-12, 16:10 
>> up
> так и не получилось добиться желаемого результата...(

завтра появлюсь на работе и посмотрю

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 05-Дек-12, 20:59 
>>> up
>> так и не получилось добиться желаемого результата...(
> завтра появлюсь на работе и посмотрю

Спасибо огромное.буду ждать.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "sshd and radius"  +/
Сообщение от Z0termaNN (ok) on 06-Дек-12, 13:34 
Итак

1. в соответствии с pam.d(8)

sufficient = [success=done new_authtok_reqd=done default=ignore]

2. мы sufficient заменили на:

[ success=done new_authok_reqd=done default=ignore authinfo_unavail=ignore auth_err=die ]

3. при аутентификации

Dec  3 15:13:16 fw-bridge sshd[16604]: PAM pam_parse: expecting return value; [...new_authok_reqd=done default=ignore authinfo_unavail=ignore auth_err=die ]
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: Got user name testrad
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: Sending RADIUS request code 1
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: DEBUG: getservbyname(radius, udp) returned 6421472.
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: Got RADIUS response code 2
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_radius_auth: authentication succeeded
Dec  3 15:13:18 fw-bridge sshd[16604]: pam_unix_auth(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=513k44.buh.pes.spb.ru  user=testrad
Dec  3 15:13:20 fw-bridge sshd[16604]: Failed password for testrad from 10.200.16.52 port 19273 ssh2

все проходит замечательно, только после успешной аутентификации по radius должен
происходить возврат из стека аутентификации - т.е. до pam_unix дело не должно
доходить вообще.

а т.к. у нас сразу не получилось, то:

1. переписываем
auth required     /lib/security/pam_securetty.so
auth [ success=done new_authok_reqd=done default=ignore ] pam_radius_auth.so debug
#auth       required     /lib/security/pam_unix_auth.so -это можно убрать, т.к. оно наверняка есть в /etc/pam.d/system-auth
auth       include      system-auth

и проверяем на соответствие первоначального поведения.

2. если п.1 работает как ожидалось, то
- либо добавляем в pam_radius_auth опцию localifdown
- либо authinfo_unavail=ignore
и проверяем поведение при недоступности радиус сервера

3. если п. 2. работает, то осталось добавить ошибку при неправильной аутентификации через
радиус. нужно будет посмотреть возвращаемые модулем коды ошибок.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 06-Дек-12, 16:19 
>[оверквотинг удален]
> доходить вообще.
> а т.к. у нас сразу не получилось, то:
> 1. переписываем
> auth required     /lib/security/pam_securetty.so
> auth [ success=done new_authok_reqd=done default=ignore ] pam_radius_auth.so debug
> #auth       required    
> /lib/security/pam_unix_auth.so -это можно убрать, т.к. оно наверняка есть в /etc/pam.d/system-auth
> auth       include    
>  system-auth
> и проверяем на соответствие первоначального поведения.

сделал:
#%PAM-1.0
auth       required     /lib/security/pam_securetty.so
#auth sufficient pam_radius_auth.so debug
auth [ success=done new_authok_reqd=done default=ignore ] pam_radius_auth.so debug
#auth       required     /lib/security/pam_unix_auth.so
auth       include      system-auth

Аутентификация через radius не работает.
В логе:
Dec  6 16:12:32 fw-bridge sshd[14545]: PAM pam_parse: expecting return value; [.                                                                              ..new_authok_reqd=done default=ignore ]
Dec  6 16:12:33 fw-bridge sshd[14545]: pam_radius_auth: Got user name testrad
Dec  6 16:12:33 fw-bridge sshd[14545]: pam_radius_auth: Sending RADIUS request c                                                                              ode 1
Dec  6 16:12:33 fw-bridge sshd[14545]: pam_radius_auth: DEBUG: getservbyname(rad                                                                              ius, udp) returned 14490592.
Dec  6 16:12:33 fw-bridge sshd[14545]: pam_radius_auth: Got RADIUS response code                                                                               2
Dec  6 16:12:33 fw-bridge sshd[14545]: pam_radius_auth: authentication succeeded
Dec  6 16:12:33 fw-bridge sshd[14545]: pam_unix(sshd:auth): authentication failu                                                                              re; logname= uid=0 euid=0 tty=ssh ruser= rhost=513k44.buh.pes.spb.ru  user=testr                                                                              ad
Dec  6 16:12:36 fw-bridge sshd[14545]: Failed password for testrad from 10.200.1                                                                              6.52 port 14215 ssh2
Dec  6 16:12:39 fw-bridge sshd[14553]: Connection closed by UNKNOWN

Локальная аутентификация тоже не проходит:
Dec  6 16:17:09 fw-bridge sshd[14937]: pam_radius_auth: Got user name testrad
Dec  6 16:17:09 fw-bridge sshd[14937]: pam_radius_auth: Sending RADIUS request code 1
Dec  6 16:17:09 fw-bridge sshd[14937]: pam_radius_auth: DEBUG: getservbyname(radius, udp) returned 15313888.
Dec  6 16:17:10 fw-bridge sshd[14937]: pam_radius_auth: Got RADIUS response code 3
Dec  6 16:17:10 fw-bridge sshd[14937]: pam_radius_auth: authentication failed
Dec  6 16:17:11 fw-bridge sshd[15036]: Did not receive identification string from UNKNOWN
Dec  6 16:17:13 fw-bridge sshd[14937]: Failed password for testrad from 10.200.16.52 port 14328 ssh2


> 2. если п.1 работает как ожидалось, то
> - либо добавляем в pam_radius_auth опцию localifdown
> - либо authinfo_unavail=ignore
> и проверяем поведение при недоступности радиус сервера
> 3. если п. 2. работает, то осталось добавить ошибку при неправильной аутентификации
> через
> радиус. нужно будет посмотреть возвращаемые модулем коды ошибок.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "sshd and radius"  +/
Сообщение от Z0termaNN (ok) on 06-Дек-12, 19:06 
вечер перестает быть томным, поэтому предлагаю переместиться
в gtalk с последующим опубликованием решения.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 07-Дек-12, 00:07 
> вечер перестает быть томным, поэтому предлагаю переместиться
> в gtalk с последующим опубликованием решения.

предлагаете пообщаться вне форума?где?как вам удобнее?

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "sshd and radius"  +/
Сообщение от Z0termaNN (ok) on 07-Дек-12, 10:21 
>> вечер перестает быть томным, поэтому предлагаю переместиться
>> в gtalk с последующим опубликованием решения.
> предлагаете пообщаться вне форума?где?как вам удобнее?

z0termann at gtalk.com

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 07-Дек-12, 11:06 
>>> вечер перестает быть томным, поэтому предлагаю переместиться
>>> в gtalk с последующим опубликованием решения.
>> предлагаете пообщаться вне форума?где?как вам удобнее?
> z0termann at gtalk.com

отправил приглашение!

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "sshd and radius"  +/
Сообщение от Z0termaNN (ok) on 07-Дек-12, 12:11 
>>>> вечер перестает быть томным, поэтому предлагаю переместиться
>>>> в gtalk с последующим опубликованием решения.
>>> предлагаете пообщаться вне форума?где?как вам удобнее?
>> z0termann at gtalk.com
> отправил приглашение!

чего-то ничего не получал, может просто ко мне стукнуться ?

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 07-Дек-12, 12:39 
>>>>> вечер перестает быть томным, поэтому предлагаю переместиться
>>>>> в gtalk с последующим опубликованием решения.
>>>> предлагаете пообщаться вне форума?где?как вам удобнее?
>>> z0termann at gtalk.com
>> отправил приглашение!
> чего-то ничего не получал, может просто ко мне стукнуться ?

google talk? добавил пользователя z0termann at gtalk.com
может быть gmail.com?
может я конеш что-то не так делаю.о gtalk узнал впервые от вас

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "sshd and radius"  +/
Сообщение от Aleks305 (ok) on 07-Дек-12, 15:02 
>>>>>> вечер перестает быть томным, поэтому предлагаю переместиться
>>>>>> в gtalk с последующим опубликованием решения.
>>>>> предлагаете пообщаться вне форума?где?как вам удобнее?
>>>> z0termann at gtalk.com
>>> отправил приглашение!
>> чего-то ничего не получал, может просто ко мне стукнуться ?
> google talk? добавил пользователя z0termann at gtalk.com
> может быть gmail.com?
> может я конеш что-то не так делаю.о gtalk узнал впервые от вас

Благодаря неоценимой помощи  z0termann удалось получить работающее решение. Публикую, может кому понадобится:
/etc/pam.d/sshd
#%PAM-1.0
auth       required     /lib/security/pam_securetty.so
auth [ success=done auth_err=die authinfo_unavail=ignore default=ignore ] pam_radius_auth.so debug
auth       include      system-auth


Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру