Ні, ви не - технічно. Але чи зможете ви ввімкнути режим включення без нього, залежить від того, як увійти.
Ось миттєва версія задоволення:
Ви можете входити через консоль без пароля для ввімкнення, але ви будете застрягнути в режимі користувача, якщо будете використовувати простий пароль для входу без встановлення пароля для включення.
Ось довговічна версія відповіді StackExchange:
Аутентифікація Cisco - це свого роду безлад для початківця. Там багато застарілого багажу. Дозвольте спробувати розбити це в реальному розумінні.
Кожен, хто має будь-який бізнес, який входить у маршрутизатор або комутатор, переходить безпосередньо до пільгового режиму (включення). Користувацький режим - це в основному переднє фойє, і служить трохи більше, ніж утримати проект. У великих організаціях, де у вас є велика мережа та однаково великий обсяг праці, можливо, виправданим є те, що хтось може стукати у вхідні двері та переконатися, що хтось все ще є. (Тобто, щоб увійти і запустити самі тривіальні команди тільки , щоб бачити , що пристрій, насправді, відповідаючи і не горить.) Але в будь-яких умовах я коли - небудь працював в 1, рівень, по крайней мере , деякою спроможності ламати речі.
Як такий, і особливо у вашому сценарії, знаючи пароль увімкнення, обов'язково потрібно зробити що-небудь. Можна сказати, що це другий рівень безпеки - один пароль для входу на пристрій, інший для переходу до адміністративних привілеїв - але це здається мені трохи нерозумним.
Як уже зазначалося, ви можете (і багато людей) користуватися тим самим паролем, що не дуже допоможе, якщо хтось отримав несанкціонований доступ через telnet / ssh. Маючи статичні глобальні паролі, якими користуються всі, - це, мабуть, більше проблеми, ніж необхідний лише один маркер. Нарешті, для більшості інших систем (сервісів, приладів тощо) не потрібен другий рівень аутентифікації і, як правило, через це не вважають небезпечним.
Гаразд, це моя думка з цієї теми. Вам доведеться вирішити, чи має сенс це з огляду на вашу власну позицію безпеки. Давайте перейдемо до справи.
Cisco (розумно) вимагає встановити пароль віддаленого доступу за замовчуванням. Коли ви переходите в режим конфігурації ліній ...
router> enable
router# configure terminal
router(config)# line vty 0 15
router(config-line)#
... Ви можете сказати маршрутизатору пропустити автентифікацію:
router(config-line)# no login
... і негайно зламаються, але ваш зловмисник опиниться в режимі користувача. Отже, якщо у вас встановлений пароль для ввімкнення, принаймні ви дещо обмежили шкоду, яку можна зробити. (Технічно ви не можете піти далі без пароля включення. Більше про це за мить ...)
Природно, цього в реальному житті ніхто б не робив. Ваша мінімальна вимога за замовчуванням та здоровим глуздом - це встановити простий пароль:
router(config-line)# login
router(config-line)# password cisco
Тепер вам попросять пароль, і ви знову опинитеся в режимі користувача. Якщо ви заходите через консоль, ви можете просто набрати текст, enable
щоб отримати доступ, не вводячи іншого пароля. Але все інакше через telnet, де ви, ймовірно, отримаєте це замість цього:
$ telnet 10.1.1.1
Trying 10.1.1.1...
Connected to 10.1.1.1.
Escape character is '^]'.
User Access Verification
Password: *****
router> enable
% No password set
router>
Переходимо далі ... Ви, мабуть, уже знаєте, що за замовчуванням усі налаштовані паролі відображаються як звичайний текст:
router# show run | inc password
no service password-encryption
password cisco
Це одна з тих речей, яка підтягує сфінктер свідомості про безпеку. Чи це виправдана тривога - це те, що ви повинні вирішити самі. З одного боку, якщо у вас є достатній доступ для перегляду конфігурації, ви, ймовірно, маєте достатній доступ для зміни конфігурації. З іншого боку, якщо вам пощастило мати необережно показав свою конфігурацію , щоб хто - то , хто не має коштів самі, то ... ну, тепер вони дійсно мають кошти.
На щастя, перший рядок у фрагменті вище no service password-encryption
, є ключем до зміни цього:
router(config)# service password-encryption
router(config)# line vty 0 15
router(config-line)# password cisco
Тепер, дивлячись на конфігурацію, ви бачите таке:
router(config-line)# do show run | begin line vty
line vty 0 4
password 7 01100F175804
login
line vty 5 15
password 7 01100F175804
login
!
!
end
Це незначно краще, ніж звичайні текстові паролі, оскільки відображається рядок недостатньо запам'ятовується, щоб переглядати плечі. Однак розшифрувати банально - і я тут дуже часто використовую цей термін. Ви можете буквально вставити цей рядок вище в один з десятків сухарів паролів JavaScript на першій сторінці результатів Google і повернути оригінальний текст негайно.
Ці так звані паролі "7" зазвичай вважаються "затуманеними", а не "зашифрованими", щоб підкреслити той факт, що він ледве краще, ніж нічого.
Як виявляється, однак, усі ці password
команди застарілі. (Або якщо їх немає, вони повинні бути.) Ось чому у вас є такі два варіанти:
router(config)# enable password PlainText
router(config)# enable secret Encrypted
router(config)# do show run | inc enable
enable secret 5 $1$sIwN$Vl980eEefD4mCyH7NLAHcl
enable password PlainText
Секретна версія хеширується одностороннім алгоритмом, тобто єдиний спосіб повернути оригінальний текст - це грубою силою - тобто, намагаючись всі можливі вхідні рядки, поки у вас не вийде генерувати відомий хеш.
Коли ви вводите пароль під запитом, він проходить через той же алгоритм хешування, і тому в кінцевому підсумку повинен генерувати той самий хеш, який потім порівнюється з тим, який у файлі конфігурації. Якщо вони збігаються, ваш пароль буде прийнято. Таким чином, звичайний текст не відомий маршрутизатору, крім випадків, коли ви створюєте або вводите пароль. Примітка. Завжди є ймовірність, що інший вхід може генерувати той же хеш, але статистично це дуже низька (читайте: незначна) ймовірність.
Якщо ви використовували вищевказану конфігурацію самостійно, маршрутизатор дозволить існувати як лінії, так enable password
і enable secret
лінії, але секрет виграє у запиті пароля. Це одна з тих Cisco-систем, яка не має особливого сенсу, але вона є такою, якою вона є. Крім того, немає жодної secret
еквівалентної команди в режимі конфігурації рядка, тому ви застрягли там із заплутаними паролями.
Гаразд, тепер у нас є пароль, який неможливо відновити (легко) з конфігураційного файлу - але все ж є одна проблема. Він передається простим текстом, коли ви входите через telnet. Не добре. Ми хочемо SSH.
SSH, розроблений з більш надійною безпекою, вимагає трохи додаткової роботи - і зображення IOS з певним набором функцій. Одна велика різниця полягає в тому, що простий пароль вже не достатньо хороший. Вам потрібно перейти на автентифікацію на основі користувачів. І поки ви перебуваєте в ньому, налаштуйте пару ключів шифрування:
router(config)# username admin privilege 15 secret EncryptedPassword
router(config)# line vty 0 15
router(config-line)# transport input ssh
router(config-line)# no password
router(config-line)# login local
router(config-line)# exit
router(config)# ip ssh version 2
router(config)# crypto key generate rsa modulus 1024
Тепер ви готуєте з газом! Зауважте, що ця команда використовує secret
паролі. (Так, можна, але не слід використовувати password
). privilege 15
Частина дозволяє обійти призначений для користувача режим повністю. Після входу в систему ви переходите безпосередньо до пільгового режиму:
$ ssh admin@10.1.1.1
Password: *****
router#
У цьому сценарії немає необхідності використовувати пароль для ввімкнення (або секретний).
Якщо ви ще не думав, «вау ... яка clusterfudge , що було», мати на увазі , що є цілий інший багатослівно пост ще ховається за командою aaa new-model
, де ви можете зануритися в такі речі , як зовнішні сервери аутентифікації (RADIUS , TACACS +, LDAP тощо), списки автентифікації (які визначають джерела для використання та в якому порядку), рівні авторизації та облік активності користувачів.
Збережіть все це на час, коли ви хочете на деякий час заблокувати його з маршрутизатора.
Сподіваюся, що це допомагає!