Cisco auth+radius: Cisco AV pairs worden niet actief

Pagina: 1
Acties:

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 08:38
Ik probeer hier op te zetten dat de netwerk apparatuur (Bestaande uit cisco 2950/2960s) kan authenticeren tegen een FreeRADIUS server. Nu heb ik het authenticatie gedeelte al wel aan de gang. Ik kan inloggen met de users die bij RADIUS bekend zijn. Volgende stap is dus de authorizatie, hier loop ik echter bij vast. Ik heb in de users file van FreeRADIUS de cisco av-pairs ingesteld en dat functioneerd voor zover ik kan zien ook goed:

code:
1
2
3
4
5
6
7
8
9
DEFAULT Ldap-Group == network
    Service-Type = NAS-Prompt-User,
    Cisco-AVPair = "shell:priv-lvl=15",
    Fall-Through = Yes

DEFAULT Ldap-Group == helpdesk
    Service-Type = NAS-Prompt-User,
    Cisco-AVPair = "shell:priv-lvl=1",
    Fall-Through = Yes


Bij de output van radtest krijg ik de juiste attributen te zien:
Bash:
1
2
3
4
5
6
7
8
9
# radtest ralph passwd 127.0.0.1 0 testing123
Sending Access-Request of id 51 to 127.0.0.1 port 1812
    User-Name = "ralph"
    User-Password = "passwd"
    NAS-IP-Address = 255.255.255.255
    NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=51, length=62
    Service-Type = NAS-Prompt-User
    Cisco-AVPair = "shell:priv-lvl=15"


Ook als ik met een user van de helpdeskgroep inlog krijg ik netjes priv-lvl=1 in plaats van 15.

Daarnaast krijg ik de volgende debug output op de cisco switch:
Bash:
1
2
3
4
5
6
00:45:23: RADIUS: Received from id 1645/9 10.1.0.26:1812, Access-Accept, len 62
00:45:23: RADIUS:  authenticator E5 8C 91 F8 28 81 46 E4 - 57 3D 51 7C 23 AF 64 A8
00:45:23: RADIUS:  Service-Type        [6]   6   NAS Prompt                [7]
00:45:23: RADIUS:  Vendor, Cisco       [26]  24  
00:45:23: RADIUS:   Cisco AVpair       [1]   18  "shell:priv-lvl=15"
00:45:23: RADIUS: saved authorization data for user 1CCC544 at 1CCD084


Zoals op de een-na laatste regel te zien is krijgt de switch dus ook de correcte attributen door van de RADIUS server.

De switch heeft de volgende configuratie:
code:
1
2
3
4
5
6
7
aaa new-model
aaa authentication login default group radius
aaa authorization exec default group radius 
aaa accounting delay-start 
aaa accounting exec default start-stop group radius

radius-server host 10.1.0.26 auth-port 1812 acct-port 1813 key KeYkEy


Dan volgt nu het probleem. Wanneer ik inlog met een gebruiker uit de helpdesk groep, welke dus priv-lvl=1 mee krijgt vanuit radius, kan ik alsnog gewoon privileged en global config mode activeren en aanpassingen maken. De meegegeven AV-Pairs worden dus niet nageleefd. Maak ik hier een denkfout, een configuratiefout? Ik hoop dat iemand hier het misschien ziet.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

