Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Konfigurieren

Konfigurationen auf der ISE

Konfigurationen auf dem Switch

Überprüfung

Fehlerbehebung

Einleitung

Dieses Dokument beschreibt das Verfahren zum Konfigurieren und Implementieren einer Dateistatusrichtlinie für Linux und die Identity Services Engine (ISE).

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- AnyConnect

- Identity Services Engine (ISE)

- Linux

Verwendete Komponenten

Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:

- AnyConnect 4.10.05085

- ISE Version 3.1 P1

- Linux Ubuntu 20.04

- Cisco Switch Catalyst 3650 Version 03.07.05.E (15.12(3)E5)

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle verstehen.

Konfigurieren

Konfigurationen auf der ISE

Schritt 1: Status-Service aktualisieren:

Navigieren Sie zu Work Center > Status > Settings > Software Updates > Posture Updates. Wählen Sie Jetzt aktualisieren aus, und warten Sie, bis der Vorgang abgeschlossen ist:

Ein von Cisco bereitgestelltes Paket ist ein Softwarepaket, das Sie von der Cisco.com-Website herunterladen, z. B. die AnyConnect-Softwarepakete. Ein vom Kunden erstelltes Paket ist ein Profil oder eine Konfiguration, das bzw. die Sie außerhalb der ISE-Benutzeroberfläche erstellt haben und zur Statusüberprüfung in die ISE hochladen möchten. Für diese Übung können Sie das AnyConnect-Webdeploy-Paket "anyconnect-linux64-4.10.05085-webdeploy-k9.pkg" herunterladen.

Anmerkung: Aufgrund von Updates und Patches kann sich die empfohlene Version ändern. Verwenden Sie die neueste empfohlene Version von der Website cisco.com.

Schritt 2.AnyConnect-Paket hochladen:

Navigieren Sie im Posture Work Center zu Client Provisioning > Resources (Client-Bereitstellung > Ressourcen).

Schritt 3: Wählen Sie Add > Agent Resources von Local Disk aus.

Schritt 4: Wählen Sie Cisco Provided Packages aus dem Dropdown-Menü Kategorie aus.

Schritt 5: Klicken Sie auf Durchsuchen.

Schritt 6: Wählen Sie eines der AnyConnect-Pakete aus, die Sie im vorherigen Schritt heruntergeladen haben. Das AnyConnect-Image wird verarbeitet, und die Informationen zum Paket werden angezeigt

Schritt 7. Klicken Sie auf Senden. Nachdem AnyConnect auf die ISE hochgeladen wurde, können Sie einen ISE-Kontakt haben und die anderen Client-Ressourcen von Cisco.com beziehen.

Anmerkung: Zu den Agenten-Ressourcen gehören Module, die vom AnyConnect Client verwendet werden und die die Möglichkeit bieten, die Konformität eines Endpunkts für eine Reihe von Zustandsüberprüfungen wie Anti-Virus, Anti-Spyware, Anti-Malware, Firewall, Festplattenverschlüsselung, Datei usw. zu bewerten.

Schritt 8: Klicken Sie auf Hinzufügen > Agent Resources von Cisco Site. Das Ausfüllen des Fensters dauert eine Minute, wenn die ISE Cisco.com erreicht und ein Manifest aller veröffentlichten Ressourcen für die Client-Bereitstellung abruft.

Schritt 9. Wählen Sie die neuesten AnyConnect Compliance-Module für Linux aus. Darüber hinaus können Sie auch das Compliance-Modul für Windows und Mac auswählen.

Schritt 10. Wählen Sie die neuesten temporalen Agenten für Windows und Mac aus.

Schritt 11. Klicken Sie auf Speichern.

Anmerkung: MAC- und Windows-Statuskonfigurationen sind nicht Bestandteil dieses Konfigurationsleitfadens.

Jetzt haben Sie alle erforderlichen Teile hochgeladen und aktualisiert. Jetzt ist es an der Zeit, die Konfigurationen und Profile zu erstellen, die für die Verwendung dieser Komponenten erforderlich sind.

Schritt 12: Klicken Sie auf Hinzufügen > NAC Agent oder AnyConnect Posture Profile.

Folgende Parameter müssen geändert werden:

