Как стать автором
Обновить

Про опасность и безопасность в сетях Cisco

Время на прочтение6 мин
Количество просмотров19K
image

В современном мире безграничной власти технологий все больше и больше внимания уделяется конфиденциальности, целостности и доступности хранимых или передаваемых данных. И это понятно, ибо кто захочет, чтобы информация, которая считается личной или секретной досталась третьим лицам или (не дай Бог) конкурентам или даже врагам.

Так что же такое защищенная информация в области сетей передачи данных? Абсолютно защищенной сети не бывает и быть не может и полностью защищенной она может считаться, вероятно, только если отключить каждое устройство от сети (или даже, пожалуй, лучше вообше выключить, для надежности). Но кому нужна такая сеть, данные в которой не передаются? Верно, никому. Таким образом, встает вопрос о том как же сделать её максимально защищенной, учтя вместе с тем все те возможные уязвимости, снова и снова подкидываемые нам производителями (софт/хард)вара.

В этой статье я расскажу/покажу некоторые нюансы настройки устройств Cisco таким образом, чтобы иметь возможность контролировать кто имеет доступ к этим устройствам, как к одним из основных узлов сети, и какого, собственно говоря, этот доступ будет рода.


Три основных подтемы:



— Настройка доступа «по ролям»

где будет рассказано про так называемые views, которые определяют какие именно команды могут быть использованы (читай «доступны») для того или иного авторизовавшегося пользователя

— Средства повышения безопасности процесса авторизации

где будет рассказано про улучшения, которые можно привнести в процесс авторизации пользователей, как то сколько попыток ввода неверных данных может быть произведено, логирование процесса авторизации и т.д.

— Защита образов IOS и существующих файлов конфигурации

где будет рассказано про возможности защиты и восстановление удаленных IOS и файла конфигурации, да-да, и такое бывает.




1. Настройка доступа «по ролям».

Итак, простым языком говоря, настройка доступа «по ролям» позволяет Вам создать профили второстепенных администраторов для конфигурируемых устройств с ограниченным доступом и набором команд.

Процесс создания view (шаблона профиля):

— Включить ААА (Authorization, Authentication, Accounting)

Router(config)#aaa new-model

— Включить Root View (режим, находящийся на ступень выше Privilege Mode, именно из него и только из него можно создать другие view-шаблоны)

Router#enable view
note: после выполнения вышеуказанной команды устройство запросит secret пароль при попытке войти в root view, который может быть предварительно установлен с помощью команды: enable secret [password]. После выполнения должно появиться соответствующее сообщение консоли типа:
*Oct 17 20:53:57.203: %PARSER-6-VIEW_SWITCH: successfully set to view 'root'.

— Создать новый(-е) View

(создадим, к примеру, один view-шаблон ST_ONLY, с доступом только до команд, начинающихся с «show...» и “telnet…”, а также view-шаблон SP_ONLY c доступом до команд «show…» и «ping») и присвоить созданному View пароль (заметьте, не пользователю, а именно view-шаблону) и набор доступных команд
Router(config)#parser view ST_ONLY
*Oct 17 20:58:12.943: %PARSER-6-VIEW_CREATED: view 'S_ONLY' successfully created.
Router(config-view)#secret pass2st
Router(config-view)#commands exec include all show
Router(config-view)#commands exec include all telnet
Router(config)#parser view SP_ONLY
*Oct 17 21:00:12.771: %PARSER-6-VIEW_CREATED: view 'SP_ONLY' successfully created.
Router(config-view)#secret pass2sp
Router(config-view)#commands exec include show
Router(config-view)#commands exec include ping

Теперь, в случае, когда это необходимо, можно создать так называемый super view, объединяющий в себе несколько других, простых view-шаблонов:
Router(config)#parser view SUP_VIEW superview
Router(config-view)#secret pass2sview
Router(config-view)#view ST_ONLY
Router(config-view)#view SP_ONLY

После этого можно создать пользователей локальной базы устройства. Каждому созданному пользователю присваивается свой view по умолчанию, команды которого и будут доступны этому пользователю:
Router(config)#username st_admin view ST_ONLY secret cisco1
Router(config)#username sp_admin view SP_ONLY secret cisco2
Router(config)#username sview_admin view SUP_VIEW secret cisco3

