Вы здесь

Безопасность. Начало 11. Securing Management Plane IOS

Под термином Management Plane понимается всё что относится к управлению устройством:

  • Настройка маршрутизатора есть непосредственная работа с Management Plane.
  • Логи устройства - logging, SNMP

Изначально новое устройство мы начинаем настраивать используя com -кабель (Blue Rollover Cable). По сути это самый безопасный способ настройки.
Но для удобства администратора необходим удалённый доступ на устройство, в связи с чем необходимо уделить особое внимание, чтобы никакой злоумышленник не смог воспользоваться этим удалённым доступом.

Strong Passwords

Согласно последним исследованиям по IT безопасности, сейчас под главным ударом находятся не устройства, а именно специалисты IT. Сейчас гораздо проще узнать пароль Админа чем взломать устройство. Именно поэтому пароль должен быть достаточно сложным для взлома.
Существуют два основных способа взлома пароля:

- Dictionary attack - пароль подбирается с использование длинного списка вероятных вариантов слов.
- Brute-forse attack - в этом методе подбор ведётся с использованием миллионов всевозможных комбинаций символов.

Strong Passwords: Рекомендации

  • Используйте длину пароля не менее 10 символов. Идеальный пароль не должен содержать слов, и лишь набор букв, цифр и символов.
  • При создании юзеров используйте secret а не password, т.к. secret использует алгоритм хеширования MD5.
    username adm_user privilege 15 secret vH74_dfj83L enable secret vn72_df_fj83L
  • Активируйте aaa: тогда вместо паролей на vty будет запрашиваться username + пароль.
    aaa new-model
  • Активируйте service password-encryption. Данный сервис сделает нечитаемыми пароли в конфигурации роутера. На самом деле Password Encryption может быть легко расшифрован, но данный сервис был создан для того чтобы паролик не засветился "из-за плеча". Безусловно полезная вещь.
    service password-encryption

User authentication and AAA

Включение AAA подразумевает использование имени и пароля.
AAA позволяет авторизовывать два типа доступа:

  • Packet mode - Авторизация пользователей для доступа в сеть.
    Например доступ в сеть через сервис VPN.
  • character mode - Авторизация Администраторов для доступа к сетевым устройствам
    С точки зрения безопасности гораздо лучше когда Администратор вводит свой логин и пароль. Благодаря этому мы можем контролировать какой Администратор имеет доступ к каким устройствам и что они там могут делать. Аудит же позволит определить кто когда и что делал.

Вообще термин AAA означает Authentication, Authorization, Accounting and auditing.
Рассмотрим их более подробно:

  • Authentication - это процесс, когда система идентифицирует пользователя. Чаще для этого у пользователя запрашивается логин и пароль.
  • Authorization - это процесс раздачи прав. Авторизации происходит после аутентификации: система определив кем является данный пользователь, теперь может дать этому пользователю права на выполнение определённых команд, или доступ на определённые ресурсы.
  • Accounting and auditing - это процесс отслеживания какие действия пользователь выполнял получив доступ на те или иные ресурсы.

User authentication and AAA: Хранение логинов и паролей

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

  • Cisco Secure ACS Solution Engine - Это выделенный сервер, который хранит usernames, passwords и другую информацию.
    В прошлом сервер выпускался в виде appliance с предустановленным ПО Access Control Server (ACS). Для доступа к серверу роутер использует протоколы Radius и TACACS.
  • Cisco Secure ACS for Windows Server - совсем древняя вариация сервера ACS, которая базировалась на Windows.
  • Современные вариации ACS - сегодня чаще всего сервер ACS представляет собой виртальную машину с соответствующим софтом.
    Подробно по настройке такого ACS см. Установка и настройка ACS 5
    Также есть и последняя разработка - Cisco Identity Services Engine (ISE) смысл работы которой заключается в том, что система может разрешать или запрещать доступ в сеть пользовательских компьютеров базируясь на политиках компании. Политики могут требовать наличие антивируса, определённых обновлений и т.д. ISE не является заменой ACS и компании часто использют обе системы одновременно.
  • Self-contained AAA - По сути сервер AAA располагается на самом роутере, такой тип аутентификации и авторизации называется local, а БД называется local database.

User authentication and AAA: Authorizing VPN Users и Router Access Authentication

Как уже говорилось, VPN Users используют тип доступа packet mode.
При использовании сервера ACS для Аутентификации и Авторизации доступа предпочтительно использование протокола RADIUS.

Router Access Authentication подразумевает административный доступ на роутер через vty, AUX, console или tty или Character mode.
Для Аутентификации и Авторизации такого типа доступа предпочительно использовать TACACS+, поскольку TACACS более "заточен" под такой тип доступа, и позволяет более тонко контролировать все нюансы.

User authentication and AAA: Внедрение

