Basiskonfiguration eines Cisco Switches – Catalyst 2960X

Beitragsbaum

 

 

Vorwort

Das Prozedere kennt so gut wie jeder Netzwerktechniker; ein neuer Switch wird an einem Standort benötigt und dafür muss die nötige Basiskonfiguration erstellt werden. Nur wie sieht diese Basiskonfiguration im Endeffekt aus? Der Gedanke einer übersichtlichen und kaum aufwendigen Mindestkonfiguration, dennoch mit allen Sicherheitsaspekten inkludiert, ist schon der richtige Weg zum Ziel. Das ganze soll auch nicht zu semiprofessionell aussehen, also eine saubere Basiskonfiguration, mit der man direkt durchstarten kann.

Der erste Schritt zur erfolgreichen Basiskonfiguration ist eine physische als auch eine logische Verbindung zu dem Switch herzustellen. Die klassische Varaiante über Console ist meiner Meinung noch immer die einfachste und effektivste Art und Weise. Je nach OS des Endgerätes baut man eine Verbindung über einen Terminalemulator oder vergleichbarer Software zu dem Switch auf. Unter Windows kann hier beispielsweise TeraTerm oder PuTTY abhilfe schaffen, unter Linux und OSX kann mit der im Standardpaket enthaltenen Software screen eine Verbindung realisiert werden.

Nachdem man erfolgreich verbunden wechselt man über die Eingabe ena und dazugehörigem Standardpasswort in die globale Konfigurationsebene. Es gibt verschiedene Arten von Standardpasswörtern für die Cisco Switche: default, Default, cisco, Cisco, cisco123, Cisco123 oder einfach nur Enter und bestätigen.

 

 

Basiskonfiguration

Nun kann das freudige Konfigurieren auch schon anfangen. Als erstes wird der Hostname, beispielsweise sw1, gesetzt.

(config)#   hostname sw1

 

Damit alle Passwörter die auf dem Switch konfiguriert sind auch nicht im Klartext lesbar sind, werden diese mit dem Vigenere Cipher kodiert.

Es handelt sich hier um eine sehr geringe Verschlüsselung, welche nur den Zweck der sofortigen Lesbarkeit des Passwortes im Klartext verhindern soll! Im Netz werden massig Skripte und Software zur Dekodierung der Passwörter mit dieser Cipher angeboten.

(config)#   service password-encryption

 

Die Cisco Switche sind von Grund auf so konfiguriert, dass Sie jedes Wort, welches Sie nicht kennen, anhand der Broadcast Adresse an einem DNS-Server auflösen möchten. Das kann man leicht testen, in dem man ein Wort, beispielsweise „Tomate“ in der laufenden Shell Session eingibt. Der Switch versucht dies aufzulösen und das kann lange Wartezeiten mit sich bringen. Damit dies aber nicht passiert, schaltet man den Dienst einfach ab.

(config)#   no ip domain-lookup

 

Damit der Zugriff auf die EXEC Ebene des Switches erfolgen kann, muss hier ein starkes Passwort gesetzt werden, bei dem man die Verschlüsselungsstärke selbst definieren kann. Es gibt die Variante enable password oder enable secret, allerdings wird die Angabe des Passworts durch enable secret empfohlen, da hier ein verbesserter Verschlüsselungsalgorithmus genutzt wird.

(config)#   enable secret supertopsecret59

 

Die Nachricht des Tages wird nach erfolgreicher Authentifizierung durch ena angezeigt und kann eine Warnung für unzulässigen Zugriff beinhalten.

(config)#   banner motd # Unauthorized access is strictly prohibited! #

 

Mit der Angabe von line console 0 wird die Console Schnittstelle konfiguriert. Hier ist es empfehlenswert ein starkes Passwort zu hinterlegen, um unzulässigen Zugriff auszuschließen und einen exec-timeout zu definieren, damit beispielsweise bei nicht richtigem Beenden der Console Verbindung auch hier ein Fremdzugriff verhindert werden kann. Die Angabe von login ermöglicht Loginversuche bei Verbindungsaufbau über die Schnittstelle und durch logging synchronous wird man bei Befehlseingabe nicht durch Systemmeldungen unterbrochen.

(config)#   line console 0
(config-line)#   password PASSWORD
(config-line)#   login
(config-line)#   logging synchronous
(config-line)#   exec-timeout 10 0

 

Die Schnittstelle der line vty 0 mit der 15 setzt die maximale Anzahl an eingehenden SSH oder Telnet Verbindungen fest. Auch hier wird wieder ein starkes Passwort gesetzt und die Angaben von login und logging synchronous sollten wie bei der Console Schnittstelle definiert werden. Allerdings kommt hier der Befehl transport input ssh noch vor. Durch diese Angabe erlaubt der Switch auf die vty Schnittstellen nur eingehende SSH-Verbindungen und kein Telnet. Zusätzlich kann man aus sicherheitstechnischen Aspekten einen Timeout festlegen, allerdings bevorzuge ich persönlich eher keinen Timeout, damit bei längerer Anwednung nicht die Session fliegt.

(config)#   line vty 0 15
(config-line)#   password PASSWORD
(config-line)#   login
(config-line)#   logging synchronous
(config-line)#   transport input ssh

 

Eigentlich kaum noch benutzt wird die line aux 0, allerdings sollte man diese trotzdem absichern. Passwort und Login genügen hier vollkommen.

(config)#   line aux 0
(config-line)#   password PASSWORD
(config-line)#   login

 

Die Angabe der Zeitzone ist wichtig, damit wir auch beispielsweise beim Troubleshooting in den Logs die richtige Zeit angegeben bekommen. Bei Cisco unterscheidet man gezielt zwischen Sommerzeit und Winterzeit. Es wird also einmal die Winterzeit und einmal die Sommerzeit angegeben.

Durch die Angabe der Eins und der Null bei der Winterzeit wird definiert, wie viele Stunden und Minuten man von der UTC versetzt ist.
Bei der Sommerzeit wird durch die genaue Angabe der Daten mit Stunde die beiden Termine der Uhrenumstellung festgelegt.

(config)#   clock timezone MET 1 0
(config)#   clock summer-time MEST recurring last Sun Mar 2:00 last Sun Oct 2:00

 

Man muss einen Domain Namen zwingendermaßen hinterlegen, um beispielsweise einen SSH-Key generieren zu lassen. Die Angabe definiert auch die Domain Name für den Switch selbst.

(config)#   ip domain-name test.lab

 

Nachdem man den Domain Namen angegeben hat, kann man einen SSH-Key generieren. Standardmäßig wird der SSH-Key mit 1024 bits erstellt, allerdings kann man auch nach Eingabe des Befehls maximal 4096 bits erhöhen. Empfehlenswert ist mindestens 2048!

(config)#   crypto key generate rsa

 

Damit man sich auch local einloggen kann, ohne TACACS oder RADIUS, setzt man hier einen Standard Usernamen mit dazugehörigem Passwort fest. Auch hier die secret Angabe für die Verschlüsselung.

(config)#   username root secret toor76

 

Durch den Befehl ip ssh version 2 werden nur noch Verbindungen mit SSH Version 2 Protokoll zugelassen. Sicherheitstechnisch sollte dies beachtet werden.

(config)#   ip ssh version 2

 

Es gibt die Möglichkeit eine Anzahl der gleichzeitig operierenden Nutzer im configuration mode festzulegen. Beschränken lässt sich dieser auf eine Person zur selben Zeit. Sinnvoll ist die Option dann, wenn man paralleles konfigurieren vermeiden will, da dies schnell zu fatalen Fehlern führen kann.

(config)#   configuration mode exclusive

 

Als nächsten Schritt kann man die einzelnen Switchports noch durch verschiedene Sicherhitsfunktionen abhärten.

Einer der Sicherheitstechniken ist die Port-Security, welche man auf den Switchports konfigurieren kann. Damit ist es möglich, die MAC-Adressen zu beschränken oder auf eine festzulegen. Sobald die maximale MAC-Adressen Anzahl erreicht beziehungsweise überschritten wurde oder nicht die eingetragene Adresse erkannt wurde, wird der Port in einen von drei Zuständen gesetzt. Ich persönlich bevorzuge den Shutdown Modus, somit wird der Anschluss einfach abgeschaltet und muss von einem Administrator durch ein- und ausschalten wieder aktiviert werden. Somit kann der Admin die Situation selbst einschätzen und gegebenenfalls Nutzungsfehler klären.

In dem Beispiel wird die Port-Security aktiviert, eine MAC-Adresse festgelegt und somit bestimmt, dass nur dieses Endgerät mit der MAC-Adresse den Switchport benutzen darf. Ist dies nicht der Fall, wird der Switchport abgeschaltet.

(config)#   inter gi1/0/1
(config-if)#   switchport port-security
(config-if)#   switchport port-security mac-address sticky 89b0.3r09.ce2d
(config-if)# 
switchport port-security violation shutdown

 

Des Weiteren sollte unbedingt Spanning Tree aktiviert sein um Schleifenbildung zu vermeiden. Meiner Meinung nach eines der wichtigsten Protokolle in der Netzwerktechnik. Ohne Spanning Tree kann ein Netzwerk sehr schnell lahm gelegt werden. Empfehlenswert ist es, das Protokoll auf allen Nutzeranschlüssen zu aktivieren. Dazu die Funktion des BPDU-Guards, welcher zum Einsatz kommt um BPDU-Pakete zu blockieren. Wieso? Wenn ein Netzwerkgerät beispielsweise ein anderer Switch an dem Port angeschlossen ist und kräftig BPDU-Packets sendet, kann dies zu einem Topology Change führen. Dabei löscht der Switch seine komplette MAC-Adressen Tabelle und baut diese neu auf. Das ist ab und zu nicht schlimm, allerdings nicht alle fünf Minuten. Resultierend daraus ist ein sehr instabiles Netzwerk und eine sehr große Belastung für den Switch.