- VLAN-Erkennungsintervall: Mit dieser Einstellung können Sie die Anzahl der Sekunden festlegen, die das Modul zwischen der Suche nach VLAN-Änderungen wartet. Die Empfehlung lautet 5 Sekunden.

- Ping oder ARP: Dies ist die tatsächliche Methode zur Erkennung von VLAN-Änderungen. Der Agent kann einen Ping an das Standard-Gateway senden oder den ARP-Cache überwachen, um das Timeout oder beide einzugeben. Die empfohlene Einstellung ist ARP.

- Behebungs-Timer: Wenn der Status eines Endpunkts unbekannt ist, wird der Endpunkt in einem Statusüberprüfungsablauf platziert. Es braucht Zeit, um ausgefallene Statusprüfungen zu beheben. Die Standardzeit beträgt 4 Minuten, bevor der Endpunkt als nicht konform gekennzeichnet wird. Die Werte können jedoch zwischen 1 und 300 Minuten (5 Stunden) liegen. Die Empfehlung beträgt 15 Minuten. Dies kann jedoch Anpassungen erfordern, wenn die Behebung voraussichtlich länger dauern wird.

Anmerkung: Der Linux-Dateistatus unterstützt keine automatische Problembehebung.

Eine umfassende Beschreibung aller Parameter finden Sie in der ISE- oder AnyConnect-Statusdokumentation.

Schritt 13: Agent Behavior wählt Status Probes Backup List (Sicherungsliste für Status) aus und wählt Wählen Sie, wählen Sie PSN/Standalone FQDN aus, und wählen Sie Save (Speichern) aus.

Schritt 14: Definieren Sie unter Statusprotokolle > Discovery Host die IP-Adresse des PSN/Standalone-Knotens.

Schritt 15: Wählen Sie aus der Liste der Discovery-Backup-Server und Select (Auswählen) Ihren PSN oder Standalone FQDN aus, und wählen Sie Select (Auswählen) aus.

Schritt 16: Geben Sie unter Servernamen-Regeln *ein, um alle Server zu kontaktieren und die PSN-/Standalone-IP-Adresse unter Call Home List zu definieren. Alternativ kann ein Platzhalter verwendet werden, um alle potenziellen PSNs in Ihrem Netzwerk abzugleichen (das ist *.acme.com).

Schritt 17: Klicken Sie auf Hinzufügen > AnyConnect-Konfiguration

Blättern Sie nach unten, und wählen Sie Senden aus

Schritt 18: Wenn Sie die Auswahl abgeschlossen haben, klicken Sie auf Senden.

Schritt 19: Wählen Sie Work Centers > Status > Client Provisioning > Client Provisioning Portals (Portale für Client-Bereitstellung) aus.

Schritt 20: Im Bereich "Portal Settings" können Sie die Schnittstelle und den Port sowie die Gruppen auswählen, die zur Seite Select Employee, SISE_Users and Domain Users autorisiert sind.

Schritt 21: Stellen Sie sicher, dass unter Seiteneinstellungen für die Anmeldung die Option Automatische Anmeldung aktivieren aktiviert ist.

Schritt 22: Klicken Sie in der rechten oberen Ecke auf Speichern.

Schritt 23.Wählen Sie Work Centers > Status > Client Provisioning > Client Provisioning Policy aus.

Schritt 24: Klicken Sie auf den Abwärtspfeil neben der IOS-Regel im CPP, und wählen Sie Oben duplizieren aus.

Schritt 25: Benennen Sie die Regel LinuxPosture

Schritt 26: Wählen Sie als Ergebnisse die AnyConnect-Konfiguration als Agent aus.

Anmerkung: In diesem Fall wird kein Compliance-Modul Dropdown-Menü angezeigt, da es als Teil der AnyConnect-Konfiguration konfiguriert ist.

Schritt 27.Klicken Sie auf Fertig.

Schritt 28: Klicken Sie auf Speichern.

Richtlinienelemente für den Status

Schritt 29.Wählen Sie Work Center > Status > Policy Elements > Conditions > File aus. Wählen Sie Hinzufügen aus.

Schritt 30.Definieren Sie TESTFile als Dateinamenbedingung, und definieren Sie die nächsten Werte.

