Lab – Cisco ISE – AAA dla Junosa

W poprzednich wpisach opisałem jak zainstalować oraz jak podłączyć do AD ISE. Poniżej opiszę jak wykorzystać ISE jak radius który będzie serwować użytkowników do logowania po ssh i www dla urządzeń Juniper pod systemem Junos. Jak centralne repozytorium użytkowników będzie służyć AD. Mam nadzieję że komuś się przyda.

Bierzemy się do pracy.

Tworzymy grupy i userów:

Grupa AD User User Junos
Network-RW netrw RW
Network-RO netro RO
Network-OP netop OP

Od strony AD:

Logujemy się na kontroler domeny uruchamiamy przystawkę Active Directory Users and Computers.

Tworzymy grupy zgodnie z Tabelką wyżej:

ise_junos_19

Tworzymy userów zgodnie z tabelką:

ise_junos_21\

Przypisujemy userów do grup zgodnie z tabelką:

ise_junos_20

Na tym kończymy pracę po stronie AD

Logujemy się do ISE

ise_junos_01

Zaczytujemy grupy utworzone w AD do ISE:

przechodzimy do: Administration–>Active Directory–>ise1–>Groups klikamy Add z menu wybieramy Select Groups From Directory

ise_junos_22

pokazuje się okno w którym wyszykujemy nasze grupy, które wcześnie utworzyliśmy oraz je wybieramy:

ise_junos_15

Przechodzimy do zakładki Attributes gdzie wybieramy wpisujemy usera na podstawie tego wybierzemy atrybuty które użyjemy w kolejnych krokach.

ise_junos_16

klikamy ok

ise_junos_17

włączamy usługę dla Radius i Tacacs

przechodzimy do Administration > System > Deployment Nodes List > nasz node Ise zaznaczamy kwadracik przy Enable Device Admin Service

ise_jun03

Tworzymy lokalizację w której będziemy umieszczać urządzenia według jakiegoś typu – wym przypadku jest to Vendor. Przechodzimy do  Network Device Groups > All Device Types List > New Network Device Group

ise_junos_23

Tworzymy na podobnej zasadzie lokalizacje urządzeń przechodzimy do Network Device Groups > All Locations List > New Network Device Group:

ise_junos_03

Tworzymy profil dla urządzeń Juniper przechodzimy do Administration > Network Resources > Network Device Profile List klikamy Add

ise_jun01

w następnym oknie uzupełniamy:

  • nazwa profilu
  • w polu Vendor z menu wybieramy Other
  • w polu RADIUS Dictionaries z menu wybieramy Juniper
    ise_junos_08

Przechodzimy do dodania urządzenie które będzie mogło łączyć się do Radiusa

Administration > Network Resources > Network Devices klikamy Add i w nowej stronie uzupełniamy:

  • name – wpisujemy nazwę dla urządzenia lub puli urządzń
  • IP Address – adres urządzenia możemy dodać kilka jak dodajemy pulę urządzeń lub całą sieć
  • Device Profile – wybieramy wcześniej utworzony profil dla Junipera
  • Device Type – wybieramy z listy profil dla typu który utworzyliśmy wcześniej
  • Location – tak jak wyżej wybieramy lokalizację którą zdefiniowaliśmy
  • zaznaczamy kwadracik przy: RADIUS Authentication Settings tam w polu:
    • Shared Secret: ustawiamy hasło dla połączenia to samo hasło w późniejszym etapie będziemy ustawiać na urządzeniu

ise_jun02

Kolejnym etapem jest utworzenie profilu ale dozwolonych protokołów przechodzimy do Policy > Policy Elements > Results > Authentication > Allowed Protocols 

ise_jun04

klikamy Add na nowej stronie:

  • Name – nazywamy profil
  • Authentication Protocols – zaznaczamy Allow PAP/ASCII

ise_jun05

w sekcji Policy > Policy Elements > Results > Authorization Profiles klikamy Add

uzupełniamy pola:

  • w Name – Nazywamy profil ja go nazwałem zgodnie z profilem użytkownika oraz vendora
  • Network Device Profile – wybieramy Juniper profil który utworzyliśmy dla Junipera
  • Advanced Attributes Settings:
    • w polu pierwszym z menu wybieramy Juniper:Juniper-Local-User-Name oraz wpisujemy nazwę użytkownika którego będziemy konfigurować na urządzeniu w późniejszym etapie w mym przypadku to jest RW  pola mają wartości: Juniper-Local-User-Name = RW
    • dodajemy drugie pole gdzie z menu wybieramy Radius:Service-Type w polu obok wybieramy Login

ise_jun08

ostatni krok powtarzamy dla każdej z grup.

ise_jun11

Przechodzimy do Policy > Authentication dodajemy nową politykę klikając na strzałkę przy edit i wybieramy Insert new row above i uzupełniamy politykę

  • nazywamy politykę
  • w polu if budujemy politykę: DEVICE:Device Type Equals Device Type#All Device Types#Juniper
  • Allow Protocols wybieramy utworzony profil dopuszczonych protokołów
  • use – wybieramy naszą konfigurację AD

ise_jun06

ise_jun07

