Uwierzytelnianie w Cisco IOS – bezpieczeństwo haseł

Przy okazji omawiania lokalnych haseł, warto wspomnieć również o sposobach, jakimi są one zabezpieczane. Zacznijmy od haseł użytkowników ustawianych poleceniem

Router(config)# username adam password cisco

Takie hasła NIE SĄ w żaden sposób szyfrowane. Można je bez problemu odczytać w konfiguracji ponieważ przechowywane są w postaci czystego tekstu.
Bardziej bezpieczne jest polecenie

Router(config)# username adam secret cisco

, które sprawia, że hasło przechowywane jest w postaci szyfrowanej (type-5, o czym za chwilę).

Możemy również zabezpieczyć i zaszyfrować wszystkie pisane otwartym tekstem hasła na używamy do tego komendy:

Router(config)# service password-encryption

Dzięki niemu wszystkie widoczne hasła zostaną zaszyfrowane prostym algorytmem. W taki sposób otrzymujemy hasła nazywane jako type-7. Jak przyznaje samo Cisco, hasła zabezpieczone w taki sposób bardzo prosto da się odzyskać/poznać. Tak naprawdę szyfrowanie służy w tym przypadku do ochrony przed wścibskimi spojrzeniami zza pleców admina, każdy nieco bardziej zmotywowany „kraker” złamie takie hasło w kilkanaście sekund, używając dostępnych w internecie deszyfratorów. Mimo tego i tak warto włączyć szyfrowanie, choćby dlatego żeby przypadkowy user nie dowiedział się, że używamy hasła dupa.8 ;).

Hasła type-7 można również odszyfrować sobie samemu na routerach Cisco z wykorzystaniem komendy key-chain. W miejsce pogrubienia wstawiamy hasło type-7 w postaci zaszyfrowanej.

Router(config)#
Router(config)#key chain decrypt
Router(config-keychain)#key 1
Router(config-keychain-key)#key-string 7 104D000A061811021F0725
Router(config-keychain-key)#do show key chain decrypt
Key-chain decrypt:
key 1 — text „ciscocisco”
accept lifetime (always valid) – (always valid) [valid now]
send lifetime (always valid) – (always valid) [valid now]

Prawda, że proste?

Przejdźmy zatem do haseł trybu enable. Ustawiając je możemy użyć również dwóch komend enable password lub enable secret, robią one prawie to samo, z drobna różnicą. W pierwszym przypadku hasło zostają „zaszyfrowane” (po tym co napisałem wcześniej, myślę, że napisanie w cudzysłowiu jest jak najbardziej na miejscu ;)) tym samym algorytmem co hasła użytkowników, czyli type-7. W drugim, to hasło type-5 – jest zaszyfrowane posolonym algorytmem MD5. W tym przypadku złamanie go jest zadaniem dość karkołomnym i czasochłonnym. Można próbować metod słownikowych lub bruteforce. Komenda enable password jest cały czas dostępna w IOSach, ale Cisco zdecydowanie zaleca stosowanie enable secret.

Wraz z wypuszczeniem IOS-a w wersji 15, zaszły pewne zmiany w sposobie zabezpieczeń. Został wprowadzony nowy typ szyfrowania tzw. type-4, wykorzystywany do tego celu jest algorytm SHA256 z solą. Miał być bezpieczniejszą alternatywą dla Type-5 i uodparniać je na ataki brute-force. Okazało się jednak niedawno, że hasła type-4 zostały niepoprawnie zaimplementowane i w obecnej wersji są mniej bezpieczne niż type-5. Więcej szczegółów znaleźć możecie w oficjalnej odpowiedzi Cisco.

Przeczytaj także...

Dodaj komentarz