AAA на примере FreeRadius — различия между версиями

Материал из wiki
Перейти к: навигация, поиск
(AAA new-model)
(Диагностика AAA)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 13: Строка 13:
  
 
RADIUS-server <---> NAS <---> user
 
RADIUS-server <---> NAS <---> user
 +
PAP, CHAP, PEAP, Token ...
 +
Телеметрия NetFlow
  
 
== freeradius ==
 
== freeradius ==
Строка 98: Строка 100:
 
  address ipv4 10.13.0.102 auth-port 1812 acct-port 1813
 
  address ipv4 10.13.0.102 auth-port 1812 acct-port 1813
 
  key superciscosecret
 
  key superciscosecret
 +
timeout 2
 +
retransmit 1
 
!
 
!
 
aaa group server radius RAD-GROUP
 
aaa group server radius RAD-GROUP
Строка 134: Строка 138:
 
  test aaa group RAD-GROUP cisco ciscocisco port 1 new-code
 
  test aaa group RAD-GROUP cisco ciscocisco port 1 new-code
  
Выелючить диагностику
+
Выключить диагностику
 
  un all
 
  un all
 
  term no mon
 
  term no mon
Строка 185: Строка 189:
  
 
== syslog ==
 
== syslog ==
 +
На коммутаторе включить передачу логов на сервер
 
<code>
 
<code>
 
logging host 10.13.0.2
 
logging host 10.13.0.2
Строка 191: Строка 196:
 
</code>
 
</code>
  
 +
На сервере:
 
/etc/rsyslog.conf
 
/etc/rsyslog.conf
  
Строка 199: Строка 205:
 
</code>
 
</code>
  
 +
Запустить сервис
 
  service rsyslog restart
 
  service rsyslog restart
  
 +
Смотреть логи
 
   tail -F /var/log/messages /var/log/debug
 
   tail -F /var/log/messages /var/log/debug
  
Логирование всех вводимых комманд
+
На коммутаторе включить логирование всех вводимых комманд
 
<code>
 
<code>
 
archive
 
archive
Строка 210: Строка 218:
 
   notify syslog          ! скидывать на syslog
 
   notify syslog          ! скидывать на syslog
 
   hidekeys                ! скрывать пароли
 
   hidekeys                ! скрывать пароли
 +
</code>
 +
 +
Полезная команда, чтобы консоль при выводе логов не стирала вводимую команду
 +
<code>
 +
ine con 0
 +
logging synchronous
 +
line vty 0 15
 +
logging synchronous
 
</code>
 
</code>
  

Текущая версия на 03:16, 31 марта 2016

AAA на примере FreeRadius

AAA

Что такое AAA?

Различные способы хранения учетных данных и протоколы проверки.

local LDAP Kerberos RADIUS TACACS+ SSO

RADIUS-server <---> NAS <---> user PAP, CHAP, PEAP, Token ... Телеметрия NetFlow

freeradius

apt-get install freeradius

NAS:

/etc/freeradius/clients.conf
client 10.13.0.2 {
    ipaddr = 10.13.0.2
    secret = testing123
}

Пользователи:

/etc/freeradius/users
cisco Cleartext-Password := "ciscocisco"

Перед именем пользователя не должно быть пробелов!

service freeradius stop
freeradius -X


Проверка:

root@model-net-ctrl-1:~# radtest cisco ciscocisco 127.0.0.1 0 testing123
Sending Access-Request of id 118 to 127.0.0.1 port 1812
        User-Name = "cisco"
        User-Password = "ciscocisco"
        NAS-IP-Address = 212.192.64.218
        NAS-Port = 0
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=118, length=20

Cisco IOS

default config

Начальная конфигурация коммутатора для работы выглядит так. Для удобства мы все порты включаем в менеджмент vlan 88.

!
service timestamps log datetime msec localtime show-timezone year
!
enable secret 0 ciscocisco
!
username cisco1 secret 0 ciscocisco1
no aaa new-model
clock timezone GMT+6 6 0
!
vlan 88
!
interface range FastEthernet0/1 - 24
 switchport access vlan 88
 switchport mode access
 spanning-tree portfast