Przechodzimy do Policy > Authorization budujemy polityki dla trzech zdefiniowanych grup zgodnie z tabelką z początku wpisu.

w polach:

  • Rule Name – nazywamy politykę
  • Conditions (identity groups and other conditions) –  definiujemy na na jakiej podstawie następuje Autoryzacja użytkownika
  • Permissions wybieramy profil uprawnień na podstawie profilu który wcześniej zdefiniowaliśmy.

Politykę budujemy przez menu w każdym polu oraz dopisaniu wartości. W mym przypadku polityka wygląda tak:

Rule Name Conditions Permissions
Juniper-RW if ANY and (ise1:memberOf Contains CN=Network-RW,CN=Users,DC=safekom,DC=pl and DEVICE:Device Type Contains Device Type#All Device Types#Juniper) Juniper-RW

ise_jun09

Ten krok powtarzamy dla każdej grupy

ise_jun10

 

przechodzimy do konfiguracji po stronie urządzenia:

Logujemy się na urządzenie – ja preferuję CLI

Konfigurujemy Radiusa:

set system radius-server 192.168.1.55 port 1812
set system radius-server 192.168.1.55 secret Nasz_secret_ustawiony_po_stronie_ISE
set system radius-server 192.168.1.55 source-address 192.168.1.53

Konfigurujemy jaka sekwencja ma być przy autoryzacji użytkownika – w labie wybieram radius a jako drugie password (lokalny user)

set system authentication-order radius
set system authentication-order password

Tworzymy userów jak wzorce dla użytkowników którzy będą logować się z wykorzystanie radiusa z godnie z tabelką na początku wpisu oraz konfiguracji ISE:

set system login user OP uid 2003
set system login user OP class operator
set system login user RO uid 2004
set system login user RO class read-only
set system login user RW uid 2001
set system login user RW class super-user

 

Pora na testy, jeżeli wszystko mamy skonfigurowane zgodnie założeniami nie będziemy mieli problemów. W ISE przechodzimy Operations > RADIUS Livelog klikamy na Show Live Authentications 

ise_jun12

i zaczynamy logować się na poszczególnych użytkowników do naszego urządzenia po ssh.

na pierwszy ogień idzie user netwr, jak widać poniżej możemy zalogować, przejść do konfiguracji oraz wyświetlić konfigurację

--- JUNOS 15.1X49-D15.4 built 2015-07-31 02:20:21 UTC
netwr> configure 
Entering configuration mode

[edit]
netwr# exit 
Exiting configuration mode

netwr> 
netwr> show configuration system radius-server    
192.168.1.55 {
    port 1812;
    secret "$9$IRJErK7-woaUdbPQ36AtxN-dgo"; ## SECRET-DATA
    source-address 192.168.1.53;
}

netwr> 

po stronie ISE widzimy:

ise_jun13

po kliknięciu na ikonę w kolumnie Details możemy dowiedzieć się wszystkie o procesie autoryzacji. Log otworzy nam się w nowym oknie lub zakładce:

ise_jun14

powtarzamy operację dla każdego usera.

sprawdzamy jak to wygląda po stronie ISE:

ise_jun15

od strony urządzenia:

User netop:

--- JUNOS 15.1X49-D15.4 built 2015-07-31 02:20:21 UTC
netop> con
       ^
unknown command.
netop> ?     
Possible completions:
  clear                Clear information in the system
  file                 Perform file operations
  help                 Provide help information
  monitor              Show real-time debugging information
  mtrace               Trace multicast path from source to receiver
  op                   Invoke an operation script
  ping                 Ping remote target
  quit                 Exit the management session
  request              Make system-level requests
  restart              Restart software process
  set                  Set CLI properties, date/time, craft interface message
  show                 Show system information
  ssh                  Start secure shell on another host
  start                Start shell
  telnet               Telnet to another host
  test                 Perform diagnostic debugging
  traceroute           Trace route to remote host
netop> show configuration 
## Last commit: 2016-02-07 21:53:33 CET by netwr
version /* ACCESS-DENIED */;
groups {
    global {
        system { /* ACCESS-DENIED */ };
    }
}
system { /* ACCESS-DENIED */ };
security { /* ACCESS-DENIED */ };
interfaces { /* ACCESS-DENIED */ };

netop>

user netro:

--- JUNOS 15.1X49-D15.4 built 2015-07-31 02:20:21 UTC
netro> 

netro> 

netro> conf
       ^
unknown command.
netro> ?      
Possible completions:
  file                 Perform file operations
  help                 Provide help information
  op                   Invoke an operation script
  quit                 Exit the management session
  request              Make system-level requests
  set                  Set CLI properties, date/time, craft interface message
  show                 Show system information
  start                Start shell
  test                 Perform diagnostic debugging

Część 1 – Instalacja ISE w Labie

Część 2 – Integracja ISE z AD

 

Pasjonat komputerowy od zawsze oraz maniak w zakresie sieci, wirtualizacji oraz bezpieczeństwa IT. Kompetentny inżynier z dużym doświadczeniem w realizacji projektów informatycznych i telekomunikacyjnych. Wieloletni administrator IT, który utrzymuje systemy informatyczne dostosowując je do wymogów biznesowych z zapewnieniem dostępności 24/7/365.
Posts created 126

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top