Cisco Router Kennwort per Skript ändern

Hallo,

ich möchte gerne auf vielen Routern das Kennwort per Batch Datei von meinem Windows 7 32-bit System (oder openSUSE 12.2 in VirtualBox) ändern.
Problem bei der ganzen Geschichte, ist das ich keine Ahnung von Linux und scripten habe.
Ich habe bereits mal geschaut und muss dafür ja sicherlich erstmal rausfinden welchen Port ich jeweils am Router ansprechen muss.
Wie finde ich heraus, ob ich Port 22 oder 23 ansprechen muss?
Per netcat, und wenn ja wie?
Auf der Linuxmaschine kann ich per Konsole „nc „IP“ 22“ eingeben und er gibt mir raus ob SSH an ist oder nicht, nur möchte ich ungern für über 200 Standorte den Befehl eingeben. Lieber wäre mir natürlich er gibt mir in einer Datei raus, welche Port bei der jeweiligen IP genutzt wird.
Kann mir das jemand beantworten? Da ich nicht weiß, wonach ich genau googlen muss, bringt mich das nicht sonderlich viel weiter :frowning:

Anschließend möchte ich natürlich gerne ein weiteres Skript schreiben, womit ich mich auf den Routern einlogge (mit verschiedenen User/Passwort Kombinationen die ich habe) und dann die User/Passwörter vereinheitliche.

Hallo Marc,

Ihre Frage übersteigt mein Wissen bei Weitem, zumal ich auf Apple Hard und Software bewandert bin. Mit Routern kennen ich mich zu wenig aus, um diese Frage zufriedenstellend beantworten zu können.

Sorry, viel Erfolg und mit freundlichen Grüßen,
Ralf

Hallo Ralf,

kein Problem.
WWW.de schlug Sie als Ansprechpartner vor, die Chance wollte ich nur nutzen :wink:

MfG
Marc

Hallo Marc,
leider kann ich dir nicht helfen, was du vorhast ist mir doch ein bischen zu hoch :frowning: , wünsche dir aber viel Erfolg bei deinem Vorhaben

Grüsse,
Ingo

das kann ein komplexeres vorhaben werden, aber machbar allemal.

für das scannen der Ports würde ich dir Nmap empfehlen. Hierfür gibt es verschiede GUIs und es lässt sich auch scripten.

für das erstellen des scripts zum updaten der kennwörter würde ich mir unterstützung holen, da dies für einen Anfänger zu komplex werden kann und gut abgesichert sein sollte, damit dir keiner ohne autorisierung alle kennwörter ändern kann.

Hallo !

Ein script zu schreiben, welches sämtliche (wenn auch bisherige) Passwörter beinhaltet ist ein Sicherheitsrisiko hoch 10 !!!

Was Sie suchen/benötigen ist ein TACACS-Server im Netz.
Das hat allerdings zur Folge, daß Sie doch ALLE Router (aber nur EINMAL) anfassen müssen und die entsprechende config aufspielen müssen.

Danach können Sie die User am TACACS verwalten und können Personenbezogene Kennwörter vergeben.
Verlässt z.B. ein Router-berechtigter Mitarbeiter das Unternehmen, muss man nur den Benutzer löschen/sperren.
Dies gilt dann für alle router !! Auch lokal(direkt am Router) !!

Das lokale Passwort am Router funktioniert nur, wenn dieser den TACACS nicht erreicht (also Offline ist).

Das macht zwar nur einmal Arbeit, jedoch ein loginscript für 200 Router zu schreiben auch !!

Vielleicht mal gogglen zum Thema TACACS…

Grüße

Hallo Marc,

also ob sich das so wie du dir das denkst umsetzen lässt…?
Wäre zumindest ein ziemliches Sicherheitrisiko, wenn man den Routern einfach neue Konfigurationen einspeisen könnte (ohne sich zu authenthifizieren).

Um was für Geräte handelt es sich denn? Falls du nur Cisco-Geräte im Einsatz hast (nicht die Home-Office-Geräte sondern die Professionellen), könntest du Erfolg haben. Von Cisco gibt es ein Programm für die zentrale Router- und Switchverwaltung (aber das geht eben nur für Cisco-Geräte).
Wenn du Geräte verschiedener Hersteller im Einsatz hast, fürchte ich, dass dein Vorhaben nicht umsetzbar ist (oder zumindest nicht in diesem Rahmen).

Du müsstest etwas mehr Infos zu deinen Geräten rausrücken. Kannst du evtl. mal eine Liste machen?

Homerouter haben in aller Regel ein Webinterface - also Port 80.
Bei Cisco ist der Standard 23 (Telnet). Häufig wird aber 22 verwendet (SSH), da die Kommunikation hier im Gegensatz zu Telnet verschlüsselt wird).

Bei Telnet und SSH gibt’s nur Texteingabe (Syntax vom jeweiligen Betriebssystem des angesteuerten Geräts abhängig). Und Cisco hat eine ganz eigene Kommandozeile, die mit Linux und DOS/Windows nix zu tun hat).

Was da genau an Ports aktiv ist, sagt die ein Verbindungsversuch auf den jeweiligen Port.

Du musst dir aber im Klaren darüber sein, dass wenn du rumexperimentierst und die Konfiguration eines Geräts beschädigst, dieses Gerät u. U. nicht mehr erreichbar ist. Da hilft dann oft nur hingehen (bei 200 Standorten könnte das problematisch werden) und mit Reset auf Werkseinstellungen zurücksetzen.

Viel Erfolg

