Ich richte einen Cisco 2901-Router ein. Ich habe ein Anmeldekennwort in der Konsolenleitung und die Vty-Leitungen sind so konfiguriert, dass sie nur SSH-Verbindungen mit Authentifizierung mit öffentlichem Schlüssel akzeptieren. Die Hilfsleitung wird heruntergefahren. Es gibt nur zwei Administratoren, die auf den Router zugreifen, und wir sind beide berechtigt, jegliche Konfiguration auf dem Router vorzunehmen.
Ich bin kein Experte für Cisco-Geräte, halte dies jedoch für ausreichend, um den Zugriff auf die Routerkonfiguration sicherzustellen. In jedem einzelnen Handbuch, das ich gelesen habe, sollte ich jedoch ein Aktivierungsgeheimnis festlegen, unabhängig von anderen Benutzer- oder Leitungskennwörtern.
Enthält das Aktivierungskennwort noch etwas, das mir nicht bekannt ist? Gibt es eine andere Möglichkeit, auf den Router zuzugreifen als Konsolen-, Zusatz- oder Vty-Leitungen?
BEARBEITEN:
Ich habe die aktuelle Konfiguration unten hinzugefügt, um meine Situation klarer darzustellen. Das Folgende funktioniert, wenn Sie ein Aktivierungskennwort oder eine username
andere als die darin enthaltene Konfiguration benötigen ip ssh pubkey-chain
.
aaa new-model
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh pubkey-chain
username tech
key-hash ssh-rsa [HASH]
ip scp server enable
line vty 0 4
transport input ssh
Antworten:
Nein, technisch gesehen nicht. Ob Sie jedoch in den Aktivierungsmodus wechseln können, hängt davon ab, wie Sie sich anmelden.
Hier ist die sofortige Befriedigungsversion:
Sie können über die Konsole ohne Aktivierungskennwort eingeben, bleiben jedoch im Benutzermodus hängen, wenn Sie ein einfaches vty-Anmeldekennwort ohne festgelegtes Aktivierungskennwort verwenden.
Hier ist die langwierige StackExchange-Beantworterversion:
Die Cisco-Authentifizierung ist für Anfänger ein ziemliches Durcheinander. Es gibt dort eine Menge altes Gepäck. Lassen Sie mich versuchen, dies in einem realen Sinne aufzuschlüsseln.
Jeder, der ein Unternehmen hat, das sich an einem Router oder Switch anmeldet, wechselt direkt in den privilegierten (Aktivierungs-) Modus. Der Benutzermodus ist im Grunde genommen eine vordere Lobby und dient kaum mehr als dem Schutz vor Zugluft. In großen Organisationen, in denen Sie über große Netzwerke und ebenso große Arbeitskräfte verfügen, ist es möglicherweise gerechtfertigt, jemanden zu haben, der an die Haustür klopfen und sicherstellen kann, dass noch jemand da ist. (Das heißt, sich einzuloggen und die banalsten Befehle ausführen , um zu sehen , dass das Gerät ist in der Tat reagiert und nicht in Brand.) Aber in jeder Umgebung habe ich je gearbeitet in, Tier - 1 hatte zumindest einige Fähigkeit, Dinge zerbrechen.
Aus diesem Grund und insbesondere in einem Szenario wie dem Ihren ist die Kenntnis des Aktivierungskennworts für die Erledigung aller Aufgaben erforderlich. Man könnte sagen, dass dies eine zweite Sicherheitsstufe ist - ein Kennwort zum Eingeben des Geräts, ein anderes zum Eskalieren der Administratorrechte -, aber das kommt mir ein bisschen albern vor.
Wie bereits erwähnt, können Sie (und viele andere) dasselbe Passwort verwenden, was wenig hilft, wenn sich jemand über Telnet / SSH unbefugten Zugriff verschafft hat. Es ist wohl eher ein Problem, statische, globale Kennwörter zu haben, die von allen geteilt werden, als dass nur ein Token für die Eingabe erforderlich ist. Schließlich erfordern die meisten anderen Systeme (Dienste, Appliances usw.) keine zweite Authentifizierungsebene und werden daher im Allgemeinen nicht als unsicher eingestuft.
OK, das ist meine Meinung zum Thema. Sie müssen selbst entscheiden, ob dies in Anbetracht Ihrer eigenen Sicherheitshaltung sinnvoll ist. Kommen wir zur Sache.
Cisco verlangt (mit Bedacht), dass Sie standardmäßig ein RAS-Kennwort festlegen. Wenn Sie in den Leitungskonfigurationsmodus gelangen ...
... Sie können den Router anweisen, die Authentifizierung zu überspringen:
... und sofort gehackt werden, aber Ihr Angreifer wird im Benutzermodus enden. Wenn Sie also ein Aktivierungskennwort festgelegt haben, haben Sie zumindest den Schaden, der angerichtet werden kann, etwas begrenzt. (Technisch gesehen können Sie ohne ein Aktivierungskennwort auch nicht weiter gehen . Mehr dazu gleich ...)
Natürlich würde das niemand im wirklichen Leben tun. Ihre Mindestanforderung ist, standardmäßig und aus gesundem Menschenverstand, ein einfaches Passwort festzulegen:
Nun werden Sie nach einem Passwort gefragt und gelangen wieder in den Benutzermodus. Wenn Sie über die Konsole hereinkommen, können Sie einfach
enable
eingeben, um Zugriff zu erhalten, ohne ein anderes Kennwort eingeben zu müssen. Bei Telnet sieht das anders aus, wo Sie wahrscheinlich stattdessen folgendes erhalten:Weiter ... Sie wissen wahrscheinlich bereits, dass standardmäßig alle Ihre konfigurierten Passwörter als einfacher Text angezeigt werden:
Dies ist eines jener Dinge, die den Schließmuskel des Sicherheitsbewusstseins festigen. Ob es sich um berechtigte Angst handelt, müssen Sie selbst entscheiden. Wenn Sie auf der einen Seite ausreichend Zugriff haben, um die Konfiguration anzuzeigen, haben Sie wahrscheinlich ausreichend Zugriff, um die Konfiguration zu ändern . Auf der anderen Seite, wenn Sie aufgedeckt haben passieren zu nachlässig Ihre Konfiguration an jemanden, der nicht die Mittel haben , sich, dann ... na ja, jetzt sind sie noch die Mittel haben.
Glücklicherweise ist diese erste Zeile im obigen Snippet
no service password-encryption
der Schlüssel, um Folgendes zu ändern:Wenn Sie sich nun die Konfiguration ansehen, sehen Sie Folgendes:
Dies ist geringfügig besser als Klartext-Passwörter, da die angezeigte Zeichenfolge nicht einprägsam genug ist, um über die Schulter zu surfen. Es ist jedoch trivial zu entschlüsseln - und ich verwende diesen Begriff hier locker. Sie können die oben stehende Zeichenfolge buchstäblich in einen von zwölf JavaScript-Kennwortcrackern auf der ersten Google-Ergebnisseite einfügen und den Originaltext sofort wiederherstellen.
Diese sogenannten "7" -Passwörter werden im Allgemeinen eher als "verschleiert" als als "verschlüsselt" betrachtet, um die Tatsache hervorzuheben, dass sie kaum besser als nichts sind.
Es stellt sich jedoch heraus, dass all diese
password
Befehle veraltet sind. (Oder wenn nicht, sollten sie es sein.) Deshalb haben Sie die folgenden zwei Möglichkeiten:Die geheime Version ist mit einem Einwegalgorithmus gehasht, was bedeutet, dass der ursprüngliche Text nur mit Brute-Force-Methoden wiederhergestellt werden kann. Dies bedeutet, dass alle möglichen Eingabezeichenfolgen ausprobiert werden, bis der bekannte Hash generiert wird.
Wenn Sie das Kennwort an der Eingabeaufforderung eingeben, durchläuft es denselben Hash-Algorithmus und sollte daher denselben Hash generieren, der dann mit dem in der Konfigurationsdatei verglichen wird. Wenn sie übereinstimmen, wird Ihr Passwort akzeptiert. Auf diese Weise ist dem Router der Klartext nur in dem kurzen Moment bekannt, in dem Sie das Kennwort erstellen oder eingeben. Hinweis: Es besteht immer die Möglichkeit, dass eine andere Eingabe denselben Hash generiert, aber statistisch gesehen handelt es sich um eine sehr geringe (zu vernachlässigende) Wahrscheinlichkeit.
Wenn Sie die obige Konfiguration selbst verwenden, lässt der Router die
enable password
undenable secret
-Leitungen zu, das Geheimnis gewinnt jedoch über die Passwortabfrage. Dies ist einer dieser Cisco-Ismen, der wenig Sinn macht, aber so ist es. Darüber hinaus gibt es imsecret
Leitungskonfigurationsmodus keinen entsprechenden Befehl, sodass Sie dort an verschleierten Passwörtern festhalten.Okay, wir haben jetzt ein Passwort, das nicht (einfach) aus der Konfigurationsdatei wiederhergestellt werden kann - aber es gibt immer noch ein Problem. Es wird im Klartext übertragen, wenn Sie sich über Telnet anmelden. Nicht gut. Wir wollen SSH.
SSH, das mit Blick auf eine robustere Sicherheit entwickelt wurde, erfordert ein wenig zusätzliche Arbeit - und ein IOS-Image mit einem bestimmten Funktionsumfang. Ein großer Unterschied ist, dass ein einfaches Passwort nicht mehr ausreicht. Sie müssen zur benutzerbasierten Authentifizierung wechseln. Und wenn Sie schon dabei sind, richten Sie ein Verschlüsselungsschlüsselpaar ein:
Jetzt kochst du mit Gas! Beachten Sie, dass dieser Befehl
secret
Kennwörter verwendet. (Ja, Sie können, aber sollten nicht verwendenpassword
). Mit diesemprivilege 15
Teil können Sie den Benutzermodus vollständig umgehen. Wenn Sie sich anmelden, wechseln Sie direkt in den privilegierten Modus:In diesem Szenario muss kein Aktivierungskennwort (oder Geheimnis) verwendet werden.
Wenn Sie noch nicht darüber nachdenken, "wow ... was für ein Clusterfudge das war", denken Sie daran, dass sich hinter dem Befehl noch ein ganz anderer langatmiger Post verbirgt , in
aaa new-model
dem Sie sich mit Dingen wie externen Authentifizierungsservern (RADIUS) befassen können , TACACS +, LDAP usw.), Authentifizierungslisten (die die zu verwendenden Quellen definieren und in welcher Reihenfolge), Berechtigungsstufen und Benutzeraktivitätsabrechnung.Bewahren Sie das alles für eine Zeit auf, in der Sie das Gefühl haben, für eine Weile von Ihrem Router ausgeschlossen zu werden.
Ich hoffe, das hilft!
quelle
enable
und es funktioniert. Wenn ich einen Benutzernamen mit der Berechtigung 15 habe, muss ich außerdem enable eingeben. Liegt das an einem neuen Modell?Ja, Sie müssen es auf etwas einstellen. So funktioniert das iOS. Sie können es wie Ihr Anmeldekennwort festlegen, wenn Sie möchten.
Für mehrere Benutzer empfehle ich, die AAA-Authentifizierung einzurichten, damit Sie direkt in den Aktivierungsmodus wechseln können, ohne ein anderes Kennwort eingeben zu müssen. Außerdem können Sie die Aktivität einzelner Administratoren verfolgen. (Sie müssen das geheime Aktivierungskennwort jedoch noch auf einen Wert festlegen.)
quelle
aaa authorization exec default local
, um privilegierte exec automatisch einzugeben.Hier die vorhandenen Informationen ergänzen.
enable
Die erste Option zum Festlegen des
enable
Kennworts istenable password
.Wie Sie sehen, ist das Passwort im Klartext gespeichert. Das ist schlimm .
Der zweite ist
enable secret
.Das ist besser . Zumindest haben wir jetzt einen Hash des Passworts. Dies verwendet jedoch immer noch nur gesalzenes MD5, so dass es wahrscheinlich einigermaßen einfach ist, mit einer großen Wortliste und openssl zu knacken.
Die dritte Option (und der Zweck dieser Antwort)
enable algorithm-type
ermöglicht die Verwendung von PBKDF2 oder SCRYPT.Das ist definitiv das Beste .
Philip D'Ath hat eine nette Zusammenfassung darüber geschrieben, warum er sich für Typ 9 entschieden hat. Thomas Pornin und Ilmari Karonen geben ausführlichere Informationen.
quelle
Es ist im Grunde eine zusätzliche Sicherheitsebene. Wenn Sie keine Version von IOS haben, die die Dienstkennwortverschlüsselung unterstützt, werden nur Aktivierungskennwörter verschlüsselt, während die Konsolen- und VTY-Kennwörter Klartext sind. Wenn jemand in der Lage wäre, eine Kopie Ihrer Konfiguration abzurufen (z. B. von einem Backup oder einem unbeaufsichtigten Computer, der angemeldet war), würde das verschlüsselte Aktivierungskennwort die Kontrolle über Ihren Router erschweren, selbst wenn er ein Telnet durchführen kann.
Selbst mit verschlüsselten VTY- und Konsolenkennwörtern sollten Sie immer noch ein anderes Aktivierungskennwort haben, um auf der sicheren Seite zu sein und eine zusätzliche Barriere zu bieten.
quelle
1 der 2 admin users.cisco's herunterfahren ist sehr genau von jedem, jedem, jedem möglichen Hack-Einstiegspunkt via Connect. Mit zwei Admins. Verbunden Der Cisco glaubt, dass auch ein Eindringling verbunden ist, und blockiert den weiteren Fortschritt ohne ordnungsgemäße Anmeldung. Sobald die Kontrolle wieder hergestellt ist, sollten Sie in der Lage sein, Administratoren hinzuzufügen
quelle