Авторизация на Cisco Catalyst через GNU Radius.
Централизованная авторизация через radius server имеет ряд неоспоримых достоинств. Если у вас обслуживанием оборудования занимается несколько человек и штат сотрудников время от времени меняется, а не меняться он не может, то правильней всего завести один источник авторизации на котором можно завести пользователя или заблокировать одним движением, а не обходя оборудование по кругу и блокируя аккаунты. Во вторых источником авторизации может служить все что угодно, радиус сервера могут обращаться к SQL базам, к хранилищу в виде простого файла, и наконец к PAM, как мы сегодня и настроим.
Почему я выбрал авторизацию через PAM? Да просто потому что так исторически сложилось. И система мониторинга авторизуется через апачевский mod_auth_pam.
Как бы там ни было мы рассмотрим и вариант с авторизацией через MySQL, ну а сейчас установим GNU Radius из портов FreeBSD:
cd /usr/ports/net/gnu-radius/ make install clean
вначале будет небольшой диалог настройки:
┌────────────────────────────────────────────────────────────────────┐ │ Options for gnu-radius 1.6.1_1 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ [х] CLIENT Enable build client │ │ │ │ [ ] DBM Enable DBM support │ │ │ │ [ ] MYSQL Enable MySQL support │ │ │ │ [ ] POSTGRESQL Enable PostgreSQL support │ │ │ │ [ ] SNMP Enable SNMP support │ │ │ │ [ ] EMACS Enable emacs dotfiles install │ │ │ │ [x] PAM Enable PAM support │ │ │ │ │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ [ OK ] Cancel │ └────────────────────────────────────────────────────────────────────┘
После того как все соберется, можно приступать к настройке.
Перейдем в каталог с конфигурационными файлами GNU Radius:
cd /usr/local/etc/raddb
По большому счету нас тут интересуют 3 файла:
client.conf
clients
usersВ файлк clients.conf мы сменим пароль. В изначальном файле было:
server local 127.0.0.1 foobar 1812 1813 source_ip 127.0.0.1 timeout 3 retry 1
мы поставим:
server local 127.0.0.1 local-123 1812 1813 source_ip 127.0.0.1 timeout 3 retry 1
А в файле clients пропишем:
localhost local-123 192.168.5.0/24 cisco-123
Для клиентов с локалхоста мы поставим такой же пароль local-123, как и в предудущем файле, а 192.168.5.0/24 – это сеть свитчей, которые должны авторизоваться на radius сервере.
И последний файл users, в нем описан метод авторизации пользователей. Выглядеть он должен так:
DEFAULT Group = "*LOCKED_ACCOUNT*", Auth-Type = Reject Reply-Message = "Your account is currently locked.\n\ Please, contact your system administrator\n" DEFAULT Auth-Type = PAM, Simultaneous-Use = 5 Service-Type = Login-User
На этом настройка GNU Radius окончена. Запустим его, для этого вначале разрешим запуск:
echo 'radiusd_enable="YES"' >> /etc/rc.conf
и запустим:
/usr/local/etc/rc.d/radiusd start
А теперь проверим, как у нас происходит авторизация для этого воспользуемяс командой radauth:
/usr/local/sbin/radauth -v hilik cthutq-123
И в ответ должны получить что то типа такого:
radtest: debug: client.c:272:grad_client_send0: sending Access-Request radtest: debug: client.c:288:grad_client_send0: server 127.0.0.1:1812 radtest: debug: send: User-Name = (STRING) sh radtest: debug: send: NAS-IP-Address = (IPADDR) 127.0.0.1 radtest: debug: send: User-Password = (STRING) \170\262\355\157\161\270\130\275\344\375\040\191\373\371\213\016 radtest: debug: client.c:326:grad_client_send0: sending request (timeout=3, retries=1) radtest: debug: client.c:140:grad_client_recv: received Access-Accept radtest: debug: radpdu.c:400:grad_decode_pdu: allocated radreq: 0x284301c0 radtest: debug: radpdu.c:415:grad_decode_pdu: Access-Accept from 127.0.0.1, id=18, length=26 radtest: debug: recv: Service-Type = (INTEGER) Login-User Authentication passed.
Если вы увидели Authentication passed – GNU Radius настроен правильно и можно переходить к настройке Catalystа.
Для этого нужно сначала зайти на него, то есть вы должны иметь возможность авторизоваться на нем, получить права администратора (enable) и перейти в режим настройки(configure terminal)
aaa new-model aaa authentication login default local group radius enable aaa authentication enable default enable radius-server host 192.168.5.1 auth-port 1812 acct-port 1813 radius-server key 0 cisco-123
Серия команд начинающаяся на aaa – описывает возможные схемы авторизации.
А radius-server соответственно то что касаетс янепосредственно авторизации на radius сервере. первая строка описывает хост на котором вы установили GNU Radius и порты авторизации и аккаунтинга. А вторая строка настройки авторизации, ключ который вы указали в файле clients.
На этом настройка закончена. Добавляйте своих коллег на сервер в системные пользователи и они смогу авторизоваться на оборудовании.