! Включаем AAA aaa new-model ! ! Добавляем локального админа ! Он будет использоваться в случае недоступности сервера ACS: username adm_user privilege 15 secret vH74_dfj83L ! ! Добавляем сервера ACS, а также ключ для доступа к серверам tacacs-server directed-request tacacs server acs01 address ipv4 192.168.110.46 key my_key tacacs server acs02 address ipv4 192.168.110.47 key my_key ! ! Добавляем группу серверов ACS aaa group server tacacs+ tac_acs server name acs01 server name acs02 ip tacacs source-interface Port-channel1.180 ! ! Настраиваем default method list, предназначенный для authentication. ! default method list будет использоваться для аутентификации сессий ! SSH, Telnet, VTY, AUX, Console в случае если в свойствах этой сессии не указан ! другой method list. ! login - означает что method list используется для логина. ! default - то что он дефолтный ! local - первый метод аутентификации через local БД ! enable - второй метод аутентификации с использованием пароля enable (имя пользователя не важно) aaa authentication login default local enable ! ! Следующий method list является custom authentication method list, и предназначен для ! аутентификации в vty. ! Здесь method tac_acs есть обращение к группе серверов созданным нами ранее aaa authentication login authen_cons_login group tac_acs local ! ! Настроим method list для автормзации. aaa authorization exec author_cons_login group tac_acs local ! ! Следующая конструкция предназначена для включения Accounting. ! 1 и 15 означает уровни privelege на которых будет происходить accounting. ! Также отметим, что accounting возможен только при работе с сервером ACS aaa accounting commands 1 default start-stop group tac_acs aaa accounting commands 15 default start-stop group tac_acs ! ! Вешаем правила на линии vty line vty 0 4 login authentication authen_cons_login authorization exec author_cons_login ! line vty 5 15 login authentication authen_cons_login authorization exec author_cons_login

Безусловно, для работы с ACS должен быть настроен и сам сервер ACS.
Без сервера ACS данная конфигурация также будет функционировать, при этом аутентификация будет происходить по локальной БД, в которой а нас находится единственный пользователь adm_user с максимальным уровнем privilege 15.

User authentication and AAA: Проверка

debug aaa authentication
debug aaa authorization
debug aaa accounting
test aaa

Также очень полезны логи самого сервера ACS.

User authentication and AAA: CCP

AAA можно настроить и в Cisco Configurational Professional.
Для этого на пригодятся следующие пути:
Configure > Router > AAA > AAA Summary
Configure > Router > AAA > Authentication Policies > Login
Configure > Router > Router Access > VTY

Role-based Access Control (RBAC)

RBAC позволяет ограничить доступность команд на основе ролей или имён пользователей.
Это достигается через использование AAA, а также Privilege Levels или Parser View.

Role-based Access Control (RBAC): Custom Privilege Levels

При первом заходе на роутер у нас появляется приглашение:
>
Это есть User mode privilege level 1.

Если мы дадим команду enable, то в случае правильного пароля приглашение уже будет в виде решётки.
#
Это есть User mode privilege level 15, самый высокий уровень.

Custom Privilege Levels позволяет создавать уровни между 1 и 15 со своими разрешёнными командами.

! Для примера создадим кастомную privilege level 8, где мы разрешим определенному пользователю менять IP адрес маршрутизатора: privilege interface level 8 ip address privilege interface level 8 ip privilege configure level 8 interface privilege exec level 8 configure terminal privilege exec level 8 configure ! ! Для входа зададим enable: enable secret level 8 0 12345 ! ! Создадим пользователя с соответствующим уровнем: username 8_user privilege 8 secret 123456

Теперь при использовании предыдущей конфигурации aaa мы сможем входим в level 8 используя команду:
enable 8
либо просто зайдя под пользователем 8_user

Role-based Access Control (RBAC): Parser View

Parser View - это дальнейшее развитие RBAC, позволяющее создавать View и ассоциировать с ней разрешённые команды. Далее мы можем ассоциировать одного или нескольких пользователей с этим View.

! Включаем View enable view ! ! Создаём новый View parser view first_view secret 5 $1$nCzM$K.L7yYy9vTPfqXonuwNO90 commands configure include access-list commands exec include ping commands exec include configure commands exec include all show

Теперь для входа нужно дать команду:
enable view first_view

Либо можно ассоциировать пользователя:

username Lois view first_view secret cisco123

Проверка:
show parser view

Encrypted Management Protocols

Для администрирования рекомендуется использовать исключительно SSH или HTTPS, т.е. протоколы, защищённые шифрованием.
SSH и HTTPS по умолчанию выключены, для их включения понадобится несколько несложных операций:

! Включаем SSH hostname my_router ip ssh version 2 ip domain name my.domain.ru crypto key generate rsa ! ! Включаем HTTPS ip http secure-server ip http authentication local