wat zegt dedebug als je met zo'n gebruiker inlog en wat geeft show privilige aan als je ingelogd bent

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 08:38
Ik krijg met een helpdesk user (priv 1) de volgende output:

Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
01:19:44: RADIUS: Pick NAS IP for u=0x1CCC288 tableid=0 cfg_addr=0.0.0.0
01:19:44: RADIUS: ustruct sharecount=1
01:19:44: Radius: radius_port_info() success=1 radius_nas_port=1
01:19:44: RADIUS(00000000): Send Access-Request to 10.1.0.26:1812 id 1645/11, len 63
01:19:44: RADIUS:  authenticator 32 E2 0A 97 68 D9 0E 02 - FD A5 17 1A 0F 33 B1 1D
01:19:44: RADIUS:  NAS-IP-Address      [4]   6   0.0.0.0
01:19:44: RADIUS:  NAS-Port            [5]   6   0
01:19:44: RADIUS:  NAS-Port-Type       [61]  6   Async                     [0]
01:19:44: RADIUS:  User-Name           [1]   7   "henk"
01:19:44: RADIUS:  User-Password       [2]   18  *
01:19:44: RADIUS: Received from id 1645/11 10.1.0.26:1812, Access-Accept, len 62
01:19:44: RADIUS:  authenticator 3C E4 8C 0F 8B 93 D9 5A - 68 84 CE B3 81 10 7A 81
01:19:44: RADIUS:  Service-Type        [6]   6   NAS Prompt                [7]
01:19:44: RADIUS:  Vendor, Cisco       [26]  24
01:19:44: RADIUS:   Cisco AVpair       [1]   18  "shell:priv-lvl=1"
01:19:44: RADIUS: saved authorization data for user 1CCC288 at 1CCCA9C
01:19:44: RADIUS: Pick NAS IP for u=0x1CCC288 tableid=0 cfg_addr=0.0.0.0
01:19:44: RADIUS: ustruct sharecount=3
01:19:44: Radius: radius_port_info() success=1 radius_nas_port=1
01:19:44: RADIUS: No secret to encode request (rctx:0x1E511F8)
01:19:44: RADIUS: Unable to encrypt (rctx:0x1E511F8)
01:19:44: RADIUS(00000000): Send Accounting-Request to 10.1.0.26:1813 id 1646/19, len 79
01:19:44: RADIUS:  authenticator 5B C5 75 DF 04 17 36 EC - 98 02 47 EA B9 AA D1 45
01:19:44: RADIUS:  NAS-IP-Address      [4]   6   0.0.0.0                   
01:19:44: RADIUS:  NAS-Port            [5]   6   0                         
01:19:44: RADIUS:  NAS-Port-Type       [61]  6   Async                     [0]
01:19:44: RADIUS:  User-Name           [1]   7   "henk"
01:19:44: RADIUS:  Acct-Status-Type    [40]  6   Start                     [1]
01:19:44: RADIUS:  Acct-Authentic      [45]  6   RADIUS                    [1]
01:19:44: RADIUS:  Service-Type        [6]   6   NAS Prompt                [7]
01:19:44: RADIUS:  Acct-Session-Id     [44]  10  "0000000A"
01:19:44: RADIUS:  Acct-Delay-Time     [41]  6   0                         
01:19:44: RADIUS: Received from id 1646/19 10.1.0.26:1813, Accounting-response, len 20
01:19:44: RADIUS:  authenticator B3 4E F4 A5 5C 7D 5D 7B - 91 96 05 EB 16 B9 DE DD


En show privilege:
Bash:
1
2
3
4
5
sw-1>sh priv
Current privilege level is 1
sw-1>ena
sw-1#sh priv
Current privilege level is 15

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

Ok kortom radius werkt prima. Je hebt geen enable secret wachtwoord geconfigureerd en enable is gewoon een commando wat je mag uitvoeren op priv-lvl 1. Hierdoor kan de gebruiker dus door naar privilege 15. Kortom configureer een enable-secret en wijzig dit met een script iedere week ofzo. Ook nog even in je aaa config zetten dat je enable wachtwoord gewoon het enable wachtwoord in de config is.
aaa authentication enable default enable

Je kan met het privilege comando enable ook wel moven naar een andere privilege level (2 ofzo) Alleen dat is niet handig als je router niet meer bereikbaar is en je er naast staat met je console kabeltje. Dan wil je altijd naar enable mode kunnen natuurlijk.

[ Voor 13% gewijzigd door TrailBlazer op 15-04-2009 13:48 ]


  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 08:38
Dan ontgaat alleen het nut van shell:priv-lvl mij even (of er klopt nog steeds iets niet), want wanneer ik met een level 15 user inlog kom ik ook in level 1 terecht, en moet ik mijn handmatig ingestelde enable password invoeren om verder te kunnen. Is dit normaal gedrag of zou je met priv-lvl=15 wel automatisch in privilege level 15 terecht moeten komen? In dat geval klopt er nog iets niet.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