PS: Wenn ihr so viele Standorte habt, gibt’s doch sicher eine IT-Abteilung, die sich da auskennt. Oder bist du da Azubi? :smile:

Na ich hoffe, dass es sich so umsetzen lässt. :wink:
Mit Hilfe eines Kollegens habe ich es bisher schonmal hinbekommen, von meiner Linuxkiste eine Abfrage zu bauen, die mir sagt ob der Port 22 aktiv ist oder nicht (also ssh geht und gemacht über Netcat). Aber wie kriegt man nun raus, ob port 23 auch aktiv/aktiviert ist?
Authentifizierung wird es ja schon geben, so ist es nicht. Problem ist, dass auf den Routern (Alle Cisco 851/881 oder 856/886 --> SOHO Geräte) verschiedene Kennwörter sind (so 7 verschiedene im Umlauf) deswegen möchte ich das Ganze ja machen.
Standardmäßig ist bei den Routern ja kein Webinterface aktiviert und das macht ja auch keiner………. :wink:

Für die Zentrale verwaltung haben wir kein Programm/Server, das ist ebenfalls mein Problem.

Über die Risiken bin ich mir bewusst, da ich derjenige bin, der die Teile bei uns Konfiguriert und alles. Problem bei der Geschichte ist nur, dass das vor mir schon ein paar andere gemacht haben und die Kennwörter kennen aber auch nicht mehr bei uns sind. Und ich das einfach so geerbt habe ohne Schulungen etc. Das was ich weiß habe ich mir selbst beigebracht und reicht um den Betrieb aufrecht zu erhalten aber für viel mehr reicht es nicht.
Ergo, ich hocke ja in der IT-Abteilung aber kein anderer von denen, die das richtig können sind noch da :wink:

Alles klar, aber danke fürs schauen! :wink:

Hallo Daniel,

das mit dem Nmap werde ich mal versuchen, sieht nicht so verkehrt aus! Danke!

hm… TACAS ist nicht so das wonach ich suche… Aber danke!

Hi,
ich muss leider sagen das ich kein Wort verstanden habe was du machen willst. Passwörter gescriptet verändern von Routern oder Linux systemen?
Sorry weiß nicht was ich sagen soll.

Gruß
Markus

Hallo Marc,

hast Du es schon mal mit nmap versucht? Der zeigt Dir alle offenen Ports an. Die Ausgabe ein bisschen mit grep filtern und in eine Datei „openhosts“ umleiten.

Wenn ssh aktiv ist, kannst Du versuchen, an den ssh Befehl einen Einzeiler, der den IOS Befehl zum ändern des Passworts enthält, anzuhängen, der nach dem Verbindungsaufbau sofort ausgeführt wird.
Das ganze verpackt in eine kleine Schleife, die die IP-Adressen oder Hostnamen aus einer Datei heraus liest ("… cat openhosts …" und ab dafür.

Allerdings würde ich Dir abraten, so was zu machen. Wenn Du Dir dabei einen Bock erlaubst, kannst Du ja mal versuchen, remote die Router wieder zurückzusetzen. Könnte schwer werden, wenn eben genau die Anmeldung, die dazu bräuchtest, nicht mehr funktioniert.

Also lieber mit der Hand am Arm, auch wenns weh tut. Mühsam aber sicher oder wie der Engländer sagt: Better be safe than sorry!

Viel Glück dabei
Uli

Hallo,

Wie finde ich heraus, ob ich Port 22 oder 23 ansprechen muss?
Per netcat, und wenn ja wie?
Auf der Linuxmaschine kann ich per Konsole „nc „IP“ 22“
eingeben und er gibt mir raus ob SSH an ist oder nicht, nur
möchte ich ungern für über 200 Standorte den Befehl eingeben.
Lieber wäre mir natürlich er gibt mir in einer Datei raus,
welche Port bei der jeweiligen IP genutzt wird.

Anschließend möchte ich natürlich gerne ein weiteres Skript
schreiben, womit ich mich auf den Routern einlogge (mit
verschiedenen User/Passwort Kombinationen die ich habe) und
dann die User/Passwörter vereinheitliche.

Hm,
keiner mehr da, der sich damit auskennt - kommt mir nicht unbekannt vor.

Habe ich das jetzt richtig verstanden, dass du auf einige Router gar nicht mehr drauf kommst, weil du keine Zugangsdaten dafür kennst?
Das wäre ganz schlecht. Die Passwörter lassen sich zwar zurücksetzen, aber meines Wissens nur, wenn man physikalischen Zugriff auf die Geräte hat. Und laut der Aussage von dem, der bei uns die Cisco-Switche betreut, gibt’s da wohl eine Funktion um das Passwort zurücksetzen komplett zu unterbinden. Hoffentlich hat das keiner bei euch aktiviert.

Bei uns gibt’s eine zentrale (grafische) Managementkonsole (erinnert ein bisschen an Nagios) für alle Cisco-Geräte. Leider weiß ich die genau Bezeichnung dieses Programms nicht (falls dir das weiterhilft und ich drandenke könnte ich am Montag mal beim Kollegen nachfragen), aber schau dir doch mal folgenden Link an, ob was brauchbares für dich dabei ist:
http://www.cisco.com/web/DE/products/networkmgmt/ind…
Ich schätze aber, dass du da trotzdem einmalig die Zugangsdaten hinterlegen musst.

Versuch mal, dich mit Telnet auf Port 23 zu verbinden. Solltest du aber auch mit Netcat auf die gleiche Weise rausfinden können, wie beim ssh.

Viele Grüße