Anmerkung: Der Pfad basiert auf dem Dateispeicherort.

Schritt 31: Wählen Sie Speichern

FileExistence.Dieser Dateityp überprüft, ob eine Datei im System vorhanden ist, in dem sie enthalten sein soll - und das ist alles. Wenn diese Option ausgewählt ist, gibt es keinerlei Bedenken hinsichtlich der Validierung von Dateidaten, Hashes usw.

Schritt 32: Wählen Sie Anforderungen aus, und erstellen Sie eine neue Richtlinie wie folgt:

Anmerkung: Linux unterstützt den Nachrichtentext nicht nur als Behebungsmaßnahme.

Anforderungskomponenten

- Betriebssystem: Linux Alle

- Compliance-Modul: 4,x

- Status: AnyConnect

- Bedingungen: Compliance-Module und -Agenten (die verfügbar werden, nachdem Sie das Betriebssystem ausgewählt haben)

- Sanierungsmaßnahmen: Sanierungen, die nach Auswahl aller anderen Bedingungen zur Auswahl stehen.

Schritt 33: Wählen Sie Work Center > Status > Status Policy (Statusrichtlinie) aus.

Schritt 34: Wählen Sie Bearbeiten für eine Richtlinie aus, und wählen Sie Neue Richtlinie einfügen LinuxPosturePolicy Policy als Namen definieren aus, und stellen Sie sicher, dass Sie Ihre Anforderung, die in Schritt 32 erstellt wurde, hinzufügen.

Schritt 35: Wählen Sie Fertig und Speichern aus

Weitere wichtige Statuseinstellungen (Abschnitt "Allgemeine Statuseinstellungen")

Die wichtigsten Einstellungen im Abschnitt Allgemeine Statuseinstellungen sind:

- Behebungs-Timer: Diese Einstellung legt fest, wie lange ein Client eine fehlerhafte Statusbedingung korrigieren muss. In der AnyConnect-Konfiguration gibt es auch einen Behebungs-Timer. Dieser Timer gilt für die ISE, nicht für AnyConnect.

- Standardstatus für den Status: Diese Einstellung stellt den Statusstatus für Geräte ohne den Statusagent oder Betriebssysteme bereit, auf denen der temporale Agent nicht ausgeführt werden kann, z. B. Linux-basierte Betriebssysteme.

- Unterbrechungsfreie Überwachung: Diese Einstellung gilt für die Anwendungs- und Hardwarebedingungen, die das Endgerät inventarisieren. Die Einstellung legt fest, wie oft AnyConnect die Überwachungsdaten senden muss.

- Richtlinien zur akzeptablen Nutzung im Stealth-Modus: Die einzigen beiden Optionen für diese Einstellung sind Blockieren oder Fortfahren. Blockierung verhindert, dass AnyConnect-Clients im Stealth-Modus fortfahren, wenn die AUP nicht bestätigt wurde. Continue ermöglicht dem Stealth-Mode-Client, auch ohne Bestätigung der AUP fortzufahren (dies ist bei Verwendung der Stealth-Modus-Einstellung von AnyConnect oft die Absicht).

Konfigurationen für Neubewertungen

Statusneubewertungen sind eine wichtige Komponente des Statusworkflows. Im Abschnitt "Posture Protocol" (Status-Protokoll) haben Sie gesehen, wie Sie den AnyConnect-Agent für Statusüberprüfungen konfigurieren. Der Agent überprüft regelmäßig die PSNs, die basierend auf dem Timer in dieser Konfiguration definiert wurden.

Wenn eine Anforderung das PSN erreicht, bestimmt das PSN, ob eine Statusüberprüfung auf Basis der ISE-Konfiguration für die Rolle dieses Endpunkts erforderlich ist. Wenn der Client die Neubewertung besteht, behält das PSN den Status-konform des Endpunkts bei, und der Status-Lease wird zurückgesetzt. Wenn der Endpunkt die Neubewertung nicht bestanden hat, ändert sich der Status in "Nicht konform", und alle vorhandenen Statusleasen werden entfernt.

Schritt 36: Wählen Sie Richtlinien > Richtlinienelemente > Ergebnisse > Autorisierung > Autorisierungsprofil aus. Hinzufügen auswählen

