Zum Hauptinhalt springen

3. TACACS+ über TLS (TACACS+ over TLS)

TACACS+ über TLS nimmt das in [RFC8907] definierte Protokoll, entfernt die Option für Verschleierung und spezifiziert, dass TLS 1.3 für den Transport verwendet werden muss. Eine neue bekannte Standard-Hostportnummer wird verwendet.

TLS wird in TACACS+ eingeführt, um die folgenden Anforderungen zu erfüllen:

  1. Vertraulichkeit und Integrität: Der MD5-Algorithmus, der dem in [RFC8907] spezifizierten Verschleierungsmechanismus zugrunde liegt, hat sich als unsicher erwiesen [RFC6151], wenn er für die Verschlüsselung verwendet wird. Die Sicherung des TACACS+-Protokolls mit TLS soll Vertraulichkeit und Integrität bieten, ohne die Bereitstellung eines gesicherten Netzwerks zu erfordern.

  2. Peer-Authentifizierung: Die Authentifizierungsfähigkeiten von TLS ersetzen die gemeinsamen Geheimnisse der Verschleierung für die gegenseitige Authentifizierung.

3.1. Trennung von TLS-Verbindungen (Separating TLS Connections)

Peers, die die in diesem Dokument definierte TACACS+-Protokollvariante implementieren, müssen (MUST) gegenseitige Authentifizierung anwenden und alle zwischen ihnen ausgetauschten Daten verschlüsseln. Wenn eine TCP-Verbindung für den Dienst hergestellt wird, beginnt daher sofort ein TLS-Handshake.

Um eine klare Trennung zwischen TACACS+-Verkehr mit TLS und solchem ohne TLS sicherzustellen, müssen (MUST) Server, die TACACS+ über TLS unterstützen, auf einem TCP/IP-Port lauschen, der sich von dem von Nicht-TLS-TACACS+-Servern verwendeten unterscheidet.

Diese Spezifikation weist die bekannte TCP-Portnummer 300 für TACACS+ über TLS zu.

3.2. TLS-Verbindung (TLS Connection)

Ein TACACS+-Client initiiert eine TLS-Verbindung, indem er eine TCP-Verbindung zu einem konfigurierten TLS-TACACS+-Server auf der TACACS+-TLS-Portnummer herstellt. Sobald die TCP-Verbindung hergestellt ist, muss (MUST) der Client sofort mit der TLS-Verhandlung beginnen, bevor er TACACS+-Protokolldaten sendet.

Mindestens TLS 1.3 [RFC8446] muss (MUST) für den Transport verwendet werden. Frühere Versionen von TLS dürfen nicht (MUST NOT) verwendet werden.

Sobald die TLS-Verbindung erfolgreich hergestellt wurde, muss (MUST) der Austausch von TACACS+-Daten gemäß den in [RFC8907] definierten Verfahren fortgesetzt werden. Alle TACACS+-Nachrichten müssen (SHALL) jedoch als TLS-Anwendungsdaten übertragen werden. Der in [RFC8907] definierte TACACS+-Verschleierungsmechanismus darf (MUST NOT) beim Betrieb über TLS angewendet werden.

3.3. TLS-Authentifizierungsoptionen (TLS Authentication Options)

Implementierungen müssen (MUST) zertifikatbasierte gegenseitige Authentifizierung unterstützen, um eine Kernoption für die Interoperabilität zwischen Bereitstellungen bereitzustellen.

Zusätzlich zur zertifikatbasierten TLS-Authentifizierung können (MAY) Implementierungen die folgenden alternativen Authentifizierungsmechanismen unterstützen:

  • Pre-Shared Keys (PSKs) (Abschnitt 3.5)
  • Raw Public Keys (RPKs)

3.4. TLS-zertifikatbasierte Authentifizierung (TLS Certificate-Based Authentication)

Die TLS-Zertifikatauthentifizierung ist die primäre Authentifizierungsoption für TACACS+ über TLS.

Die korrekte Bereitstellung der TLS-zertifikatbasierten Authentifizierung wird die Sicherheit von TACACS+-Bereitstellungen erheblich verbessern. Es ist für Implementierer und Betreiber unerlässlich, die Auswirkungen einer TLS-zertifikatbasierten Authentifizierungslösung zu verstehen.

Jeder Peer muss (MUST) den Zertifikatpfad seines entfernten Peers validieren, einschließlich der Widerrufsprüfung.

3.4.2. TLS-Zertifikatidentifikation

Für die clientseitige Validierung präsentierter TLS-TACACS+-Serveridentitäten müssen (MUST) Implementierungen den in [RFC9525] definierten Validierungstechniken folgen.

Implementierungen müssen (MUST) die TLS Server Name Indication (SNI)-Erweiterung unterstützen (Abschnitt 3 von [RFC6066]).

3.4.3. Cipher-Suite-Anforderungen

Implementierungen müssen (MUST) die obligatorischen TLS 1.3-Cipher-Suites unterstützen (Abschnitt 9.1 von [RFC8446]).

3.5. TLS-PSK-Authentifizierung (TLS PSK Authentication)

Als Alternative zur zertifikatbasierten Authentifizierung können (MAY) Implementierungen PSKs unterstützen, auch bekannt als externe PSKs in TLS 1.3 [RFC8446].

Die für TACACS+-Verschleierungsclients konfigurierten gemeinsamen Geheimnisse dürfen nicht (MUST NOT) dieselben sein wie die für TLS-Clients konfigurierten PSKs.

3.6. TLS-Wiederaufnahme (TLS Resumption)

Die TLS-Wiederaufnahme [RFC8446] kann die Anzahl der während des Handshake-Prozesses erforderlichen Rundreisen minimieren.

Der Client sollte (SHOULD) die Wiederaufnahme verwenden, wenn er ein gültiges ungenutztes Ticket vom TLS-TACACS+-Server hält.