Базовая настройка безопасности 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
© Все права защищены. 2015–2018