Grundkonfiguration Cisco Catalyst Switch

Grundabsicherung unseres Switches

Ich werde diese Blog Artikel in mehrere Schritte unterteilen und nach und nach mehr Security in die Grundkonfiguration bringen.

Wir machen an der Stelle weiter meinem Switch der 2960-L Serie, genauer gesagt
Catalyst WS-2960L-8PS-LL welchen ich hier in meiner Testumgebung habe. Weitere Details dazu findet Ihr bei Interesse hier.

An dieser Stelle sollten wir nach dem vorherigen Artikel in der Lage sein, uns per SSH mit unserem neuen Switch zu verbinden.
Der einfacheit halber verwende ich in der Anleitung immer den Benutzer „cisco“ und auch das Passwort „cisco“.

In diesem Teil werden wir folgende Punkte konfigurieren:

  1. Passwortvergabe für Konsolen Zugriff und enable Passwort
  2. Setzen eines Hostnamen und  eines Domain Namen (Wichtig für die Generierung des RSA Key für den SSH Zugriff) und generieren den RSA Key
  3. Vergabe einer IPv4 Adresse im Default VLAN 1
  4. Vergabe eines Standard Gateways
  5. Konfiguration von DNS und Zeitserver
  6. Passwortvergabe für SSH Zugriff
  7. Verschlüsselung der Passwörter in der Config

Als erstes stellen wir sicher, das der Switch mit Benutzernamen und Passwort auf der Consolen Ebene abgesichert wird und das enable Passwort für den globalen konfigurationsmodus:

Switch#configure terminal
Switch(config)#
Switch(config)#line console 0
Switch(config-line)#password cisco
Switch-1(config-line)#login
Switch-1(config-line)#exit
Switch-1(config)#enable password cisco

Als nächstes vergeben wir einen Hostnamen und einen Domain Namen, diese beiden Parameter sind zwingend notwendig zur Generierung des RSA Schlüssels damit wir uns per SSH mit dem Switch verschlüsselt verbinden können:

Switch(config)#hostname Switch-1
Switch-1(config)#ip domain-name networktrain.eu
Switch-1(config)#

Nach dem setzen von Domain Namen und Hostname können wir nun das RSA Schlüsselpaar generieren um künftig SSH Zugriff zu nutzen:

Switch-1(config)#crypto key generate rsa
The name for the keys will be: Switch-1.networktrain.eu Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes.

An dieser Stelle müssen wir nun die Bit Stärke der RSA Verschlüsselung wählen, ich habe hier 2048 Bits gewählt (möglicher Bereich 512 – 2048), je stärker der Schlüssel um so sicherer.  Bei älteren Switches waren die Prozessoren und der Arbeitsspeicher oft ein Performance Problem bei zu starken Schlüsseln, heute sehe ich da kein Problem mehr.

How many bits in the modulus [512]: 2048 % Generating 2048 bit RSA keys, keys will be non-exportable…[OK]
Switch-1(config)#

 

Weiter mit der IP Adressvergabe.
Wir müssen uns im klaren sein, das wir nicht einem physikalischem Switchinterface oder dem Switch selber eine IP Adresse auf einem Hardware Interface zuweisen sondern wir vergeben die IP Adresse einem VLAN und zwar dem virtuellem LAN mit der ID 1.

Dazu wechseln wir in den globalen Konfigurationsmodus:

Switch>
Switch>enable
Switch#configure terminal
Switch(config)#

Nun vergeben wir eine IP Adresse für das VLAN 1 damit wir den Switch aus unserem Netzwerk erreichen können ohne an das Konsolen Kabel gebunden zu sein. Hierzu wählen wir eine freie Adresse aus unserem Netz Segment, in dem sich auch unser lokaler PC befindet, bzw. geben unserem PC / Notebook eine Adresse auf del LAN Interface für die Konfiguration:

Windows IP Konfiguration

Nun geht es auf unserem Switch weiter:

