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:
Tworzymy userów zgodnie z tabelką:
Przypisujemy userów do grup zgodnie z tabelką:
Na tym kończymy pracę po stronie AD
Logujemy się do ISE
Zaczytujemy grupy utworzone w AD do ISE:
przechodzimy do: Administration–>Active Directory–>ise1–>Groups klikamy Add z menu wybieramy Select Groups From Directory
pokazuje się okno w którym wyszykujemy nasze grupy, które wcześnie utworzyliśmy oraz je wybieramy:
Przechodzimy do zakładki Attributes gdzie wybieramy wpisujemy usera na podstawie tego wybierzemy atrybuty które użyjemy w kolejnych krokach.
klikamy ok
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
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
Tworzymy na podobnej zasadzie lokalizacje urządzeń przechodzimy do Network Device Groups > All Locations List > New Network Device Group:
Tworzymy profil dla urządzeń Juniper przechodzimy do Administration > Network Resources > Network Device Profile List klikamy Add
w następnym oknie uzupełniamy:
- nazwa profilu
- w polu Vendor z menu wybieramy Other
- w polu RADIUS Dictionaries z menu wybieramy Juniper
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
Kolejnym etapem jest utworzenie profilu ale dozwolonych protokołów przechodzimy do Policy > Policy Elements > Results > Authentication > Allowed Protocols
klikamy Add na nowej stronie:
- Name – nazywamy profil
- Authentication Protocols – zaznaczamy Allow PAP/ASCII
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
ostatni krok powtarzamy dla każdej z grup.
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
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 |
Ten krok powtarzamy dla każdej grupy
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
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:
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:
powtarzamy operację dla każdego usera.
sprawdzamy jak to wygląda po stronie ISE:
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