Полный пример рабочей конфигурации:


Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#aaa new-model
Router(config)#enable secret supersecretciscopassword
Router(config)#exit
*Oct 17 21:13:37.511: %SYS-5-CONFIG_I: Configured from console by console
Router#enable view
Password:
Router#
*Oct 17 21:13:56.035: %PARSER-6-VIEW_SWITCH: successfully set to view 'root'.
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#parser view ST_ONLY
*Oct 17 21:14:41.699: %PARSER-6-VIEW_CREATED: view 'ST_ONLY' successfully created.
Router(config-view)#secret pass2st
Router(config-view)#commands exec include all show
Router(config-view)#commands exec include all telnet
Router(config-view)#exit
Router(config)#
Router(config)#parser view SP_ONLY
*Oct 17 21:15:32.279: %PARSER-6-VIEW_CREATED: view 'SP_ONLY' successfully created.
Router(config-view)#secret pass2sp
Router(config-view)#commands exec include all show
Router(config-view)#commands exec include all ping
Router(config-view)#exit
Router(config)#
Router(config)#parser view SUP_VIEW superview
*Oct 17 21:16:31.783: %PARSER-6-SUPER_VIEW_CREATED: super view 'SUP_VIEW' successfully created.
Router(config-view)#secret pass2sview
Router(config-view)#view ST_ONLY
*Oct 17 21:17:39.451: %PARSER-6-SUPER_VIEW_EDIT_ADD: view ST_ONLY added to superview SUP_VIEW.
Router(config-view)#view SP_ONLY
*Oct 17 21:17:44.083: %PARSER-6-SUPER_VIEW_EDIT_ADD: view SP_ONLY added to superview SUP_VIEW.
Router(config-view)#exit
Router(config)#username st_admin view ST_ONLY secret cisco1
Router(config)#username sp_admin view SP_ONLY secret cisco2
Router(config)#username sview_admin view SUP_VIEW secret cisco3
Router(config)#aaa authentication login default local
Router(config)#aaa authorization exec default local
Router(config)#aaa authorization console
Router(config)#exit
Router#wr
Building configuration…

*Oct 17 21:23:19.771: %SYS-5-CONFIG_I: Configured from console by console[OK]
Router#

Теперь, после авторизации пользователи st_admin, sp_admin и sview_admin имеют весьма ограниченное количество команд:



User Access Verification

Username: st_admin
Password:

Router>?
Exec commands:
enable Turn on privileged commands
exit Exit from the EXEC
show Show running system information
telnet Open a telnet connection


Router> User Access Verification

Username: sp_admin
Password:

Router>?
Exec commands:
enable Turn on privileged commands
exit Exit from the EXEC
ping Send echo messages
show Show running system information


Router> User Access Verification

Username: sview_admin
Password:

Router>?
Exec commands:
enable Turn on privileged commands
exit Exit from the EXEC
ping Send echo messages
show Show running system information
telnet Open a telnet connection



2. Средства повышения безопасности процесса авторизации

image

В этой части я приведу набор команд, имеющих своей целью повысить безопасность процесса авторизации пользователей на устройстве Cisco и кратко объясню их назначение.

Полностью выключает возможность авторизации на устройстве на заданное кол-во времени {sec1} после определенного кол-ва {num} неудачных попыток в течение взятого промежутка времени {sec2}.
Router(config)#login block-for {sec1} attempts {num} within {sec2}

Разрешает заданной листом доступа группе устройств доступ до роутера даже в том случае, если возможность авторизации заблокирована предыдущей командой «login block-for…». То есть другими словами — в случае, когда злоумышленник перебором пытается подобрать пароль, чтобы мы сами все равно могли иметь возможность авторизироваться.

Router(config)#access-list 10 permit 10.0.0.0
Router(config)#login quite-mode access-class 10

Задает интервал между попытками авторизации в секундах {sec}.
Router(config)#login delay {sec}

Логирование неудачных / удачных попыток авторизации в SYSLOG.
Router(config)#login on-failure log every {num}
Router(config)#login on-success log every {num}

Минимальная длина пароля, допустимая при смене пользователем пароля.
Router(config)#security password min-length {num}

Тайм-аут, по истечении которого пользователь «выкидывается» из системы.
Router (config-line)#exec-timeout {min} {sec}

Шифрование сохраненных в конфигурации паролей.
Router(config)#service password-encryption

3. Защита образа IOS и существующих файлов конфигурации

image
В случае если кто-то все же залогинился в устройство и стер IOS и файл конфигурации, может привести к достаточно долгому даунтайму (пока IOS скачать, пока бекап конфига найти, если он есть), в определенных сферах деятельности просто недопустимому.

Две команды-спасителя, встречайте:

Эта команда включает защиту IOS (создает неудаляемую копию IOS)
Router(config)#secure boot-image

Эта команда включает защиту файла конфигурации (создает неудаляемую копию startup-config)
Router(config)#secure boot-config
note: для возможности восстановить ISO необходим роутер с PCMCIA слотом

В режиме rommon указываем устройству грузиться с PCMCIA и имя образа
rommon>boot slot: c3745-js2-mz.bin
Восстанавливаем конфигурацию устройства во временный файл
Router(config)#secure boot-config restore flash:rescue-cfg
копируем временный файл в файл конфигурации и после этого
Router#copy flash:rescue-cfg startup-config
и перезагружаемся.

Данная статья написана под впечатлением от просмотра CCNA Security CBT_Nuggets для обобщения и систематизации знаний, а также для последующей подготовки к экзаменам.
Теги:
Хабы:
Всего голосов 31: ↑29 и ↓2+27
Комментарии14

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань