Een niet-Cisco bron heeft een programma uitgebracht om gebruikerswachtwoorden (en andere wachtwoorden) te decrypteren in Cisco-configuratiebestanden. Het programma zal geen wachtwoorden decrypteren die met de bekwame geheime opdracht zijn ingesteld. De onverwachte zorg die dit programma onder Cisco-klanten heeft veroorzaakt, heeft ons ertoe gebracht te vermoeden dat veel klanten vertrouwen op de wachtwoordencryptie van Cisco voor meer veiligheid dan het is ontworpen om te verstrekken. Dit document verklaart het beveiligingsmodel achter de Cisco-wachtwoordencryptie en de beveiligingsbeperkingen van die encryptie.
Opmerking: Cisco raadt aan dat alle Cisco IOS-apparaten de verificatie, autorisatie en accounting (AAA) beveiligingsmodel implementeren. AAA kan lokale databases, RADIUS en TACACS+ gebruiken.
Er zijn geen specifieke vereisten van toepassing op dit document.
Dit document is niet beperkt tot specifieke software- en hardware-versies.
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
De wachtwoorden van de gebruiker en de meeste andere wachtwoorden (geen geheimen mogelijk maken) in Cisco IOS configuratiebestanden zijn versleuteld met een schema dat zeer zwak is door moderne cryptografische standaarden.
Hoewel Cisco geen decryptie programma distribueert, zijn minstens twee verschillende decryptie programma's voor de wachtwoorden van Cisco IOS beschikbaar aan het publiek op het internet; de eerste publieke release van een dergelijk programma, waarvan Cisco zich bewust is, was begin 1995. We zouden verwachten dat iedere amateurcryptograaf in staat is om een nieuw programma op te zetten met weinig moeite.
De regeling die door Cisco IOS voor gebruikerswachtwoorden werd gebruikt was nooit bedoeld om een bepaalde, intelligente aanval te weerstaan. Het coderingsschema was ontworpen om wachtwoorddiefstal te voorkomen door simpele snuffelen of snuiven. Het was nooit bedoeld om te beschermen tegen iemand die een wachtwoord-cracking-inspanning deed in het configuratiebestand.
Vanwege het zwakke encryptie-algoritme, is het altijd de positie van Cisco geweest dat klanten elk configuratiebestand dat wachtwoorden bevat als gevoelige informatie moesten behandelen, de zelfde manier zij een klare tekstlijst van wachtwoorden zouden behandelen.
Schakel de opdracht Wachtwoord in. Gebruik het toestel om geheime opdrachten te plaatsen voor een betere beveiliging. Het enige geval waarin de opdracht Enable password kan worden getest, is wanneer het apparaat draait in een beginmodus die geen geheime opdracht ondersteunt.
Schakel geheimen in met het MD5-algoritme. Voor zover iedereen op Cisco weet, is het onmogelijk om geheim te herstellen en mogelijk te maken gebaseerd op de inhoud van een configuratiebestand (anders dan door duidelijke woordenboekaanvallen).
N.B.: Dit is alleen van toepassing op wachtwoorden die ingesteld zijn en geheim zijn en niet op wachtwoorden die ingesteld zijn met een wachtwoord. De sterkte van de gebruikte encryptie is het enige significante verschil tussen de twee opdrachten.
Kijk naar uw beginafbeelding met de opdracht Versie van de show vanuit uw normale werkingsmodus (Full Cisco IOS-afbeelding) om te zien of de beginafbeelding de mogelijkheid voor een geheime opdracht ondersteunt. Als dit wel het geval is, verwijdert u het wachtwoord. Als de opstartafbeelding geen geheimen ondersteunt voor het inschakelen, dient u rekening te houden met de volgende voorbehouden:
Het instellen van een wachtwoord voor het inschakelen is wellicht niet nodig als u fysieke beveiliging hebt, zodat niemand het apparaat opnieuw kan laden met het opstartbeeld.
Als iemand fysieke toegang heeft tot het apparaat, kan hij de apparaatbeveiliging gemakkelijk omkeren zonder dat hij toegang moet hebben tot de laarsafbeelding.
Als u het wachtwoord voor het inschakelen instelt op hetzelfde wachtwoord als het invoersignaal, hebt u het mogelijk gemaakt om het geheim aan te vallen zoals het wachtwoord wordt ingeschakeld.
Als u het wachtwoord voor een andere waarde instelt omdat het opstartbeeld geen geheim ondersteunt, moeten de routerbeheerders zich een nieuw wachtwoord herinneren dat niet vaak wordt gebruikt op ROM's die geheime opdracht niet ondersteunen. Door een afzonderlijk wachtwoord voor het inschakelen van de software te hebben, herinneren de beheerders zich het wachtwoord wellicht niet wanneer het de downtime van een software-upgrade afdwingt, wat de enige reden is om in te loggen op de opstartmodus.
Bijna alle wachtwoorden en andere echtheidskoorden in Cisco IOS configuratiebestanden zijn versleuteld met de zwakke, reversibele regeling die voor gebruikerswachtwoorden wordt gebruikt.
Om te bepalen welk schema gebruikt is om een specifiek wachtwoord te versleutelen, controleert u het cijfer vóór de gecodeerde string in het configuratiebestand. Als dat cijfer een 7 is, is het wachtwoord versleuteld met het zwakke algoritme. Als het cijfer 5 is, is het wachtwoord gehashed met behulp van het sterkere MD5 algoritme.
Bijvoorbeeld in de configuratieopdracht:
enable secret 5 $1$iUjJ$cDZ03KKGh7mHfX2RSbDqP.
Mogelijk is het geheim doorgeslagen met MD5, terwijl in de opdracht:
username jdoe password 7 07362E590E1B1C041B1E124C0A2F2E206832752E1A01134D
Het wachtwoord is versleuteld met het zwakke reversibele algoritme.
Wanneer u configuratieinformatie in een e-mail stuurt, moet u de configuratie vanaf een wachtwoord van het type 7 reinigen. U kunt de opdracht Tech-support van de show gebruiken, waarmee de informatie standaard wordt aangepast. De opdrachtoutput van de technische ondersteuning wordt hieronder weergegeven.
... hostname routerA ! aaa new-model aaa authentication login default local aaa authentication ppp default if-needed local enable secret 5 <removed> ! username jdoe password 7 <removed> username headquarters password 7 <removed> username hacker password 7 <removed> ...
Wanneer u uw configuratiebestanden op een TFTP-server (Trial File Transfer Protocol) opslaat, wijzigt u de rechten op dat bestand wanneer het niet in gebruik is of zet u het achter een firewall.
Cisco heeft geen onmiddellijke plannen om een sterker encryptie algoritme voor Cisco IOS gebruikerswachtwoorden te steunen. Als Cisco zal besluiten om zo'n eigenschap in de toekomst te introduceren, zal die eigenschap beslist een extra administratieve last opleggen aan gebruikers die ervoor kiezen om hiervan gebruik te maken.
Het is in het algemeen niet mogelijk om wachtwoorden van gebruikers te switches naar het MD5-gebaseerde algoritme dat wordt gebruikt om geheimen te blokkeren, omdat MD5 een eenmalige hash is en het wachtwoord helemaal niet kan worden hersteld uit de versleutelde gegevens. Om bepaalde authenticatieprotocollen (met name CHAP) te ondersteunen, heeft het systeem toegang tot de duidelijke tekst van gebruikerswachtwoorden nodig en moet het deze daarom opslaan met een reversibel algoritme.
Belangrijkste beheerkwesties zouden het een onlosmakelijke taak maken om over te gaan naar een sterker reversibel algoritme, zoals DES. Alhoewel het makkelijk zou zijn om Cisco IOS aan te passen om DES te gebruiken om wachtwoorden te versleutelen, zou er geen veiligheidsvoordeel in zijn dat te doen als alle Cisco IOS systemen dezelfde DES-toets gebruiken. Als verschillende toetsen door verschillende systemen gebruikt werden, zou een administratieve last voor alle Cisco IOS netwerkbeheerders geïntroduceerd worden en zou de portabiliteit van configuratiebestanden tussen systemen beschadigd raken. De vraag van de klant naar sterkere reversibele wachtwoordencryptie is klein geweest.