Je kan allerlei commando's naar een ander privilege lvl trekken. Als er dan iemand inlogt met lvl 7 dan kan je alle commando's om een interface the shutten /no shut naar lvl 7 verplaatsen bijvoorbeeld.
Als je inlogt en je krijgt meteen priv-lvl 15 dan zou je al voldoende rechten moeten hebben zodat je het enable commando helemaal niet meer nodig hebt.

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 08:38
Ik zie nu dat wanneer ik via ssh op de switch inlog ik direct in level 15 terecht kom inderdaad, daar is geen enable nodig. Blijkbaar wijkt het gedrag van de lokale console hierin af? Hier kom ik ondanks priv-lvl=15 gewoon in 1 terecht, Is het hiervoor ook nog in te stellen dat je automatisch in het correcte level binnenkomt?

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

console wil je NOOIT met radius only doen. Wat als je device geisoleerd raakt en je moet hem lokaal troubleshooten? Kan je eerst PW recovery gaan doen schiet lekker op dan. Het kan wel maar ik denk dat je console config wat vreemd is. Plak anders even je show run van je line con

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 08:38
Nu je het zo zegt klinkt het inderdaad wel logisch. Op dit moment nog niets vreemds geconfigureerd:

code:
1
2
3
line con 0
line vty 0 4
 transport input ssh

Nu ben ik alleen aan het nadenken van wat de beste configuratie zou zijn om remote enkel ssh + radius toe te staan en lokaal een standaard level 15 account met daarnaast de mogelijkheid tot radius, en het liefst zou ik dan zien dat het radiusaccount ook direct in 15 terecht komt via de console, maar dat het dus niet de mogelijkheid op toegang met een lokaal account uitsluit. Volgens mij begrijp ik het zo goed?

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

code:
1
2
3
4
5
6
aaa authentication login CONSOLE group radius none
aaa authentication enable default enable
line con 0
login authentication CONSOLE
!
end

mischien werkt dit. Hoewel naar mijn gevoel jouw oplossing ook al zo moeten werken. Tenzij radius en console niet lekker werken. Je spawned namelijk niet echt een shell waardoor het mischien wel misgaat met dit AVpair

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 08:38
Nee dat werkt helaas niet, ik denk inderdaad dat het verschil tussen een shell en de hardware console hiervoor zorgt. Misschien dat er nog een andere mogelijkheid is. Gelukkig is het niet onoverkomelijk, maar wel jammer dat ik het niet zo krijg als ik graag gewenst had. In ieder geval bedankt voor je hulp :)

[ Voor 8% gewijzigd door IcE_364 op 15-04-2009 15:30 ]


  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

Je kan wel zorgen dat als je via console inlogd je onmiddelijk in lvl 15 terecht komt.

line con 0
privilege level 15

wel user authenticatie maar wel lvl 15 tenminste. Als iemand via console moet inloggen heeft hij dat toch wel nodig lijkt me.

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 08:38
Bedankt! Dat, in combinatie met de aparte radius groep voor con 0 die ook local users toestaat is de oplossing voor mij inderdaad. De lokale gebruiker is pas mogelijk op het moment dat de verbinding met radius weg valt. Maar de lokale gebruiker kan er niet via ssh in, enkel via de console. Hier volgt de volledig werkende config voor als iemand het ooit nog nodig mocht hebben:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
username admin privilege 15 secret 5 asdflksadgjlkdjfd
!
aaa new-model
aaa authentication login default group radius
aaa authentication login console group radius local
aaa authentication enable default group radius
aaa authorization exec default group radius 
aaa accounting delay-start 
aaa accounting exec default start-stop group radius
!
radius-server host 10.1.0.26 auth-port 1812 acct-port 1813 key KeYkEy
!
line con 0
 privilege level 15
 login authentication console
line vty 0 4
 transport input ssh
Pagina: 1