Logins, Secrets, Hashing: Passwörter auf Cisco richtig absichern

Passwortschutz auf Cisco Routern ist mehr als „ein Passwort setzen“: Entscheidend ist, wie Credentials gespeichert werden (Hashing/Encryption), wie Logins stattfinden (lokal vs. AAA) und wie du den Zugriff auf Management-Interfaces absicherst. In der Praxis entstehen Security-Lücken häufig durch falsche Befehle (z. B. password statt secret), veraltete Hash-Typen oder unkontrollierte VTY-Zugänge. Dieser Leitfaden zeigt Best Practices für Logins, Secrets und Hashing auf Cisco IOS.

Grundbegriffe: Login, Enable, Secret – was ist was?

Auf Cisco gibt es mehrere Authentifizierungsstellen. Für sicheren Betrieb musst du wissen, welches Passwort wofür gilt und welche Speicherform dahintersteht.

  • Login (User): Zugriff auf CLI per SSH/Console über username
  • Enable (Privileged EXEC): Wechsel in privilegierten Modus (ähnlich „Admin“) über enable secret
  • Line Passwords: legacy (console/vty password) – vermeiden, wenn möglich

Die wichtigste Regel: secret statt password

secret wird als Hash gespeichert, password ist je nach Kontext schwächer (oder nur verschleiert). Für Nutzerkonten und Enable immer secret verwenden.

  • enable secret statt enable password
  • username … secret statt username … password
  • Line-Passwords vermeiden (besser login local / AAA)

Beispiel: Enable Secret + lokaler Admin-User

Router# configure terminal
Router(config)# enable secret Str0ngEnableSecret!
Router(config)# username netadmin privilege 15 secret Str0ngP@ssw0rd!
Router(config)# end

Hashing vs. „Encryption“: Was Cisco tatsächlich speichert

Ein Hash ist eine Einwegfunktion (nicht „zurück entschlüsselbar“), Verschlüsselung ist prinzipiell umkehrbar. Cisco nutzt für sichere Secrets Hashing. Manche Mechanismen wie service password-encryption sind dagegen nur Obfuscation und kein echter Schutz.

  • Hashing: Einweg (sicherer für Passwortspeicherung)
  • Encryption/Obfuscation: umkehrbar (nur bedingt schützend)
  • Ziel: Hashing für Credentials, nicht „verstecken“

service password-encryption: was es kann – und was nicht

Dieser Befehl verschleiert bestimmte Passwörter in der Konfiguration. Das schützt vor „Shoulder Surfing“ und versehentlichem Leaken, ist aber kryptografisch nicht stark. Er ersetzt keine echten Hashes und keine Access-Control.

  • Hilft gegen „Klartext in show run“
  • Kein Ersatz für secret, AAA oder Konfigschutz
  • In Templates häufig aktiv, aber nicht als „Security-Kern“ betrachten

Aktivieren (Basismaßnahme)

Router# configure terminal
Router(config)# service password-encryption
Router(config)# end

Welche Hash-Typen gibt es – und warum das wichtig ist

In der Cisco-Welt siehst du in der Running-Config oft Hinweise auf den Hash-Typ. Moderne Hashes sind deutlich widerstandsfähiger gegen Offline-Cracking als ältere Varianten. Ziel ist, wo möglich stärkere Hash-Algorithmen zu nutzen.

  • Stärker: moderne, gesalzene Hashes (plattform-/IOS-abhängig)
  • Schwächer: alte, leicht angreifbare Formate (legacy)
  • Praktisch: nutze secret und moderne IOS-Defaults

Indiz: „So sieht ein gehashter Eintrag aus“

Router# show running-config | include enable secret|username

Lokale Logins richtig umsetzen: VTY auf login local

Viele Umgebungen scheitern daran, dass VTY-Lines noch auf ein altes Line-Passwort setzen oder Telnet erlauben. Best Practice ist: SSH-only, lokale User, und Zugriff per VTY-ACL einschränken.

SSHv2 + lokale Auth + VTY ACL

Router# configure terminal
Router(config)# ip ssh version 2
Router(config)# ip domain-name lab.local
Router(config)# crypto key generate rsa modulus 2048

Router(config)# ip access-list standard VTY_MGMT
Router(config-std-nacl)# permit 192.168.10.0 0.0.0.255
Router(config-std-nacl)# deny any
Router(config-std-nacl)# end

Router(config)# line vty 0 15
Router(config-line)# login local
Router(config-line)# transport input ssh
Router(config-line)# access-class VTY_MGMT in
Router(config-line)# exec-timeout 10 0
Router(config-line)# end

