Базовая настройка безопасности Cisco

Лист не претендует ни то что на полноту информации, более того - даже на корректность.Все настройки базовой безопасности не расписаны, практически - лишь перечислены возможности и функции защиты. По мере времени и возможности буду дополнять и/или исправлять. О найденных недочетах можно писать ЛС.

Включить-настроить ssh, отключить телнет

  • Войдите в режим конфигурации

router>enable
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.

  • Назначьте имя конфигурируемому устройству

router(config)#hostname SSH_ROUTER

  • Создайте хотя бы один пользоватльский и/или администраторский аккаунт

SSH_ROUTER(config)#username cisco priv 15 secret cisco

  • Назначьте устройству имя доменной группы

SSH_ROUTER(config)#ip domain-name company.local

  • Сгенерируйте RSA ключ

SSH_ROUTER(config)#crypto key generate rsa general modul 1024
The name for the keys will be: SSH_ROUTER.company.local
%The key modulus size is 1024 bits% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]SSH_ROUTER(config)#
*Mar 1 00:02:20.251: %SSH-5-ENABLED: SSH 1.99 has been enabled

  • Сконфигурируйте версию, таймаут, логирование и кол-во попыток авторизации

SSH_ROUTER(config)#ip ssh version 2
SSH_ROUTER(config)#ip ssh time-out 60
SSH_ROUTER(config)#ip ssh logging events
SSH_ROUTER(config)#ip ssh authentication-retries 3

  • Включите SSH на нужных VTY

SSH_ROUTER(config)#line vty 0 4
SSH_ROUTER(config-line)#transport input ssh

LINES

можно обеспечить определенный уровень безопасности на vty, auxiliary и console lines выполнив следующие рекомендации:Timeout (session, exec) - время, через которое администратор будет "выкинут" через заданное время неактивности. На Console такое таймаут по умолчанию выключен, - это небезопасно. В большинстве случаев 10-15 минут - это вполне приемлимое значение для этого параметра.

Router(config-line)# session-timeout <minutes>
Router(config-line)# exec-timeout <minutes> [seconds]

Port Speed - скорость консольного порта (т.н. baud rate) может быть увеличена до максимального поддерживаемого значения, по умолчанию значение равно 9600bps и может быть увеличено до 115200bps.

Router(config-line)# speed 115200

Hung session - зависшие сессии можно система может выявить и и закрыть с помощью сервиса

Router(config)# service tcp-keepalives-in

Session Limit - определяет как много sshv2, telnet (или обоих) сессий может быть активно одновременно. По умолчанию этот параметр равен 32, и может быть уменьшен до более практичного с точки зрения безопасности значения 5-10.

Router(config-line)#session-limit 10

Access-List - списки доступа должны быть применены на vty, aux и con порты для обеспечения безопасности путем органичения доступа по таким условиям как отправитель или получатель, административно авторизованные к управлению или настройке устройства. Также хорошей идеей было бы включить логирование подобного доступа в соответствующих списках доступа с помощью ключевого слова log.

access-list <xACL#> deny ip any any log-input!line vty 0 4access-class <ACL#> in

TYPE-7 PASSWORD

Пароли, перед которыми Вы видите цифру 7 - не далеко ушли от clear text и спасают разве что он подсматривания "из-за спины". Где это возможно, используйте, пожалуйста, md5 и service password-encryption.

AAA

Используйте функицонал ААА для организации унифицированной системы доступа к устройству. Хорошей идеей будет использовать централизированную систему авторизации и аутентификации с планом "Б" в виде локальной базы на устройстве.

Router(config)#aaa new-model
Router(config)#aaa authentication login default group tacacs+ local-case
Router(config)#aaa authentication enable default group tacacs+ enable
Router(config)#aaa authorization commands 15 default group tacacs+ local
Router(config)#aaa accounting exec default stop-only group tacacs+
Router(config)#aaa accounting commands 15 default stop-only group tacacs+
Router(config)#aaa accounting network default stop-only group tacacs+

Общая безопасность

Cisco IOS предлагает ряд функций по улучшению общего уровня безопасности устройства:

Минимальная длина пароля:

Router(config)# security passwords min-length length

Частота попыток авторизации - задает интервал между попытками авторизации в секундах {sec}.

Router(config)# login delay <seconds>

Временная блокировка после определенного кол-ва неудачных попыток авторизации с белым листом - полностью выключает возможность авторизации на устройстве на заданное кол-во времени {sec1} после определенного кол-ва {num} неудачных попыток в течение взятого промежутка времени {sec2}, ip адреса обозначенные в соответствующем списке доступа 10 - в "белом листе" и имеют право авторизации даже при блокировке.

