Ich habe gestern diverse Antworten in einem Forum zum Thema Cisco Device (Router und Swiches) Sicherheit gepostet. Es scheint also so, als ob immer wieder Fragen zu diesem Thema auftauchen. Also habe ich mir mal die Mühe gemacht, die wichtigsten Parameter zusammen zu tragen und zu beschreiben.
Benutzer Accounts
Ss sollte immer eine Zentralle Userverwaltung per RADIUS oder TACACS+ verwendet werden. Sollten kein solcher Dienst verfügbar sein, dann sollte darauf geachtet werden, dass keine default User wie “cisco” oder “admin” verwendet werden. Diese User werden als erstes versucht! Passwörter sollten sicher aufbewahrt werden. Nichts ist gefährlicher als ein Internet-Router auf den ein Fremder von außen zugreifen kann!
Login User sollten immer relativ wenig Rechte haben und dann per “enable” zum Administrator gemacht werden. Sollte mal ein Account vergessen gehen, ist er nach dem wechsel des “enable” Passworts auch ausgesperrt :)
Password Encryption
Cisco bietet die Möglichkeit Passwörter in Klarschrift in der Konfiguration zu speichern, das sollte auf jeden Fall vermieden werden! Zusätzlich sollten alle Passwörter möglichst komplex sein. Man glaubt nicht, wie oft versucht wird solche Passwörter zu knacken :)
Es ist auch wichtig, dass lokale “enable”-Mode Passwort mit einem komplexen Passwort gesichert ist.
Beispiel:
enable secret 5 $1$X81v$PuAopBiXHEVyULzFZQCC$0
Log Message Format
Cisco liefert ein Logformat, dass ich persönlich als relativ nutzlos ansehe, denn das Datumsformat versteht keiner!
Gerade wenn ein zentraler Logfile-Server genutzt wird, was ich dringend empfehle, dann sollte das Datum so formatiert werden, dass es dort auch richtig interpretiert werden kann… Auch von Tools.
! Show usefull timestamps in our logs
service timestamps debug datetime msec show-timezone localtime
service timestamps log datetime msec show-timezone localtime
Banners
Banner werden Usern angezeigt, wenn diese auf das Device zugreifen. Da das System, hoffentlich, überwacht wird, sollte hier direkt ein Hinweis darauf erfolgen
Das zweite Banner wird dem User nach einem erfolgreichen Login angezeigt. Hier können ggf. Support Informationen ausgegeben werden.
banner login _
This system is a restricted access system.
f collected security information reveals possible criminal activity that
exceeds privileges, evidence of such activity may be provided to the
relevant authorities for further action. By continuing past this point,
you expressly consent to this security monitoring.
_
banner motd _
This system is a restricted access system.
f collected security information reveals possible criminal activity that
exceeds privileges, evidence of such activity may be provided to the
relevant authorities for further action. By continuing past this point,
you expressly consent to this security monitoring
_
Disable Unused Services
Per Default sind eine Menge Dienste auf jedem Cisco Device aktiviert, hier besteht nun die Möglichkeit diese zu deaktivieren.
Wichtiger Hinweis: Auf einem Device, dass via Internet erreichbar ist sollte kein Webserver aktiviert sein. Solange das Device nur aus dem Intranet erreichbar ist, kann es nützlich sein, wenn die Webserver aktiviert bleiben, Gerade wenn auf einem Router Cisco CallManager Express verwendet werden soll, ist es oft erforderlich. Dann ist es auch sinnvoll/erforderlich das DHCP aktiviert ist.
Dynamic Host Configuration Protocol.
no service dhcp
Build HTTP server
no ip http server
Build HTTPs server
no ip http secure-server
UDP Small Services (echo, chargen).
no service udp-small-servers
TCP Small Services (echo, chargen).
no service tcp-small-servers
Routing.
no ip routing
Local Access
Dieser Punkt ist wichtig, wird aber extrem oft nicht beachtet. An der lokalen Konsole kann eine “password recovery procedure” durchgeführt werden. Damit ist es möglich, dass der Passwortschutz umgangen wird. Sobald eine Person also Zugang zu dem Device hat und eine Suchmaschine bedienen kann, könnte er nicht nur Zugriff auf dieses Device erlangen, er könnte darüber auch auf alle anderen erreichbaren Devices zugreifen!
line con 0
session-timeout 5
login local
transport input none
transport output none
stopbits 1
Network Access
Der Netzwerkzugriff sollte nur über Secure Shell (SSH) erfolgen! Um von einem Device aus auf ein anderes Device zuzugreifen (Hopping) sollte auch nur SSH verwendet werden. Andere Möglichkeiten (Telnet) werden per “transport output none” Befehl deaktiviert.
line vty 0 4
session-timeout 5
access-class 10 in vrf-also
login local
transport input ssh
transport output none
Miscellaneous Options
Die folgenden Optionen sind nicht zwingen Relevant, wenn es um das Thema Sicherheit geht. Es sollte aber trotzdem genau angeschaut werden, denn viele Dinge sind davon abhängig, dass diese vorhanden sind.
Name des Devices, dieser ist wichtig um an Beispielsweise Logfiles an zentraler Stelle auch wirklich auswerten zu können, sonst würde man aus den Syslog oder SNMP Trap Meldungen schlecht erkennen können um welches Device es sich handelt. Zusätzlich ist dieser wichtig um einen SSH Key erstellen zu können:
hostname udfrart03
Der Domain Name ist wichtig, um einen SSH Key erstellen zu können:
ip domain-name noc.unidocs.net
Source Routing ist eine IP Option in der der Absender die Route für sein Paket angeben kann. Eine durchaus nützliche Option, die aber sehr viele Gefahren durch manipulierte Pakete mit sich bringt. Da man im Normalfall Statische Routen verwendet, sollte diese Option also immer ausgeschaltet werden:
no ip source-route
Ein auflösen von DNS Namen (DNS resolving) ist auf einem Router nicht erforderlich. Je nachdem um welchen Router es sich handelt, ist ein Zugriff auf einen DNS Server auch nicht möglich/sinnvoll:
no ip domain-lookup
Es sollte immer die Option TCP keep alive verwendet werden, da diese feststellen kann, ob ein verbundenes System nicht mehr erreichbar ist, oder nicht mehr antwortet:
service tcp-keepalives-in
service tcp-keepalives-out
Erlauben von Zero Subnets [RFC-1519, RFC-1122, RFC-1123, RFC-1812 and RFC-1878]:
ip subnet-zero
Cisco verwendet ein default VLAN mit der Nummer 1, dieses sollte aus Sicherheitsgründen deaktiviert werden, denn jeder Angreifer dürfte dieses auch kennen:
interface Vlan1
no ip address
no ip route-cache
shutdown
!
VLANs bieten Sicherheit, können von Angreifern aber auch dazu verwendet werden sich Zugang zu erschleichen. Das Element sollte seine VLAN Informationen nicht anzubieten und auch nicht auf VLAN Angebote reagieren. Dadurch müssen VLANs zwar auf allen Devices von einem Administrator bekannte gegeben und gepflegt werden, aber dadurch wird eine große Gefahrenquelle geschlossen:
vtp domain 'servers.noc.unidocs.net'
vtp mode transparent
Cisco hat, wie viele Hersteller von Netzwerkelementen, Protokolle um diese Elemente abzugleichen, dass hat den Vorteil, das Devices untereinander Informationen abgleichen und Änderungen im Netzwerk recht schnell bekannt werden. Mit allen Vor- und Nachteilen! Sollte ein Angreifen sich einen Netzwerk Zugriff verschafft haben, könnte er recht einfach Cisco Discovery Protocol (CDP) Anfragen an ein Device senden, unter Umständen sendet dieses dann mehr Informationen als einem lieb ist. Zusätzlich ist es so, dass eine falsche Konfiguration auch gleich im Netzwerk bekannt werden würde… Ein weiterer möglicher Nachteil: Das CDP ist recht kommunikativ, die Devices tauschen ständig Informationen miteinander aus. Das kann Bandbreite kosten. In lokalen Netzwerk (LAN) ist das unter Umständen nicht weiter tragisch, da dort Bandbreite meist nicht das Problem ist, aber im Weitverkehrsnetzwerk (Zum Beispiel MPLS) kann das ein wirklich Nachteil sein/werden. Ich möchte nicht verschweigen, dass das ausschalten des CDP auch gewisse Nachteile hat: Viele Tools von Cisco bauen direkt auf CDP auf! Diese können dann nicht mehr, oder nur noch teilweise verwendet werden. Es muss also von Fall zu Fall entschieden werden, ob CDP ausgeschaltet werden sollte, oder nicht.
no cdp run
So, dass dürften die wichtigsten Sicherheitsrelevanten Parameter gewesen für Cisco Devices gewesen sein. Ich werde in Kürze aber noch weiteres zum Thema Cisco Konfigurationen posten… und wer Fragen hat, der kann sich ja hier melden ;-)
Ein kleiner Hinweis noch am Schluss: Ich übernehme natürlich keinerlei Garantie! Sollte also einer auf die Idee kommen, mich dafür verantwortlich zu machen, dass irgendwer sein Device erfolgreich überfallen konnte… Und das obwohl er alle Parameter wirklich genau so hatte wie ich es hier beschreiben habe: Das ist dann wirklich Pech!