Schritt 37: Definieren Sie Wired_Redirect als Autorisierungsprofil, und konfigurieren Sie die nächsten Parameter.

Schritt 38: Wählen Sie Speichern

Schritt 39: Autorisierungsrichtlinien konfigurieren

Es gibt drei vorkonfigurierte Autorisierungsregeln für den Status:

1. Die erste wird so konfiguriert, dass sie bei erfolgreicher Authentifizierung übereinstimmt. Die Compliance eines Geräts ist unbekannt.

2. Die zweite Regel vergleicht erfolgreiche Authentifizierungen mit nicht konformen Endpunkten.

Anmerkung: Beide ersten beiden Regeln haben dasselbe Ergebnis, d. h. die Verwendung eines vorkonfigurierten Autorisierungsprofils, das den Endpunkt zum Client Provisioning-Portal umleitet.

3. Die letzte Regel stimmt mit erfolgreichen authentifizierungs- und statuskonformen Endpunkten überein und verwendet das vordefinierte PermitAccess-Autorisierungsprofil.

Wählen Sie Policy > Policy Set (Richtlinie > Richtliniensatz) aus, und klicken Sie auf den Pfeil nach rechts für Wired 802.1x - MAB Created in the previous lab.

Schritt 40: Wählen Sie Autorisierungsrichtlinie aus, und erstellen Sie die nächsten Regeln.

Konfigurationen auf dem Switch

Anmerkung: Die nachfolgende Konfiguration bezieht sich auf IBNS 1.0. Für IBNS 2.0-fähige Switches können Unterschiede bestehen. Sie umfasst die Bereitstellung im Low Impact-Modus.

username <admin> privilege 15 secret <password>

aaa new-model

!

aaa group server radius RAD_ISE_GRP

server name <isepsnnode_1>

server name

!

aaa authentication dot1x default group RAD_ISE_GRP

aaa authorization network default group RAD_ISE_GRP

aaa accounting update periodic 5

aaa accounting dot1x default start-stop group RAD_ISE_GRP

aaa accounting dot1x default start-stop group RAD_ISE_GRP

!

aaa server radius dynamic-author

client  server-key

client  server-key

!

aaa session-id common

!

authentication critical recovery delay 1000

access-session template monitor

epm logging

!

dot1x system-auth-control

dot1x critical eapol

!

# For Access Interfaces:

interface range GigabitEthernetx/y/z - zz

description VOICE-and-Data

switchport access vlan

switchport mode access

switchport voice vlan

ip access-group ACL_DEFAULT in

authentication control-direction in # If supported

authentication event fail action next-method

authentication host-mode multi-auth

authentication open

authentication order dot1x mab

authentication priority dot1x mab

authentication port-control auto

# Enables preiodic re-auth, default = 3,600secs

authentication periodic

# Configures re-auth and inactive timers to be sent by the server

authentication timer reauthenticate server

authentication timer inactivity server

authentication violation restrict

mab

snmp trap mac-notification change added

snmp trap mac-notification change removed

dot1x pae authenticator

dot1x timeout tx-period 10

dot1x timeout server-timeout 10

dot1x max-req 3

dot1x max-reauth-req 3

auto qos trust

# BEGIN - Dead Server Actions -

authentication event server dead action authorize vlan

authentication event server dead action authorize voice

authentication event server alive action reinitialize

# END - Dead Server Actions -

spanning-tree portfast

!

# ACL_DEFAULT #

! This ACL can be customized to your needs, this is the very basic access allowed prior

! to authentication/authorization. Normally ICMP, Domain Controller, DHCP and ISE

! http/https/8443 is included. Can be tailored to your needs.

!

ip access-list extended ACL_DEFAULT

permit udp any eq bootpc any eq bootps

permit udp any any eq domain

permit icmp any any

permit udp any any eq tftp

permit ip any host

permit ip any host

permit tcp any host  eq www

permit tcp any host  eq 443

permit tcp any host  eq 8443

permit tcp any host  eq www

permit tcp any host  eq 443

permit tcp any host  eq 8443

!

# END-OF ACL_DEFAULT #

!

# ACL_REDIRECT #

! This ACL can be customized to your needs, this ACL defines what is not redirected