Router(config)# access-list 10 permit host 172.26.150.206
Router(config)# login block-for 100 attempts 15 within 100
Router(config)# login quiet-mode access-class 10

Логирование удачных и неудачных попыток авторизации:

Router(config)#login on-failure log every {num}
Router(config)#login on-success log every {num}

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

В случае если кто-то все же залогинился в устройство и стер 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

и перезагружаемся.

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

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

Процесс создания 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 '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)#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 consoleRouter(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 commandsexit
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 commandsexit
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 commandsexit
Exit from the EXEC
ping Send echo messages
show Show running system information
telnet Open a telnet connection

Баннеры

Рекомендуется устанавливать баннеры и уведомления на всех интерактивных сессиях, чтобы убедиться что пользователи красочно уведомлены о летальных последствиях своих необдуманных действий. Удачной идеей является указать "что будет" в случае нарушения "электронных" границ компании и то, что действия логируются. В то время как раскрытие информации о имени устройства, адресах, именах и прочей "personal" информации - является плохой идеей.

banner login # UNAUTHORIZED ACCESS TO THIS DEVICE IS PROHIBITED You must have explicit, authorized permission to access or configure this device.Unauthorized attempts and actions to access or use this system may result in civil and/or criminal penalties.All activities performed on this device are logged and monitored. #

Сервисы

Подумайте, нужны ли вам сервисы, работающие на устройстве такие как:
Cisco Discovery Protocol (CDP) - думаю, объяснять, что такое CDP не нужно.
Выключить глобально:

no cdp run

Выключить на интерфейсе:

interface X/X no cdp enable

Directed Broadcast - пакет ip directed broadcast имеет своим destination валидный broadcast адрес. когда подобный пакет приходит на роутер, последний (если соответственно сконфигурирован и имеет в своих подключенных сетях (directly connected) сеть назначения) может перенаправлять подобные пакеты по назначению, в отличие от стандартного поведения, когда интерфейс роутера оконечивает домен широковещательных сообщений.
Отменить поведение можно с помощью команды уровня интерфейса:

no ip directed-broadcast

и другие...
Finger

no ip finger

Maintenance Operations Protocol (MOP)

no mop enabled

IP BOOTP Server

no ip bootp server

IP Redirects

no ip redirects

IP Source Routing

no ip source-route

Gratuitous arps

no ip gratuitous-arps

PAD

no service pad

Nagle

service nagle

Proxy ARP

no ip proxy-arp

Ident

no ip identd

TCP and UDP Small Servers

no service tcp-small-servers no service udp-small-servers

TCP Keepalives

service tcp-keepalives-in service tcp-keepalives-out

DHCP service

no service dhcp

IP HTTP Server

no ip http server

Timestamps - сервис датирует сообщения сислога

service timestamps debug datetime localtime show-timezone msec service timestamps log datetime localtime show-timezone msec service sequence-numbers

Control Plane

Control Plane Policing позволяет выставить ограничения на уровень управления - этот трафик обрабатывается CPU и может наглухо подвесить систему. Сюда входят протоколы маршрутизации, пакеты, адресованые роутеру, менеджмент протоколы, аля SNMP, протоколы доступа (SSH, Telnet), другие протоколы, такие как ICMP или IP Options также могут требовать обработки в CPU, Layer 2 пакеты, такие как BPDU, CDP, DOT1X и т.д.
1. Определяем критерий отбора - кого мы полисим:

class-map <traffic_class_name> match <access-group | protocol* | ip prec | ip dscp>

2. Определяем производимое действие

policy-map <service_policy_name> class <traffic_class_name> police <cir | rate> conform-action <transmit | drop > exceed-action <transmit | drop> !cir Committed information rate (Bits per second) !rate Specify policy rate in packets per second (pps)

3. Применяем политику на control plane:

control-plane service-policy {input | output} <service_policy_name> ! input Assign policy-map to the input of an interface ! output** Assign policy-map to the output of an interface

Контроль использования CAM таблицы коммутатора

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

interface fastethernet X/X switchport mode access switchport port-security switchport port-security maximum 10 switchport port-security mac-address 0000.0000.0003 !(Static secure MAC) switchport port-security mac-address sticky switchport port-security mac-address sticky 0000.0000.0001 !(Sticky static MAC) switchport port-security mac-address sticky 0000.0000.0002

Cisco AutoSecure

Функция интерактивного диалога с роутером, в результате которого вам предложат те или иные методы защиты

R2#auto secure ?   firewall       AutoSecure Firewall   forwarding     Secure Forwarding Plane   full           Interactive full session of AutoSecure   login          AutoSecure Login   management     Secure Management Plane   no-interact    Non-interactive session of AutoSecure   ntp            AutoSecure NTP   ssh            AutoSecure SSH   tcp-intercept  AutoSecure TCP Intercept   <cr>

Безопасность маршрутизации

  • Ограничьте круг возможных участников процесса маршрутизации

  • Используйте авторизацию

  • Используйте встроенные методы безопасности протоколов, т.к. BGP TTL

  • Security Check

  • Маршрутизацию включайте только на нужных интерфейсах

  • Не включайте маршрутизацию на "пользовательских" интерфейсах

  • Контролируйте распространяемые маршруты

  • Логируйте статусы "соседей" (log-neighbor-changes)

Безопасность коммутации

  • Ограничьте зоны широковещательных доменов

  • Используйте функции защиты Dynamic ARP Inspection, DHCP Snooping и IP Source Guard

  • Используйте функции защиты STP (фильтры и гарды)

SNMP

Для "снятия показаний" со своих железных друзей вы можете использовать SNMP, который тоже не нужно забывать защищать.

ip access-list standard management_hosts permit host X.X.X.X permit host X.X.X.X ! snmp-server community <COMMUNITY> RO management_hosts snmp-server ifindex persist snmp-server trap-source Gi0/0 snmp-server location <Site_ID> ! snmp-server enable traps ! snmp-server host <snmp_trap_receiver01> <community> snmp-server host <snmp_trap_receiver02> <community>

Syslog

Все события на своих коробках по возможности логируем

no logging console no logging monitor ! logging buffered 65535 ! logging trap notification ! logging facility local7 ! logging host <syslog server1> logging host <syslog server2> ! logging source-interface loopback0

Служба времени

NTP поддерживает аутентификацию - используйте её

ntp authentication-key 1 md5 <KEY> ntp authenticate ntp trusted-key 1 ntp server 10.136.15.15 version 4 key 1 prefer burst ntp server 10.136.15.16 version 4 key 1 burst ntp source GigabitEthernet 0/0

Archive

Изменения конфигурации логируем

archive log config logging enable hidekeys

Чек-лист для безопасника

Management Plane       Passwords           Enable MD5 hashing (secret option) for enable and local user passwords           Configure the password retry lockout           Disable password recovery (consider risk)       Disable unused services       Configure TCP keepalives for management sessions       Set memory and CPU threshold notifications       Configure           Memory and CPU threshold notifications           Reserve memory for console access           Memory leak detector           Buffer overflow detection           Enhanced crashinfo collection       Use iACLs to restrict management access       Filter (consider risk)           ICMP packets           IP fragments           IP options           TTL value in packets       Control Plane Protection           Configure port filtering           Configure queue thresholds       Management access           Use Management Plane Protection to restrict management interfaces           Set exec timeout           Use an encrypted transport protocol (such as SSH) for CLI access           Control transport for vty and tty lines (access class option)           Warn using banners       AAA           Use AAA for authentication and fallback           Use AAA (TACACS+) for command authorization           Use AAA for accounting           Use redundant AAA servers       SNMP           Configure SNMPv2 communities and apply ACLs           Configure SNMPv3       Logging           Configure centralized logging           Set logging levels for all relevant components           Set logging source-interface           Configure logging timestamp granularity       Configuration Management           Replace and rollback           Exclusive Configuration Change Access           Software resilience configuration           Configuration change notifications   Control Plane       Disable (consider risk)           ICMP redirects           ICMP unreachables           Proxy ARP       Configure NTP authentication if NTP is being used       Configure Control Plane Policing/Protection (port filtering, queue thresholds)       Secure routing protocols           BGP (TTL, MD5, maximum prefixes, prefix lists, system path ACLs)           IGP (MD5, passive interface, route filtering, resource consumption)       Configure hardware rate limiters       Secure First Hop Redundancy Protocols (GLBP, HSRP, VRRP)   Data Plane       Configure IP Options Selective Drop       Disable (consider risk)           IP source routing           IP Directed Broadcasts           ICMP redirects       Limit IP Directed Broadcasts       Configure tACLs (consider risk)           Filter ICMP           Filter IP fragments           Filter IP options           Filter TTL values       Configure required anti-spoofing protections           ACLs           IP Source Guard           Dynamic ARP Inspection           Unicast RPF           Port security       Control Plane Protection (control-plane cef-exception)       Configure NetFlow and classification ACLs for traffic identification       Configure required access control ACLs (VLAN maps, PACLs, MAC)       Configure Private VLANs

СОЦИАЛЬНЫЕ ГРУППЫ САЙТА

Яндекс.Метрика
Рейтинг@Mail.ru