!
interface Vlan88
 ip address 212.192.88.15x 255.255.255.0
 no shut
!
ip default-gateway 212.192.88.1
!
line vty 0 15
 logging synchronous
 login local
!
ntp server 212.192.64.2

AAA new-model

aaa new-model 
!
!   radius-server host 212.192.64.174 auth-port 1812 acct-port 1813 timeout 2 retransmit 1 key superciscosecret
!
!  aaa group server radius RAD-GROUP
! server 212.192.64.174 auth-port 1812 acct-port 1813
!
!
radius server VIRT
 address ipv4 10.13.0.102 auth-port 1812 acct-port 1813
 key superciscosecret
 timeout 2
 retransmit 1
!
aaa group server radius RAD-GROUP
 server name VIRT
!         
aaa authentication login ADMINUSERS group RAD-GROUP local
! new login auth-list “ADMINUSERS” with local fallback
!
aaa authentication enable default enable
! use enable password to enter enable mode in default auth-list
!
!
line vty 0 15
  login authentication ADMINUSERS
!

При выключенном RADIUS-сервере коммутатор после 2 попыток перейдет на локальную аутентификацию. Т.е. без RAIUDS-сервера мы по прежнему можем попасть на коммутатор под локальным пользователем.

freeradius

client switch150 {
    ipaddr = 212.192.88.150
    secret = superciscosecret
}

Диагностика AAA

Со стороны NAS (коммутатора)

term mon
debug radius

Проверка доступности сервера и пользователя

test aaa group RAD-GROUP cisco ciscocisco port 1 new-code

Выключить диагностику

un all
term no mon


При запуске сервера ключ -X включает отладочный режим

freeradius -X

На сервере можно проследить передаваемые пакеты между NAS и radius

tcpdump "port 1812" -nnn -i eth0 -s 1500 -vvv
11:51:36.275332 IP (tos 0x0, ttl 254, id 3630, offset 0, flags [none], proto UDP (17), length 97)
    212.192.88.150.1645 > 10.13.0.2.1812: [udp sum ok] RADIUS, length: 69
        Access Request (1), id: 0x1b, Authenticator: dfacf1437114f8ced34046c44225b8d8
          Username Attribute (1), length: 7, Value: cisco
            0x0000:  6369 7363 6f
          Password Attribute (2), length: 18, Value:
            0x0000:  137f 8eb9 d766 2216 018f 1af8 5f40 40ba
          NAS IP Address Attribute (4), length: 6, Value: 212.192.88.150
            0x0000:  d4c0 5896
11:51:36.275649 IP (tos 0x0, ttl 64, id 13226, offset 0, flags [none], proto UDP (17), length 48)
    10.13.0.2.1812 > 212.192.88.150.1645: [bad udp cksum 0x3793 -> 0x8c9c!] RADIUS, length: 20
        Access Accept (2), id: 0x1b, Authenticator: 9930efbeaea37a010f63c6dc8a1c1a13

SSH

Создаем доменное имя, пару ключей RSA. Включаем SSHv2. Разрешаем доступ на коммутатор только по SSH.

!
no ip domain-lookup
!
ip domain-name KOIBAS.PSNRU
!
crypto key generate rsa 
2048
!
ip ssh ver 2
!
line vty 0 15
  transport input ssh
!

Диагностика ssh

На коммутаторе

sh ip ssh
sh ssh

syslog

На коммутаторе включить передачу логов на сервер

logging host 10.13.0.2
logging trap debugging
logging on 

На сервере: /etc/rsyslog.conf

раскомментировать строки

$ModLoad imudp
$UDPServerRun 514

Запустить сервис

service rsyslog restart

Смотреть логи

 tail -F /var/log/messages /var/log/debug

На коммутаторе включить логирование всех вводимых комманд

archive
 log config
  logging enable      ! включить логгинг
  notify syslog          ! скидывать на syslog
  hidekeys                ! скрывать пароли

Полезная команда, чтобы консоль при выводе логов не стирала вводимую команду

ine con 0
 logging synchronous
line vty 0 15
 logging synchronous