AAA statt lokale User: zentral, auditierbar, sicherer

In professionellen Umgebungen wird Management-Auth über AAA (TACACS+/RADIUS) zentralisiert. Das ermöglicht Rollen, Policy-Änderungen ohne „Passwort auf jedem Router“ und sauberes Accounting. Wichtig ist ein lokaler Fallback-User als Break-Glass.

  • Zentrale Accounts und Rollen (Privilege/Command Authorization)
  • Accounting für Audits (wer hat was gemacht?)
  • Local-Fallback als Lockout-Schutz

AAA mit lokalem Fallback (Prinzip)

Router# configure terminal
Router(config)# username breakglass privilege 15 secret Br3akGl@ss!
Router(config)# aaa new-model
Router(config)# aaa authentication login VTY_LOGIN group tacacs+ local
Router(config)# aaa authorization exec VTY_EXEC group tacacs+ local
Router(config)# line vty 0 15
Router(config-line)# login authentication VTY_LOGIN
Router(config-line)# authorization exec VTY_EXEC
Router(config-line)# transport input ssh
Router(config-line)# end

Passwort-Policy in der Praxis: starke Secrets und kurze Angriffsfenster

Technik hilft nur, wenn Passwörter stark sind und Angriffe erschwert werden. Kombiniere starke Secrets mit Timeout, Retries und Login-Blocking.

  • Lang, zufällig, einzigartig (kein Wiederverwenden)
  • SSH Retries reduzieren, Timeouts setzen
  • Brute-Force-Schutz aktivieren (wenn möglich)

SSH härten und Login-Blocking

Router# configure terminal
Router(config)# ip ssh time-out 60
Router(config)# ip ssh authentication-retries 2
Router(config)# login block-for 120 attempts 3 within 60
Router(config)# end

Typische Denkfehler und wie du sie vermeidest

Viele Konfigurationen sehen „irgendwie sicher“ aus, sind es aber nicht. Diese Klassiker tauchen in Audits regelmäßig auf.

  • enable password statt enable secret
  • VTY nutzt Line-Passwort statt login local/AAA
  • Telnet noch aktiv (transport input telnet oder „all“)
  • Keine VTY-ACL → SSH ist aus allen Netzen erreichbar
  • service password-encryption wird als „echte Security“ überschätzt

Verifikation: So prüfst du, ob du wirklich sicher bist

Nach der Härtung solltest du kontrollieren, welche Zugänge aktiv sind und wie Credentials gespeichert werden. Ziel: SSH-only, Secrets gehasht, Management eingeschränkt.

Running-Config prüfen

Router# show running-config | include enable secret|enable password
Router# show running-config | include username
Router# show running-config | section line vty
Router# show ip ssh

Management-Zugriff prüfen

Router# show access-lists
Router# show users
Router# show logging

Konfiguration speichern

Wenn SSH-only aktiv ist, VTY-ACL greift und Secrets korrekt gesetzt sind, speichere die Konfiguration.

Router# copy running-config startup-config

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab (CCNA)

Hallo! Ich bin ein CCNA-Network Engineer und unterstütze Sie bei Cisco Router- und Switch-Konfigurationen – inklusive eines vollständigen Cisco Packet-Tracer-Labs (.pkt). Ideal für Lern-/Übungsszenarien, Validierung oder eine saubere Demo-Topologie.

Was ich (je nach Paket) umsetze

  • Switching: VLANs, Trunking (802.1Q), Port-Zuweisung, STP-Basics (PortFast/BPDU Guard wo sinnvoll)

  • Routing: Default/Static Routing oder OSPF, Inter-VLAN Routing (Router-on-a-Stick)

  • Services: DHCP (Pools/Scopes), NAT/PAT für Internet-Simulation

  • Optional Security: Basic ACLs und SSH-Hardening

  • Test & Verifikation: Ping/Traceroute + wichtige Show-Commands (mit erwarteten Ergebnissen)

Sie erhalten

  • Packet Tracer .pkt Datei

  • ✅ Saubere Konfigurations-Notizen pro Gerät

  • ✅ Verifikations-Checkliste + erwartete Outputs

  • ✅ Kurze Dokumentation (wie die Topologie funktioniert)

Bitte schreiben Sie mir vor der Bestellung, damit wir Scope, Packet-Tracer-Version, Geräteanzahl und Deadline klären.

Konfiguriere Cisco Router & Switches | Cisco Packet-Tracer-Labs. Finden Sie mich auf Fiverr.

Related Articles