! (with deny statement) to the ISE. This ACL is used for captive web portal,

! client provisioning, posture remediation, and so on.

!

ip access-list extended ACL_REDIRECT_AV

remark Configure deny ip any host  to allow access to

deny   udp any any eq domain

deny   tcp any any eq domain

deny   udp any eq bootps any

deny   udp any any eq bootpc

deny   udp any eq bootpc any

remark deny redirection for ISE CPP/Agent Discovery

deny   tcp any host  eq 8443

deny   tcp any host  eq 8905

deny   udp any host  eq 8905

deny   tcp any host  eq 8909

deny   udp any host  eq 8909

deny   tcp any host  eq 8443

deny   tcp any host  eq 8905

deny   udp any host  eq 8905

deny   tcp any host  eq 8909

deny   udp any host  eq 8909

remark deny redirection for remediation AV servers

deny   ip any host

deny   ip any host

remark deny redireciton for remediation Patching servers

deny   ip any host

remark redirect any http/https

permit tcp any any eq www

permit tcp any any eq 443

!

# END-OF ACL-REDIRECT #

!

ip radius source-interface

!

radius-server attribute 6 on-for-login-auth

radius-server attribute 6 support-multiple

radius-server attribute 8 include-in-access-req

radius-server attribute 55 include-in-acct-req

radius-server attribute 55 access-request include

radius-server attribute 25 access-request include

radius-server attribute 31 mac format ietf upper-case

radius-server attribute 31 send nas-port-detail

radius-server vsa send accounting

radius-server vsa send authentication

radius-server dead-criteria time 30 tries 3

!

ip http server

ip http secure-server

ip http active-session-modules none

ip http secure-active-session-modules none

!

radius server

address ipv4  auth-port 1812 acct-port 1813

timeout 10

retransmit 3

key

!

radius server

address ipv4  auth-port 1812 acct-port 1813

timeout 10

retransmit 3

key

!

aaa group server radius RAD_ISE_GRP

server name

server name

!

mac address-table notification change

mac address-table notification mac-move

Überprüfung

ISE-Verifizierung:

In diesem Abschnitt wird davon ausgegangen, dass AnyConnect mit dem ISE-Statusmodul bereits auf dem Linux-System installiert wurde.

PC mit dot1x authentifizieren

Schritt 1: Navigieren Sie zu Netzwerkeinstellungen.

Schritt 2: Wählen Sie die Registerkarte Sicherheit aus, und stellen Sie 802.1x-Konfigurationen und Benutzeranmeldeinformationen bereit.

Schritt 3.Klicken Sie auf "Übernehmen".

Schritt 4:Verbinden Sie das Linux-System mit dem 802.1x-kabelgebundenen Netzwerk, und validieren Sie es im ISE-Live-Protokoll:

Verwenden Sie in ISE die horizontale Bildlaufleiste, um zusätzliche Informationen anzuzeigen, z. B. das PSN, das den Fluss bereitgestellt hat, oder den Status:

Schritt 5: Auf dem Linux-Client muss eine Umleitung erfolgen, und es wird das Client-Bereitstellungsportal angezeigt, das eine Statusüberprüfung anzeigt, und auf "Start" klicken:

Warten Sie einige Sekunden, während der Connector versucht, AnyConnect zu erkennen:

Aufgrund eines bekannten Vorbehalts erkennt AnyConnect selbst dann nicht, wenn AnyConnect installiert ist. Wechseln Sie mit Alt-Tab oder dem Aktivitäts-Menü zum AnyConnect-Client.

AnyConnect versucht, das PSN für Statusrichtlinien zu erreichen und den Endpunkt dagegen zu bewerten.

AnyConnect meldet die Festlegung der Statusrichtlinie an die ISE zurück. In diesem Fall konform

Wenn die Datei jedoch nicht vorhanden ist, meldet das AnyConnect-Statusmodul die Entschlossenheit an die ISE

Anmerkung: ISE FQDN muss unter Linux über DNS oder eine lokale Host-Datei auflösbar sein.

Fehlerbehebung

show authentication sessions int fa1/0/35

Nächste Schritte:

Autorisierung erfolgreich:

Nicht konform, in Quarantäne für VLAN und ACL verschoben: