Basiskonfiguration eines Cisco Switches – Catalyst 2960X

Das Prozedere kennt so gut wie jeder Netzwerktechniker; ein neuer Switch wird an einem Standort benötigt und dafür muss auch die nötige Grudkonfiguration 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.

 

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

 

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. Sobald nur ein einziges Endgerät 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. Auch ich bevorzuge hier diese beiden Angaben als genügend, natürlich gibt es noch weitere Optionen.

(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. 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 action shutdown

 

Somit wären wir mit der Basiskonfiguration fertig. Ab dem Zeitpunkt kann dann angefangen werden mit der Konfiguration von VLAN und Inter-VLAN, AAA, OSPF und und und…

Ich habe die Konfiguration nochmal extra in einer Textdatei zusammengeschrieben und diese kann man unter folgendem Link finden: Zusammenfassung

 

over & out,

jonsch

Schreibe einen Kommentar

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