logging

Логирование включает не только то, что было сделано Администратором, но и системные события, сгенерированные роутером или коммутатором.

Устройства Cisco IOS могут отправлять логи в следующие места назначения:

  • Console - консоль - это то что мы увидим, подключившись к устройству по com-порту. По умолчанию на консоль валятся логи уровня level debugging.
  • vty lines - Virtual tty (vty) есть подключения по Telnet или SSH могут принимать log information. только для отображения необходимо предварительно дать команду terminal monitor
  • Buffer - в буфере сообщения могут накапливаться до определённого уровня. Простмотреть буфер можно через команду: show logging
  • SNMP server - настройка SNMP позволяет устройсву также генерировать и SNMP traps и отправлять их на сервер SNMP.
  • Syslog server - отличный способ сохранить все логи, а затем удобно их просматривать. Syslog server принимает и хранит сообщения логов.

Logging messages различаются по уровням или Syslog Severity Levels:

Level Name Description
0 Emergencies System is unusable.
1 Alerts Immediate action needed.
2 Critical Critical conditions.
3 Errors Error conditions.
4 Warnings Warning conditions.
5 Notifications Normal, but significant conditions.
6 Informational Informational messages.
7 Debugging Highly detailed information based on current
debugging that is turned on.

logging: SNMP

SNMP или Simple Network Management Protocol - является уже стандартом для выполнения задач типа network management.
Существуют SNMP версий от 1 до 3, которые друг от друга отличаются в основном уровнем безопасности.

SNMP состоит из следующих основных компонентов:

  • SNMP manager - Это сервер, на котором запущено приложение способное делать запросы SNMP и принимать SNMP trap. Пример такого приложения - PRTG.
  • SNMP agent - это клиент SNMP. Чтобы роутер сделать SNMP клиентом, на нём необходимо выполнить несколько несложных команд.
  • Management Information Base - MIB - это информация об объектах на девайсе, подлежащих мониторингу. MIB предоставляется производителем девайса в стандартизированном виде, и её можно загрузить в любой SNMP manager. Для того чтобы мониторить объект на девайсе, нужно сначала загрузить MIB для этого объеката(ов). Некоторые стандартные широко распространённые MIB загружать не надо, они уже и так есть, например "SNMP Traffic"

SNMP использует следующие наиболее важные сообщения:

  • GET - запрос информации от managed device
  • SET - запрос на изменение переменной или на какое-то действие на managed device
  • Trap - сообщение, которое высылает managed device по своей инициативе. Используется как нотификация о каких либо событиях на managed device

SNMP предусматривает определённые настройки по безопасности, но считается что SNMPv1 и SNMPv2 небезопасны.
Но SNMPv3 решает большинство проблем:

  • integrity - использования алгоритмов хеширования позволяют гарантировать защиту целостности сообщений SNMP.
  • Authentication - использование имени/пароля
  • Encryption - все сообщения шифруются с использованием алгоритма CBC-DES(DES-56)

logging: Внедрение

! Настройка отображения текущего времени service timestamps log datetime localtime ! ! Включение логирования logging on ! ! ! Отключения логов на консоль no logging console logging monitor debugging ! ! Настройка логирования в буфер logging buffered informational logging buffered 16386 logging rate-limit 100 except 4 ! ! Настройка сообщений на сервер syslog logging 192.168.1.10 logging trap debugging ! ! Настройка SNMPv2 ! access-list 5 permit host 10.0.0.1 snmp-server community cpass RW 5 snmp-server ifindex persist

Для того чтобы посмотреть что упало в буфер, а также настройки логирования:
router#show logging

Включение отображения monitor logging:
terminal monitor

Network Time Protocol (NTP)

NTP используется для синхронизации часов устройств. Это очень важно особенно при анализе логов на нескольких устроствах одновременно.
Предпочительно использовать NTPv3, которая поддерживает аутентификацию обновлений.

! Настройки на мастере service timestamps log datetime clock timezone MSK 4 ntp source GigabitEthernet0/1 ntp master 2 ntp update-calendar ntp server 64.90.182.55 ntp server 62.117.76.138 ntp server 81.2.117.228 ntp server 88.147.254.228 ! ! Настройки на клиенте service timestamps log datetime clock timezone MSK 4 ntp source vlan 1 ntp server 10.5.14.95

Проверка:
show ntp status
show ntp associations

Securing the Cisco IOS Image and Configuration Files

В слечае взлома роутера злоумышленник может удалить IOS и конфигурацию.
Cisco Resilient Configuration позволяет сделать копию IOS и Startup configuration (primary bootset).
Причем эту копию можно удалить только из консоли.

secure boot-image
secure boot-config

show secure bootset

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image