UIS (Utrzymanie Infrastruktury Sieciowej) dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl UIS 1
Model AAA Authentication Kim jesteś? Jestem użytkownikiem Jerzy, potwierdzam to znanym mi hasłem Authorization Co możesz robić? Do czego masz dostęp? Mam prawo dostępu do hosta 2000_Server poprzez Telnet. Accounting Co robiłeś? Jak długo to robiłeś? Jak często to robisz? Pracowałem na hoście 2000_Server poprzez Telnet przez 30 minut. UIS 2
Zastosowania Dostęp administracyjny do urządzeń sieciowych. Zdalny dostęp do sieci. Remote client (SLIP, PPP, ARAP) NAS Cisco Secure ACS PSTN/ISDN Console Corporate file server Remote client (Cisco VPN Client) Internet Router Cisco Secure ACS appliance UIS 3
TACACS+ i RADIUS UIS 4
Cisco Secure Access Control Server (ACS) Cisco Secure Access Control Server (ACS) pozwala weryfikować tożsamość, uprawnienia oraz zapisywać działania użytkowników (AAA). Klientami serwera mogą być różne typy urządzeń sieciowych, serwerów, usług. Przykładowe urządzenia sieciowe: router, serwer NAS, firewall, koncentrator VPN. klientem może być dowolne urządzenie (innych producentów także), które może funkcjonować jako klient AAA i używa protokołów AAA wspieranych przez Cisco Secure ACS. ACS pomaga kontrolować dostąp do: sieci LAN i WLAN, połączeń wdzwanianych, sieci szerokopasmowych, usług, macierzy dyskowych, VoIP, przełączników, routerów, AP, zapór sieciowych, serwerów, sieci VPN. UIS 5
ACS ACS działa w systemach serwerowych z rodziny Windows. ACS jest zbiorem usług systemowych (Windows Server services). ACS może komunikować się z klientami za pomocą protokołów TACACS+ and RADIUS. ACS zapewnia scentralizowany system AAA dla praktycznie dowolnej liczby urządzeń. Administrator może szybko i globalnie edytować konta użytkowników i ich uprawnienia (także dzięki grupom). UIS 6
ACS - Interfejs administratora UIS 7
ACS ACS to element budowy skalowanych, łatwo zarządzanych sieci korporacyjnych: Centralna baza danych z kontami użytkowników. Centralna kontrola uprawnień użytkowników. Szczegółowe raportowanie i monitorowanie działań użytkowników. UIS 8
ACS metody uwierzytelniania username + password OTP (one-time password) (w tym token card) Większe uprawnienia (authorization) przydzielone dla użytkownika -> silniejsze uwierzytelnianie (authentication) UIS 9
ACS baza danych ACS posiada własną bazę (CiscoSecure user database). ACS wspiera wiele różnych zewnętrznych baz danych: Windows Server User Database Generic LDAP Novell NetWare Directory Services (NDS) Open Database Connectivity (ODBC)-compliant relational databases CRYPTOCard token server SafeWord token server AXENT token server RSA SecureID token server ActivCard token server Vasco token server UIS 10
ACS baza danych Zewnętrzna baza danych może być używana wyłącznie do uwierzytelniania (authenticate). Wewnętrzna baza danych umożliwia pełną autoryzację (authorization) oraz oczywiście uwierzytelnianie. UIS 11
ACS baza danych Własna baza danych: Zawiera dane z kilku źródeł: memory-mapped, hash-indexed file, VarsDB.MDB, Windows Registry. VarsDB.MDB to baza Microsoft Jet, maksymalnie krótki czas wyszukiwania. UIS 12
ACS dodawanie użytkowników 5 sposobów na tworzenie kont użytkowników w ACS: Cisco Secure ACS HTML interface ręczne, pojedyncze tworzenie użytkowników. Bez względu na to jak konto zostało utworzone można je edytować za pomocą interfejsu HTML. Unknown User Policy Pozwala ACS dodawać użytkowników automatycznie, kiedy użytkownik bez konta w ACS zostanie znaleziony w zewnętrznej bazie danych. Takie dodanie nastąpi tylko w przypadku zażądania przez użytkownika dostępu i jego prawidłowego uwierzytelnienia przez zewnętrzną bazę danych. UIS 13
ACS dodawanie użytkowników 5 sposobów na tworzenie kont użytkowników w ACS: RDBMS Synchronization Remote Database Management System pozwala na tworzenie jednoczasowo dużej liczby kont wraz z ich konfiguracją. CSUtil.exe narzędzie command-line pozwala w prosty sposób tworzyć konta użytkowników. Ograniczone możliwości w porównaniu do RDBMS, jednak pozwala łatwo przygotować do importu podstawowe dane kont użytkowników i ich przypisanie do grup. Database Replication tworzy konta użytkowników w innej (secondary) bazie ACS przez nadpisanie istniejących w niej kont danymi z głównej (primary) bazy ACS. Konta istniejące wyłącznie w innej (secondary) bazie ACS zostaną utracone w czasie replikacji. UIS 14
ACS utrzymywanie aktualnej bazy Database Replication i Remote Database Management System (RDBMS) Synchronization: automatyzuje proces utrzymania aktualnej bazy ACS i konfiguracji sieci. ACS wspiera import danych poprzez ODBC np. Microsoft Access i Oracle. CSUtil: pozwala na backup bazy i jej przywracanie. UIS 15
ACS - replikacja Database replication pozwala administratorowi: Wybrać konfigurację primary ACS, która będzie replikowana. Kontrolować czas replikacji, w tym tworzyć terminarz. Eksportować wybrane fragmenty konfiguracji z primary ACS. Bezpiecznie przesyłać wybrane dane konfiguracji z primary ACS do jednego lub więcej secondary ACS. Aktualizować secondary ACS aby utrzymać zgodną z primary ACS konfigurację. UIS 16
ACS - RDBMS RDBMS Synchronization: pozwala administratorowi aktualizować CiscoSecure database informacjami ze źródeł zgodnych z ODBC, wspiera dodawanie, modyfikowanie i kasowanie wszystkich danych do których ma dostęp, może być uruchamiana na żądanie lub wg terminarza, może odbywać się na jednej CiscoSecure database, pozostałe będą z niej zaktualizowane, do celu synchronizacji ACS nasłuchuje na porcie 2000 TCP, komunikacja jest szyfrowana z użyciem 128-bit klucza. Elementy RDBMS Synchronization: CSDBSync usługa systemu Windows. accountactions Table tabela zwierająca dane wykorzystywane przez CSDBSync do aktualizacji CiscoSecure database. UIS 17
ACS - architektura Usługi uruchomione na serwerze z Cisco Secure ACS: CSAdmin Zapewnia interfejs HTML do zarządzania ACS. CSAuth Zapewnia usługi uwierzytelniania. CSDBSync Zapewnia synchronizację CiscoSecure database z zewnętrznymi aplikacjami RDBMS. CSLog Zapewnia usługi logowania zdarzeń dla Accounting oraz ACS. CSMon Zapewnia monitorowanie, rejestrowanie i informowanie o wydajności ACS także automatyczna odpowiedź na zdefiniowane zdarzenia. CSTacacs Zapewnia komunikację pomiędzy klientem TACACS+ AAA a usługą CSAuth CSRadius Zapewnia komunikację pomiędzy klientem RADIUS AAA a usługą CSAuth UIS 18
ACS uwierzytelnianie użytkowników ACS Database Windows Database (Windows user database, Generic LDAP) External User Database Token Cards UIS 19
ACS zmiana hasła użytkownika UCP User-Changeable Password UCP jest aplikacją, która pozwala użytkownikom zmieniać hasła w ACS za pomocą przeglądarki internetowej. UCP wymaga Microsoft Internet Information Server (IIS). UIS 20
ACS - instalacja Instalacja bazy danych: Also Check the Windows User Database Grant dialin permission to user Uruchomienie: IE, Firefox + java (JRE) UIS 21
ACS - konfiguracja UIS 22
ACS - konfiguracja UIS 23
ACS - konfiguracja UIS 24
ACS - konfiguracja UIS 25
ACS - konfiguracja UIS 26
ACS - konfiguracja UIS 27
Switch, Router: SSH crypto key generate rsa ip ssh time-out czas ip ssh authentication-retries liczba ip ssh version 2 line vty n m access-class nr in exec-timeout czas transport input ssh UIS 28
Switch, Router: konfiguracja serwera RADIUS aaa new-model radius-server host IP auth-port nr acct-port nr radius-server retransmit n radius-server key klucz UIS 29
Switch, Router: konfiguracja grupy serwerów RADIUS aaa group server radius nazwa server IP auth-port nr acct-port nr UIS 30
Switch, Router: konfiguracja uwierzytelniania: CLI, SSH lukrouter(config)#aaa authentication? arap Set authentication lists for arap. attempts Set the maximum number of authentication attempts banner Message to use when starting login/authentication. dot1x Set authentication lists for IEEE 802.1x. enable Set authentication list for enable. eou Set authentication lists for EAPoUDP fail-message Message to use for failed login/authentication. login Set authentication lists for logins. password-prompt Text to use when prompting for a password ppp Set authentication lists for ppp. sgbp Set authentication lists for sgbp. username-prompt Text to use when prompting for a username aaa authentication login default group nazwa UIS 31
Switch, Router: konfiguracja autoryzacji: CLI, SSH lukrouter(config)#aaa authorization? auth-proxy For Authentication Proxy Services cache For AAA cache configuration commands For exec (shell) commands. config-commands For configuration mode commands. configuration For downloading configurations from AAA server console exec ipmobile network reverse-access template For enabling console authorization For starting an exec (shell). For Mobile IP services. For network services. (PPP, SLIP, ARAP) For reverse access connections Enable template authorization aaa authorization exec default group nazwa aaa authorization console aaa authorization commands 7 default group nazwa UIS 32
Switch, Router: konfiguracja autoryzacji: CLI, SSH > - privilege exec level 1 # - privilege exec level 15 Jakie polecenie występują w trybie użytkownika, a jakie w trybie uprzywilejowanym? Jak przenieść polecenie na inny poziom? z poziomu 1 na 7: privilege exec level 7 show z poziomu 15 na 7: privilege exec level 7 reload A co z show run? UIS 33
Switch, Router: konfiguracja autoryzacji: CLI, SSH Opcje RADIUS: [006] Service-Type = NAS Prompt [009\001] cisco-av-pair = shell:priv-lvl=15 RADIUS.rfc2865.pdf ASA3-s619-s691.ACSug.pdf UIS 34
Switch, Router: konfiguracja logowania zdarzeń: CLI, SSH lukrouter(config)#aaa accounting? auth-proxy For authentication proxy events. commands For exec (shell) commands. connection For outbound connections. (telnet, rlogin) delay-start Delay PPP Network start record until peer IP address is known. exec For starting an exec (shell). gigawords 64 bit interface counters to support Radius attributes 52 & 53. nested When starting PPP from EXEC, generate NETWORK records before EXEC-STOP record. network For network services. (PPP, SLIP, ARAP) resource For resource events. send Send records to accounting server. session-duration Set the preference for calculating session durations suppress Do not generate accounting records for a specific type of user. system For system events. update Enable accounting update records. aaa accounting exec default stop-only group nazwa aaa accounting commands 1 default stop-only group nazwa UIS 35
Switch, Router: AAA *Mar 2 15:26:59.575: %AAAA-4-SERVNOTACPLUS: The server-group "ACS42" is not a tacacs+ server group. Please define "ACS42" as a tacacs+ server group. UIS 36
ASA: SSH crypto key generate rsa ssh IP maska sieć ssh timeout czas ssh version 2 UIS 37
ASA: konfiguracja serwera RADIUS aaa-server nazwa protocol radius aaa-server nazwa (sieć) host IP key klucz UIS 38
ASA: konfiguracja uwierzytelniania CLI, SSH lukpix(config)# aaa authentication? configure mode commands/options: enable Enable exclude Exclude the service, local and foreign network which needs to be authenticated, authorized, and accounted http HTTP include Include the service, local and foreign network which needs to be authenticated, authorized, and accounted listener Configure an HTTP or HTTPS authentication listener match Specify this keyword to configure an ACL to match secure-http-client Specify this keyword to ensure HTTP client authentication is secured (over SSL) serial Serial ssh SSH telnet Telnet aaa authentication serial console nazwa aaa authentication ssh console nazwa UIS 39
ASA: konfiguracja logowania zdarzeń: CLI, SSH lukpix(config)# aaa accounting? configure mode commands/options: command Specify this keyword to allow command accounting to be configured for all administrators on all consoles enable Enable exclude Exclude the service, local and foreign network which needs to be authenticated, authorized, and accounted include Include the service, local and foreign network which needs to be authenticated, authorized, and accounted match Specify this keyword to configure an ACL to match serial Serial ssh SSH telnet Telnet aaa accounting serial console nazwa aaa accounting ssh console nazwa UIS 40
ASA: konfiguracja autoryzacji: CLI, SSH lukpix(config)# aaa authorization? configure mode commands/options: command Specify this keyword to allow command authorization to be configured for all administrators on all consoles exclude Exclude the service, local and foreign network which needs to be authenticated, authorized, and accounted exec Perform administrative authorization for console connections(ssh, http, telnet and enable) configured for authentication to RADIUS, LDAP, TACACS or LOCAL authentication servers. include Include the service, local and foreign network which needs to be authenticated, authorized, and accounted match Specify this keyword to configure an ACL to match exec mode commands/options: active transition a FAILED AAA server to ACTIVE fail transition an ACTIVE AAA server to FAILED aaa authorization exec authentication-server UIS 41
ASA: konfiguracja autoryzacji: CLI, SSH Security Appliance RADIUS Authorization Attributes: Privilege-Level Y Y 220 Integer Single An integer between 0 and 15 RADIUS (Cisco VPN 3000/ASA/PIX 7.x+) [026/3076/140] VLAN [026/3076/141] NAC-Settings [026/3076/145] Member-Of [026/3076/217] Address-Pools [026/3076/218] IPv6-Address-Pools [026/3076/219] IPv6-VPN-Filter [026/3076/223] WebVPN-Macro-Value1 [026/3076/224] WebVPN-Macro-Value2 ASA1-s45.cmdref.pdf ASA2-s27.extsvr.pdf UIS 42
ASA: konfiguracja z innych baz: RDBMS Synchronization UIS 43
ASA: konfiguracja z innych baz: ODBC UIS 44
ASA: konfiguracja z innych baz: accountactions.csv SequenceId,Priority,UserName,GroupName,Action,ValueName,Value1,Value2,Value3, DateTime,MessageNo,ComputerNames,AppId,Status ASA3-s691.ACSug.pdf UIS 45
ASA: Przykład: dodawanie użytkowników SequenceId,Priority,UserName,GroupName,Action,ValueName,Value1,Value2,Value3,DateTime,MessageNo,ComputerNames,AppId,Status 1,0,testUser01,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 2,0,testUser02,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 3,0,testUser03,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 4,0,testUser04,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 5,0,testUser05,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 6,0,testUser06,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 7,0,testUser07,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 8,0,testUser08,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 9,0,testUser09,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 10,0,testUser10,Group 4,100,,foobar,,,26/08/1998 00:00,0,,,0 ASA3-s691.ACSug.pdf UIS 46
ASA: konfiguracja z innych baz: UDV, VSA User-Defined Vendors (UDV) Vendor-Specific Attribute (VSA) SequenceId,Priority,UserName,GroupName,Action,ValueName,Value1,Value2,Value3, DateTime,MessageNo,ComputerNames,AppId,Status 1,2,,,350,Network_Physics,AUTO_ASSIGN_SLOT,7119,,16/09/2011 10:00,,,,0 2,1,,,355,,,,,16/09/2011 10:00,,,,0 SequenceId,Priority,UserName,GroupName,Action,ValueName,Value1,Value2,Value3, DateTime,MessageNo,ComputerNames,AppId,Status 1,2,,,352,NetworkPhysics-Attribute,7119,33,string,16/09/2011 10:00,,,,0 2,1,,,355,,,,,16/09/2011 10:00,,,,0 SequenceId,Priority,UserName,GroupName,Action,ValueName,Value1,Value2,Value3, DateTime,MessageNo,ComputerNames,AppId,Status 1,2,,,353,NetworkPhysics-Attribute,7119,33,MULTI OUT,16/09/2011 10:00,,,,0 2,1,,,355,,,,,16/09/2011 10:00,,,,0 ASA3-s691.ACSug.pdf UIS 47
ASA: konfiguracja z innych baz: RDBMS Synchronization UIS 48
ASA: konfiguracja z innych baz: ACS Reports 05/11/2013 21:17:47 IIS-4YCSLLOYEDK ERROR Error: ACS 'iis-4ycslloyedk' Action failed [SI=1 A=352 UN="" GN="" AI="" VN="CVPN3000-Privilege-Level" V1="3076" V2="220" V3="integer"] Reason: UDV VSA error - User Defined Vendor/VSA operation failed (Vendor is not user defined) UIS 49
UIS (Utrzymanie Infrastruktury Sieciowej) KONIEC UIS 50