Pull to refresh

Основы основ безопасности в Cisco сетях

Всем доброго здравия!

Не так давно начал самостоятельное обучение к сертификации по курсу Cisco CCNA Security. Дело чрезвычайно интересное и полезное, для тех кто сталкивается в жизни с данным вендором. В этом топике хотелось бы ввести, дорогих хаброжителей, в основы основ безопасности Cisco сетях, на примере железок 3-го уровня. Статья не претендует на роль полноценного мануала по безопасности маршрутизаторов, а лишь дает основные понятия подхода к реализации безопасности в Cisco сетях. Топик будит полезен, как для начинающих админов, так и для гуру администрирования, дабы освежить память. И так, с Вашего позволения, поехали:


Сразу оговорюсь, что теории будит мало, в основном лишь комментарии к редко используемым командам. Для примера, я использовал старенькую/тестовую железку, третьего уровня, 28 серии.

В первую очередь необходимо установить длину используемых паролей, в моем случае эта длина будит равна 10 символам:
R1(config)#security passwords min-length 10

Далее, подготовим роутер, для работы через line console, aux port-ы и line vty.
R1(config)#line console 0
R1(config-line)#password cisco
R1(config-line)#exec-timeout 5 0
R1(config-line)#login
R1(config-line)#logging synchronous

Команда exec-timeout говорит нам о том что, при бездействии пользователя в течении 5-ти минут произойдет процесс разлогирования.
Команда logging synchronous запрещает вывод каких-либо консольных сообщений, которые в свою очередь могут прервать ввод команд в консольном режиме. К сожалению по умолчанию она не включена.

R1(config)#line aux 0
R1(config-line)#password ciscoauxpass
R1(config-line)#exec-timeout 5 0
R1(config-line)#login
R1(config)#line vty 0 4
R1(config-line)#password ciscovtypass
R1(config-line)#exec-timeout 5 0
R1(config-line)#login

Воспользуемся командой service password-encryption для шифрования паролей console, aux и vty.
R1(config)# service password-encryption

Далее, настроим информационные баннеры на маршрутизаторе.
R1(config)#banner motd $Внимание, все Ваши действия записываются. Будте Внимательны$
R1(config)#exit

R1(config)#banner login $Внимание, все Ваши действия записываются. Будте Внимательны$
R1(config)#exit

Создадим пользователей системы:

R1(config)#username user1 password 0 cisco123pass.

Здесь можно выставить password со-значением 0, так как мы уже ввели команду service password-encryption и пароль будит в любом случае хешироваться в MD5. Так же обязательно выставлять каждому новому пользователю secret password:

R1(config)#username user2 secret user123pass
R1(config)#line console 0
R1(config-line)#login local
R1(config-line)#end
R1#exit
R1(config)#line aux 0
R1(config-line)#login local
R1(config-line)#end
R1#exit
R1(config)#line vty 0 4
R1(config-line)#login local
R1(config-line)#end
R1#exit

Еще один маленький штрих:

R1(config)#login block-for 60 attempts 2 within 30

В течении 60 секунд, не будит возможности войти в систему после 2-х неудачных попыток залогиниться. Сконфигурим процесс логирования, при всех возможных попытках доступа в систему:

R1(config)#login on-success log
R1(config)#login on-failure log every 2
R1(config)#exit

Подготовим router для работы с ssh соединениям, для этого создадим пользователя с уровнем привилегий 15 и соответствующими настройками line vty, ключи, ограниченным числом сессий и тайм-аутом для ssh сессий:

R1(config)#username admin privilege 15 secret Cisco12345Admin
R1(config)#line vty 0 4
R1(config-line)#privilege level 15
R1(config-line)#login local
R1(config-line)#transport input ssh
R1(config-line)#exit
R1(config)#crypto key generate rsa general-keys modulus 1024
R1(config)#exit
R1(config)#ip ssh time-out 90
R1(config)#ip ssh maxstartups 2
R1(config)#ip ssh authentication-retries 2
Router(config)#wr

Также, при необходимости существует возможность пробросить на нестандартный ssh порт:

R1(config)#ip ssh port 2009 rotary 9
R1(config)# line vty 4
R1(config)#rotary 9

Проверяем:

R1#ssh -l admin -p 2009 192.168.5.5

Конфигурирование AAA: Administrative Role. Это довольно таки сильный механизм и по ней можно написать отдельную статью. В моем случае будит рассмотрен лишь малая его часть. Включаем ААА:

R1#config t
R1(config)#aaa new-model
R1(config)#exit

Включаем для пользователя admin, admin view. Для этого должен быть включен secret password, до того как был включен механизм ААА.

R1(config)#enable secret cisco12345
R1(config)#parser view admin
R1(config-view)#
*Dec 16 22:45:27.587: %PARSER-6-VIEW_CREATED: view 'admin’
successfully created.

Note: To delete a view, use the command no parser view viewname.

Сделаем привязку пользователя и пароля:
R1(config-view)#secret admin1pass
R1(config-view)#
R1(config-view)#commands?
-RITE-profile Router IP traffic export profile command mode
-RMI Node Config Resource Policy Node Config mode
-RMI Resource Group Resource Group Config mode
-RMI Resource Manager Resource Manager Config mode
-RMI Resource Policy Resource Policy Config mode
-SASL-profile SASL profile configuration mode
-aaa-attr-list AAA attribute list config mode
-aaa-user AAA user definition
-accept-dialin VPDN group accept dialin configuration mode
-accept-dialout VPDN group accept dialout configuration mode
-address-family Address Family configuration mode

R1(config-view)#commands exec include all show
R1(config-view)#commands exec include all config terminal
R1(config-view)#commands exec include all debug
R1(config-view)#end
R1#enable view admin1
Password:admin1pass

Далее необходимо подготовить IOS железки, что то вроде на её безопасную загрузку и устойчивость.

R1(config)#secure boot-image
%IOS_RESILIENCE-5-IMAGE_RESIL_ACTIVE: Successfully secured running image

R1(config)#secure boot-config
%IOS_RESILIENCE-5-CONFIG_RESIL_ACTIVE: Successfully secured config archive [flash:.runcfg-19930301-00131.ar]

Все это проверяется командами:
R1#show flash
R1#show secure bootset

Конфигурим службу syslog на маршрутизаторе. Для этого нам понадобится Kiwi Syslog Daemon или Tftpd32 на отдельном PC, с настройками данных программ, думаю не должно возникнуть особых сложностей, там в принципе все просто. Так же необходимо будит поднять NTP сервер на routre, для синхронизации времени логов.

R1(config)#ntp server 10.1.1.2
R1(config)#ntp update-calendar
R1#show ntp associations
R1#debug ntp all
R1(config)#service timestamps log datetime msec
R1(config)#logging 192.168.1.3

Далее выставляем уровень логирования:

R1(config)#logging trap?

Severity level Keyword Meaning
0 emergencies System unusable
1 alerts Immediate action required
2 critical Critical conditions
3 errors Error conditions
4 warnings Warning conditions
5 notifications Normal but significant condition
6 informational Informational messages
7 debugging Debugging messages

Обычно выбирается уровень 4. Но все зависит от конкретной ситуации.

Ну вот в принципе пока все. Это то что мне удалось узнать из первых уроков курса и ПРОВЕРИТЬ в «боевых» условиях. Надеюсь, что не сильно утомил.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.