Switch-1(config)#
Switch-1(config)#interface vlan 1
Switch-1(config-if)#ip address 192.168.1.1 255.255.255.0
Switch-1(config-if)#no shutdown

Weiterhin vergeben wir ein Standard Gateway welches als Router für unseren Switch fungiert (Optional bei Bedarf).

Switch-1(config)#
Switch-1(config)#ip default-gateway 192.168.1.254
Switch-1(config)#

Jetzt setzen wir noch den Zeitserver, dies ist wichtig denn es gibt kaum was schlimmeres in einem Netzwerk als unterschiedlich Uhrzeiten. Idealer weise in einer Windows Client Server Umgebung nutzen wir den ersten Domänen Controller (PDC – Primary Domain Controller) als Zeitserver, da sich bei diesem auch alle Domänen Member die Zeit holen und setzen uns die richtige Zeitzone, damit wir für Logs etc. die Richtige Uhrzeit in den Einträgen haben.
Bei uns in Deutschland gilt die MEZ (Mittel Europäische Zeit), default nutzt Cisco UTC (Coordinated Universal Time) als Zeitzone. Damit wir nun in die richtige Zeit kommen nutzen wir UTC +1 Stunde in der deutschen Winterzeit und UTC +2 Stunden in der Sommerzeit.

Switch-1(config)#ntp server 192.168.1.10
Switch-1(config)#
Switch-1(config)#clock timezone MEZ 1
Switch-1(config)#

Eleganter weise setzen wir nun auch noch die zuständigen DNS Server zur Namensauflösung ( #optional falls notwendig):

Switch-1(config)#ip name-server 192.168.1.100
Switch-1(config)#

Nun kommen wir zur Absicherung um unbefugten Zugriff zu verhindern:

Den Zugriff via Konsolenkabel haben wir bereits im ersten Step erledigt, nun weisen wir den Switch an die lokale Benutzerdatenbank zu benutzen, legen einen Admin Benutzer mit allen Privilegien an und aktivieren den SSH Zugriff:

Switch-1(config)#aaa authentication login default local
Switch-1(config)#username cisco privilege 15 password cisco
Switch-1(config)#line vty 0 4
Switch-1(config-line)#transport input ssh
Switch-1(config-line)#login local
Switch-1(config-line)#login

Als Benutzernamen haben wir nun den „cisco“, die Berechtigungslevel beim Cisco IOS gehen von 0 bis 15 (0 minimale Berechtigungen 15 maximale Berechtigungen). Auf die einzelnen Abstufungen dieser Berechtigungslevel werde ich in einem weiteren Beitrag im Detail weiter eingehen. Als Passwort habe ich der Einfachheit halber für diese Tutorial´s hier wieder „cisco“ gewählt.

Cisco IOS verwendet für SSH Zugriffe sogenannte Virtual Teletypes / Virtuelle Terminal Sessions. Kommando „line vty“ benutzt (VTY steht für ). Hier ist es möglich, 16 gleichzeitige Verbindungen zuzulassen welche hier als vty 0 bis 15 deklariert sind.

In älteren IOS Versionen gab es nur 5 gleichzeitige Verbindungen, aus diesem Grund wird wegen der Abwärtskompatibilität gern  gesplittet auf 0-4 und 5-15.
Hier also der letzte Block nochmal für 5-15

Switch-1(config)#line vty 5 15
Switch-1(config-line)#transport input ssh
Switch-1(config-line)#login local
Switch-1(config-line)#login

 

Aktuell sind nun in der Konfiguration mit einem show running-config noch alle von uns gesetzten Passwörter im Klartext zu sehen. Dies sichern wir noch ab und verschlüsseln die Ansicht.

Switch-1(config)#service password-encryption

Jetzt das ganze noch speichern

Switch-1(config)#exit
Switch-1(config)#write memory

Damit hätten wir den ersten Part der Konfiguration fertiggestellt und widmen uns nun im nächsten Beitrag einigen weiteren Sicherheitsaspekten.