Sobald nur ein einziges Endgerät beispielsweise ein PC an dem Switchport angeschlossen ist, kann man auf die Angabe des spanning-tree portfast edge zurückgreifen. Dieser erlaubt eine Missachtung des Spanning Tree’s, da es nur ein Endgerät und eine feste physische Verbindung gibt, kann es zu keiner Schleife führen und dadurch gibt es keine Einschränkungen. Sobald der Switchport allerdings BPDU-Pakete empfängt, verfällt der Status und der bpduguard greift ein.

Falls es doch mal unvermeidlich ist auf dem angeschlossenen Gerät Spanning-Tree zu deaktivieren oder aus nicht erklärlichen Gründen BPDU-Pakete empfangen werden, kann auf seitens des Switchports ein spanning-tree bpdufilter enable gesetzt werden, welcher das Empfangen und Senden von BPDU-Paketen einfach nur dropt, aber die aktive Verbindung weiterhin am Leben hält.

(config)#   inter range gi1/0/1-48
(config-if)#   spanning-tree bpduguard enable
(config-if)#   spanning-tree portfast edge

 

Die Storm-Control Technik unterbindet Broad-, Multi- und Unicast Stürme in einem Netzwerk oder in einem VLAN. Durch drei optionale Varianten diese Stürme zu unterbinden, können die Switchports auf die Paketanzahl in einer Sekunde, an den zu übertragenden Bits pro Sekunde oder an der Prozentangabe der Bandbreite beschränkt werden. Ich persönlich würde hier auf die Funktion zur Unterbindung von zu vielen Broadcast Anfragen zurückgreifen, weil es dazu auch reale Angriffsmethoden gibt, um ganze Netzwerke lahm zu legen. Eine Anzahl von nicht mehr als 100 Paketen pro Sekunde sollten hier ausreichen, wenn dies überschritten wird, soll der Port abgeschaltet werden. So ähnlich verhält sich das Prozedere dann mit Multicast, alleridngs ist hier der Schwellwert auf 500 anstatt 100 angepasst, da viele Netzwerkgeräte auf Multicast Traffic angewiesen sind. Der Switchport muss allerdings nicht zwangsmäßig abgeschaltet werden, dann werden die Pakete nur geblockt.

Natürlich soll der Schwellwert hier erst beobachtet werden, bevor mann willkürlich eine Beeinträchtigung durch die Konfiguration am Anschluss verursacht.

(config)#  inter range gi1/0/1-48
(config-if)#   storm-control broadcast level pps 100
(config-if)#   storm-control multicast level pps 500
(config-if)#   storm-control action shutdown

 

 

Zusammenfassung

Das war es dann auch schon mit der Konfiguration auf dem Switch. Zusammengefasst sieht die Konfiguration folgendermaßen aus.

hostname HOSTNAME
service password-encryption
no ip domain-lookup
enable secret PASSWORD
banner motd # TEXT #
line console 0
password PASSWORD
login
logging synchronous
exec-timeout 10 0
line vty 0 15
password PASSWORD
login
logging synchronous
transport input ssh
line aux 0
password PASSWORD
login
clock timezone TIMEZONE
ip domain-name DOMAIN
crypto key generate rsa
username NAME secret PASSWORD
ip ssh version 2
configuration mode exclusive
inter gi1/0/1
switchport port-security
switchport port-security mac-address sticky 89b0.3r09.ce2d
switchport port-security violation shutdown
inter range gi1/0/1-48
spanning-tree bpduguard enable
spanning-tree portfast edge
inter range gi1/0/1-48
storm-control broadcast level pps 100
storm-control broadcast level pps 500
storm-control action shutdown

Außerdem habe ich Konfiguration nochmal extra in einer eigenständigen Textdatei zusammengeschrieben: basiskonfiguration.txt

 

Als Nächstes kann noch mehr auf Details bezüglich der Switchports für die Endgeräte eingegangen werden oder die Konfiguration von VLAN, Inter-VLAN, Spanning Tree, AAA, RADIUS, etc hinzugefügt werden.

 

over & out,

jonsch

3 Gedanken zu “Basiskonfiguration eines Cisco Switches – Catalyst 2960X”

    • Hi Netzwerkkatze,

      danke für dein Feedback. Allerdings möchte ich den Beitrag in nächster Zeit wieder aktualisieren, da es hier und da eins zwei Anpassungen geben wird. Alleridngs dient der Guide hier immer noch als Basiskonfiguration.

      Grüße,
      jonsch

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.