Розуміння основ
Обмеження доступу до конфігураційних файлів пристроїв
Для захисту доступу до привілейованого режиму використовуйте команду enable secret
password . Застаріла, менш безпечна версія цієї команди. enable password
password . Хоча для налаштування автентифікації перед доступом до привілейованого режиму підходять обидві команди, рекомендується використовувати enable secret . Команда enable secret забезпечує вищий рівень безпеки, оскільки пароль зашифровано.
Приклад команди для встановлення паролів:
Switch(config)# enable secret class
Приклад малюнку показує, що з першому використанні команди enable пароль не потрібний. Далі потрібно ввести команду enable secret class , і доступ до привілейованого режиму буде захищено. Зверніть увагу, що з метою безпеки пароль під час введення не відображається.
Як встановити пароль на привілейований режим Cisco?
Спочатку слід пояснити значення деяких термінів.
enable secret - пароль на вхід у режим enable (привілейований режим), який зберігається у маршрутизаторі у зашифрованому вигляді.
enable password - те саме, але зберігається в незашифрованому вигляді.
virtual terminal password - пароль віртуального терміналу або пароль Telnet. Якщо він заданий, будь-який користувач, який спробує отримати доступ до маршрутизатора за протоколом Telnet, повинен буде ввести цей пароль.
Тепер про основні операції з користувачами та авторизацією.
Команда видаляє обліковий запис oldusername:
no username oldusername
Команда створює новий обліковий запис:
username ciadmin privilege 15 secret NEWPASSWORD
Команда змінює пароль для існуючого облікового запису, причому рівень privilege зберігається старим:
username ciadmin secret NEWPASSWORD
Наступна команда змінює пароль режиму enable. Замість enable secret можна вказати enable password, що те саме, але пароль зберігається в незашифрованому вигляді:
enable secret NEWPASSWORDSECRET
Наступні два рядки включають авторизацію по логіну та паролю перед введенням пароля enable. Другий рядок включає метод аутентифікації local, який використовує базу даних aaa.
aaa new-model//дозволяє модель контролю доступу aaa aaa authentication login default local
Наступна команда дає можливість відразу після логіну через мережу увійти в привілейований режим, не вводячи команду enable (якось незрозуміло написано в посібнику - "запускає авторизацію, щоб визначити, чи дозволено користувачеві запускати шелл EXEC").
aaa authorization exec default local
Якщо в конфігурації вказано ці три рядки (aaa new-model, aaa authentication login default local, aaa authorization exec default local), то для входу в режим enable через мережеве з'єднання буде запропоновано лише логін та пароль користувача (потрібно ввести логін та пароль користувача з рівнем привілеїв 15), якщо законнектиться через консольний порт (RS232), додатково потрібно ввести ще ключове слово enable і пароль enable secret. Якщо ж 3 ці рядки не вказані, то для входу в привілейований режим через консоль достатньо ввести лише логін та пароль користувача з рівнем 15.
Тут змінюється пароль на vpn-клієнт (група vpnaccess):
tunnel-group vpnaccess ipsec-attributes pre-shared-key *
Команда, яка показує паролі enable в конфізі в (відкритому)закритому вигляді:
(no) service password-encryption
Зміна пароля користувача на ASA через Cisco ASDM 5.1: Configuration -> Properties -> Device Administration -> User Accounts, вибираємо користувача, натискаємо кнопку Edit.
Види паролів Cisco
Для захисту пристроїв cisco від несанкціонованого доступу використовують кілька видів паролів. У курсі CCNA розглядається налаштування паролів на консоль, паролів на підключення по telnet та ssh, а також пароль для доступу до привілейованого режиму роботи пристрою. Паролі налаштовуються однаково для маршрутизаторів і комутаторів.
Пароль на консоль
При підключенні до пристрою через консольний провід необхідно ввести пароль. За промовчанням пароль на консоль відсутній. Треба розуміти, що фізична безпека пристрою є найважливішим аспектом захисту, оскільки маючи фізичний доступ до консольного порту, навіть не знаючи пароля його можна скинути. Докладніше про це у статті "Скидання пароля на маршрутизаторі Cisco". Пароль на консоль задається так:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#line console 0 Router(config-line)#password MyPassword Router(config-line)#login Router(config-line)#exit Router(config)#exit Router#
Необхідно зайти в режим глобальної конфігурації, зайти в режим налаштування консолі (line console 0), де 0 - це порядковий номер консолі. Зазвичай на всіх пристроях консольний порт один і він має номер 0. У цьому режимі задається пароль за допомогою команди password, потім необхідно ввести слово login, щоб дозволити вхід під вказаним паролем. Після цього при підключенні консолі буде виводитися наступне запрошення:
Press RETURN to get started. User Access Verification Password:
Де потрібно ввести вказаний пароль. Під час введення символів пароля не відображаються.
Пароль на Telnet та SSH
Доступ за протоколами telnet або ssh може бути здійснений тільки після того, як на пристрої налаштована якась ip-адреса, а також задані паролі. Це важлива відмінність від доступу по консолі. Якщо паролі не задані, то по консолі можна зайти без пароля, а Telnet або SSH зайти не можна – буде видано повідомлення, що поки немає пароля, віддалений вхід заборонено.
Задаються паролі так:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#line vty 0 4 Router(config-line)#password MyPassword Router(config-line)#login Router(config-line)#exit Router(config)#exit Router#
Процедура аналогічна налаштуванню пароля на консоль, тільки дії виконуються не в режимі конфігурування консолі (con 0), а в режимі налаштування віртуальних терміналів (vty 0 4), де цифри «0» і «4» слід трактувати як «Перейти в режим конфігурування всіх віртуальних терміналів з нульового до четвертого». Зазвичай для telnet-а використовуються саме ці 5 віртуальних терміналів. Якщо один термінал зайнятий підключенням, людина підключиться до наступного вільному. Цей пароль буде працювати і для доступу по SSH, якщо сам SSH налаштований.
Пароль на привілейований режим
Цей важливий пароль використовується для переходу з режиму користувача до привілейованого. Докладніше про режими можна прочитати у відповідній статті. При вході на пристрій, незалежно від того, робимо ми це через VTY або через консоль, ми потрапляємо в режим користувача. Далі можна здійснити перехід у привілейований. Якщо задано пароль на привілейований режим, то його потрібно ввести, якщо не заданий - все залежить від того способу, за яким ми підключилися до пристрою. При підключенні по консолі та відсутньому паролі на enable, перехід у привілейований режим відбудеться без введення пароля, якщо доступ здійснюється через Telnet або SSH, то без пароля на enable, нас в цей режим не пустять якщо пароль не заданий. З цієї причини початкове налаштування маршрутизатора завжди проводиться через консоль і повинно включати завдання всіх необхідних паролів.
Пароль на enable можна задати двома різними командами, обидві з яких вводяться в режимі глобальної конфігурації:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#enable password MyEnablePassword Router(config)#exit Router#
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#enable secret SecretPassword Router(config)#exit Router#
Обидві команди не треба вводити. Або enable password, або enable secret.Різниця між ними полягає в тому, що друга команда зберігає пароль у зашифрованому вигляді і його не можна відновити, дивлячись на файл конфігурації. Якщо ж застосовувати enable password, то пароль зберігатиметься у конфізі у відкритому вигляді. Таким чином, краще завжди використовувати enable secret, а enable password – скоріше збережена для зворотної сумісності між версіями IOS. Якщо ви раптом застосуєте обидві команди одночасно, то буде працювати пароль, який заданий за допомогою enable secret.
Щоб було зрозуміло, про що йдеться, давайте переглянемо конфігурацію пристрою за допомогою команди show running-config:
Router#show running-config Building configuration. Current configuration : 592 bytes ! version 12.4 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname Router! ! ! enable secret 5 $1$mERr$KnP4XAeHLfyk/RPXMCetr0 enable password MyEnablePassword …
Як очевидно з висновку, пароль, заданий enable password видно відкритим текстом, а з допомогою enable secret – не видно.
Служба шифрування паролів
У будь-якому випадку, паролі, задані для доступу по telnet або через консоль видно відкритим текстом, нижче наведено шматок виводу команди show running-config:
Router#show running-config … line vty 0 4 password MyPassword login …
Для того, щоб приховати і ці паролі, потрібно включити службу шифрування паролів:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#service password-encryption Router(config)#exit Router# %SYS-5-CONFIG_I: Configured from console by console Router#show running-config Building configuration. … enable secret 5 $1$mERr$KnP4XAeHLfyk/RPXMCetr0 enable password 7 080C556B0718071B173B0D17393C2B3A37 … line vty 0 4 password 7 080C557E080A16001D1908 login …
Як видно, після застосування команди service password-encryption всі паролі в конфігураційному файлі, включаючи enable password, пароль на консоль і пароль на telnet, починають зберігатися в зашифрованому вигляді. Цю команду рекомендується завжди включати в базове налаштування пристроїв cisco.