Cisco IDS/IPS. Безопасная настройка::Журнал СА 8.2009
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1894
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1936
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1498
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1098
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1667
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Электронка - 2020!

 Cisco IDS/IPS. Безопасная настройка

Архив номеров / 2009 / Выпуск №8 (81) / Cisco IDS/IPS. Безопасная настройка

Рубрика: Безопасность /  Механизмы защиты

АНДРЕЙ ДУГИН, системный администратор Группы Безопасности информационных систем «МТС-Украина».
Специализируется на системах IDS и IPS. Интересы: системная и сетевая безопасность

Cisco IDS/IPS
Безопасная настройка

Системы обнаружения вторжений должны быть правильно сконфигурированы для предотвращения несанкционированного доступа.

Самый первый этап защиты – информационный. Очень ограниченное количество специалистов знает о том, что существуют такие устройства, как IDS/IPS, и еще меньше догадывается о том, что они используются в той или иной корпоративной сети. Дальнейшая защита осуществляется технологическими методами.

Командная строка в Cisco IPS/IDS очень похожа на Cisco IOS CLI. В то же время Cisco IPS основаны на Linux RedHat, поэтому возможно управление как IPS, так и ОС.

Примечание: статья не является полным и универсальным руководством по настройке, эксплуатации и обеспечению безопасности систем обнаружения и предотвращения вторжений производства Cisco Systems. Более подробная информация доступна на сайте производителя [1].

Управление учетными записями пользователей

В Cisco IPS определены 4 уровня доступа пользователей:

Administrator – «суперпользователь» IPS. Имеет право на произведение любых действий в IPS CLI, но не имеет доступа в консоль операционной системы.

Operator – доступно большинство функций CLI IPS, кроме управления конфигурационными файлами, пользователями и рестарта/выключения системы.

Viewer – уровень доступа без возможности редактирования.

Service – пользователь консоли Linux.

Рекомендую создать хотя бы одну учетную запись пользователя с уровнем доступа service на случай сбоя mainApp-сенсора, и, как результат, отсутствия возможности входа в Cisco IPS CLI. Доступ в консоль операционной системы позволит диагностировать и, возможно, решить возникшую проблему. Как минимум будет инструмент для сбора необходимой для службы поддержки производителя информации (cidDump, tech-support, logs). Пароль пользователя уровня service используется также для перехода в режим суперпользователя root командой su консоли Linux. Производитель официально предупреждает о том, что вносить изменения, используя уровень доступа service, рекомендуется только в случае прямых указаний службы поддержки [2].

Создание учетной записи пользователя

Производится в режиме глобальной конфигурации. Пароль для пользователя можно ввести как в открытом виде:

ids(config)# username test privilege operator password u$erp@$$

так и в безопасном:

ids# configure terminal

ids(config)# username test privilege operator

Enter new login password : **********

Re-enter new login password : **********

Увидеть всех пользователей в Cisco IPS CLI можно в режиме, аналогичном EXEC-режиму Cisco IOS, с помощью команды:\

ids# show users all

    CLI ID   User      Privilege

*   12528    admin     administrator

             andrey    service

             cisco     administrator

             soc       viewer

             test      operator

Изменение пароля для учетной записи пользователя

Когда возникает необходимость изменить пароль пользователя, например, при компрометации или стандартной ситуации «забыл пароль», администратор IPS может осуществить операцию с помощью команды (в данном случае для пользователя test):

ids(config)# password test

Enter new login password : *********

Re-enter new login password : *********

Удаление учетной записи пользователя

В случае необходимости удалить учетную запись пользователя можно командой:

ids(config)# no username test

При попытке удалить встроенного пользователя cisco получим:

ids(config)# no username cisco

Error: this account cannot be removed.

Use the 'no password' command to disable account.

Парольная политика Cisco IPS не позволяет использовать «слабые» пароли для пользователей, однако для большей безопасности рекомендую создать пользователя с правами администратора IPS, а аккаунт cisco заблокировать:

ids(config)# no password cisco

Определить то, что пользователь cisco заблокирован, можно по круглым скобкам:

ids# show users all

    CLI ID   User      Privilege

*   12528    admin     administrator

             andrey    service

             (cisco)   administrator

             soc       viewer

Настройка парольной политики

Парольная политика Cisco IPS по умолчанию предъявляет строгие требования к паролям, однако если есть необходимость ужесточить ее – предоставляется возможность задать:

  •  длину пароля;
  •  количество символов верхнего и нижнего регистра в пароле;
  •  количество цифр и спецсимволов в пароле;
  •  количество старых паролей, которые помнит сенсор.

Настройки производятся через режим конфигурации службы аутентификации:

ids# configure terminal

ids(config)# service authentication

Сброс сессии

Определить, что пользователь в данный момент работает с Cisco IPS через CLI, возможно с помощью той же команды show users all. Звездочкой (*) обозначена сессия текущего пользователя:

ids# show users all

    CLI ID   User      Privilege

*   12528    admin     administrator

    14167    soc       viewer

             andrey    service

             (cisco)   administrator

Если возникает необходимость сбросить сессию другого пользователя, например, по причине зависания ssh-клиента, тайм-аута, принятия решения о нелегитимности сессии и т.п., определяем ее CLI ID (в данном случае для soc – 14167) и принудительно обрываем:

ids# clear line 14167

Изменение привилегий пользователя

При необходимости изменения уровня доступа пользователя администратор IPS может произвести эту операцию с существующими пользователями:

ids(config)# privilege user test viewer

Warning: The privilege change does not apply to current CLI sessions.

It will be applied to subsequent logins.

Как предупреждает IPS, если пользователь, которому переназначили права доступа, на момент их реконфигурации использует активную сессию, изменения коснутся его только после повторного логина. Соответственно, нужно либо сообщить пользователю о такой необходимости, либо сбросить его сессию.

Для аккаунта cisco также возможно изменение уровня доступа.

Настройки узла

Структура настроек Cisco IPS организована таким образом, что из знакомого всем по IOS режима global config возможен переход в режимы специфической конфигурации каждого сервиса:

ids# configure terminal

ids(config)# service host

Сетевой доступ

Достаточно важной частью обеспечения безопасности любого сетевого устройства является ограничение доступа по сети. Само собой разумеется, что IP-адрес интерфейса управления сенсора должен находиться в максимально защищенном корпоративными файерволами административном (management) VLAN. Однако для комплексности защиты не помешает настройка собственного брандмауэра IPS. Из режима конфигурации хоста переход в режим конфигурации доступа по сети к сенсору осуществляется так:

ids(config-hos)# network-settings

В режиме конфигурации любого сервиса возможен просмотр настроек, касающихся сугубо текущего специфического режима с помощью команды:

ids(config-hos-net)# show settings

 network-settings

   -----------------------------------------------

      host-ip: 10.0.1.50/24,10.0.1.1

      default: 192.168.1.2/24,192.168.1.1

      host-name: ids default: sensor

      telnet-option: disabled default: disabled

      access-list (min: 0, max: 512, current: 6)

      -----------------------------------------------

         network-address: 10.0.11.11/32

         -----------------------------------------------

         network-address: 10.0.16.154/32

         -----------------------------------------------

         network-address: 10.0.12.0/27

         -----------------------------------------------

      -----------------------------------------------

      ftp-timeout: 300 seconds <defaulted>

      login-banner-text:  <defaulted>

      dns-primary-server

      -----------------------------------------------

         enabled

         -----------------------------------------------

            address: 10.0.2.5

         -----------------------------------------------

      -----------------------------------------------

      dns-secondary-server

      -----------------------------------------------

         enabled

         -----------------------------------------------

            address: 10.0.2.6

         -----------------------------------------------

      -----------------------------------------------

      dns-tertiary-server

      -----------------------------------------------

         disabled

         -----------------------------------------------

         -----------------------------------------------

      -----------------------------------------------

      http-proxy

      -----------------------------------------------

         proxy-server

         -----------------------------------------------

            address: 10.0.2.7

            port: 3128

         -----------------------------------------------

      -----------------------------------------------

   -----------------------------------------------

В access-list указаны хосты и сети, с которых разрешен доступ на IPS по SSH, Telnet (если включен), HTTP (если включен), HTTPS, SNMP (если включен), ICMP.

Если обнаруживаем в списке доступа подсети или хосты, которым в данный момент не нужен доступ к management-интерфейсу и не понадобится в ближайшем будущем, либо в случае критической ситуации – удаляем:

ids(config-hos-net)# no access-list 10.0.16.154/32

Назначаем banner login

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

ids(config-hos-net)# login-banner-text

This system is restricted to authorized users.

Individuals attempting unauthorized access will be prosecuted.

Отключение telnet

Telnet отключен по умолчанию, как требуют нормы безопасности. Если же он оказался включен предыдущим администратором, рекомендуется его отключить:

ids(config-hos-net)# telnet-option disabled

Автоматические обновления

Для поддержания в актуальном состоянии систем обнаружения вторжений необходимо периодическое обновление сигнатур и системы. Для этого нужна лицензия производителя. Когда в распоряжении администратора 1-2 сенсора, обновление вручную может не создавать особого труда, но если их гораздо больше, стоит настроить автоматическое обновление в целях экономии времени. Автоматическое обновление возможно по протоколам FTP, SCP, HTTP, HTTPS.

Рассмотрим обновление по SCP. Необходим UNIX-сервер обновлений, на котором только создается учетная запись для сенсора с минимальными привилегиями. Корпоративными файерволами обеспечивается доступ по порту 22 от управляющих интерфейсов IDS/IPS к серверу обновлений, если они находятся не в одной подсети. Администратором IPS по мере выхода обновлений и анализа их необходимости файлы выкладываются в определенную папку, а сенсоры рациональнее всего настроить на периодическую проверку наличия обновлений. Файлы, загруженные с сайта производителя, переименовывать категорически не рекомендуется. При обновлении по SCP на сервере, где будут располагаться обновления, должна быть включена поддержка SSHv1 в sshd_config.

На сенсоре для корректной работы обновлений по SCP необходимо добавить ssh-ключ сервера обновлений в список доверенных узлов сенсора:

ids# configure terminal

ids(config)# ssh host-key 10.0.105.50

MD5 fingerprint is DE:0E:FE:AE:77:F9:4B:0D:69:49:D4:60:26:55:67:52

Bubble Babble is xulir-tyhoc-tehyb-dupez-byvat-tapiz-fepur-povok-sadem-luhyt-taxux

Would you like to add this to the known hosts table for this host?[y

Затем можно приступать непосредственно к настройке автоапгрейда. Включаем обновление с сервера в корпоративной сети:

ids(config)# service host

ids(config-hos)# auto-upgrade

ids(config-hos-aut)# user-server enabled

Указываем IP-адрес сервера обновлений:

ids(config-hos-aut-ena)# ip-address 10.0.5.5

Указываем директорию, в которую будут выкладываться файлы обновлений, относительно пути /home/<username>:

ids(config-hos-aut-ena)# directory up

Имя пользователя на сервере обновлений:

ids(config-hos-aut-ena)# user-name ips

Указываем пароль учетной записи сенсора на сервере обновлений:

ids(config-hos-aut-ena)# password

Затем конфигурируем на обновление либо по календарю, либо периодическое обновление. Я предпочитаю последнее:

ids(config-hos-aut-ena)# schedule-option periodic-schedule

Задаем интервал в часах:

ids(config-hos-aut-ena-per)# interval 24

и время обновления. Поскольку в данном случае объем трафика в большинстве случаев будет генерироваться небольшой (объем файла сигнатур порядка 200-300 Кб), критичного влияния нет, я предпочел поставить дневное время, чтобы наблюдать за процессом:

ids(config-hos-aut-ena-per)# start-time 12:00

Рекомендую настраивать обновления на всех сенсорах в разное время с интервалом порядка 15 минут.

В случае обнаружения некорректной работы обновления сигнатур или движка (engine) либо принятия решения о возврате на предыдущую конфигурацию в CLI используется команда downgrade режима глобальной конфигурации:

ids(config)# downgrade

Производитель в своей онлайн-документации официально уведомляет о том, что возврат к предыдущей Minor- или Major-версии с помощью команды downgrade осуществить невозможно [3].

Настройка параметров времени

Для того чтобы время отработанных событий совпадало со всеми остальными информационными системами компании, рекомендую настроить синхронизацию времени с корпоративным NTP-сервером. Параметры времени сенсора настраиваются следующим образом:

ids(config-hos)# time-zone-settings

Указываем смещение в минутах относительно GMT:

ids(config-hos-tim)# offset 120

И название часового пояса:

# EET – название зоны

ids(config-hos-tim)# standard-time-zone-name EET

Настраиваем синхронизацию по NTP с сервером, не требующим аутентификации:

ids(config-hos)# ntp-option enabled-ntp-unauthenticated

ids(config-hos-ena)# ntp-server 10.0.2.123

ids(config-hos-ena)# exit

Настраиваем автоматический переход на летнее время:

ids(config-hos)# summertime-option recurring

ids(config-hos-rec)# offset 60

ids(config-hos-rec)# summertime-zone-name EEST

ids(config-hos-rec)# start-summertime

ids(config-hos-rec-sta)# month march

ids(config-hos-rec-sta)# week-of-month last

ids(config-hos-rec-sta)# day-of-week sunday

ids(config-hos-rec-sta)# time-of-day 03:00:00

ids(config-hos-rec-sta)# exit

ids(config-hos-rec)# end-summertime

ids(config-hos-rec-end)# month october

ids(config-hos-rec-end)# week-of-month last

ids(config-hos-rec-end)# day-of-week sunday

ids(config-hos-rec-end)# time-of-day 04:00:00

ids(config-hos-rec-end)# exit

Сохранение изменений

Сохраняются нововведения не сразу, а при выходе из подрежима конфигурации хоста в режим global config:

ids(config-hos)# exit

Apply Changes?[yes]:

Настройка SNMP

По умолчанию управление сенсором по SNMP отключено, но может возникнуть необходимость использования этого протокола для мониторинга и анализа работы сенсора. В этом случае стоит обратить внимание на то, что доступ по SNMP открывается и на чтение, и на запись, даже если нет необходимости в редактировании по SNMP – такова особенность работы Cisco IPS. Потенциальная опасность ясна: каждый, кто знает значения read-write community, имеет возможность конфигурировать сенсор с помощью set-команд. Отдельный access-list для SNMP не создается, используются общие ACL из настроек service host. Аутентификация и шифрование не поддерживаются, поэтому возможны варианты защиты:

  •  нетривиальные значения community, которые сложно подобрать;
  •  ограничение доступа по сети как на уровне корпоративных файерволов и ACL-роутеров, так и списков доступа service host;
  •  использование протокола транспортного уровня TCP, поскольку защита от spoofing в UDP не реализована;
  •  использование нестандартного порта.

Безопасная настройка производится следующим образом:

ids#configure terminal

ids(config)#service notification

ids(config-not)#enable-set-get true

ids(config-not)#read-only-community DlY@_$en$0r@

ids(config-not)#read-write-community DlY@_AdM1n@_$en$orA

ids(config-not)#snmp-agent-protocol tcp

ids(config-not)#snmp-agent-port 1961

ids(config-not)#exit

Настройка веб-вервера

Обезопасить веб-вервер необходимо включением TLS (активировано по умолчанию), также можно изменить порт, на котором он слушает (по умолчанию назначен 443 порт):

ids(config)# service web-server

ids(config-web)# enable-tls true

ids(config-web)# port 7001

ids(config-web)# exit

Apply Changes?[yes]:

Настройка логгирования

По умолчанию уровень логгирования на каждую категорию системных событий установлен как warning. В случае необходимости, например, для диагностики возникших проблем, можно внести свои корректировки методом конфигурации service logger. Делать это необходимо очень аккуратно, во избежание перегрузок [4]:

ids(config-not)#exit

Настройка дампов

При использовании Cisco IDS/IPS может возникнуть необходимость записи дампов трафика определенного пользователя, сервера и т.п. Нужно учесть, что по умолчанию количество дампов, которые могут одновременно находиться на сенсоре, равно 20. Возможно увеличение до 100, однако необходимо обращать внимание на заполненность дискового пространства и загруженность процессоров IDS. Запись трафика может производиться как вручную, так и автоматически – как реакция на срабатывание сигнатуры.

Количество дампов конфигурируется так:

ids(config)# service analysis-engine

ids(config-ana)# global-parameters

ids(config-ana-glo)# ip-logging

ids(config-ana-glo-ip)# max-open-iplog-files 100

 При записи дампа трафика вручную необходимо указать следующие параметры:

  •  виртуальный сенсор, на котором слушается трафик;
  •  IP-адрес, трафик которого пишется;
  •  количество байт для записи (опционально);
  •  количество пакетов для записи (опционально, по умолчанию 1000);
  •  длительность записи в минутах (опционально, по умолчанию 10).

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

ids# iplog vs0 1.2.3.4 bytes 500000 duration 50 packets 10000

 

Logging started for virtual sensor vs0, IP address 1.2.3.4,

Log ID 1701737004

Warning: IP Logging will affect system performance.

 

Просмотреть состояние текущих записей дампов, на мой взгляд, удобнее всего с помощью команды:

ids# iplog-status brief

Если запись iplog вызвана срабатыванием сигнатуры, то в колонке Event ID будет отображаться ID отработанного события, взаимосвязь с которым можно увидеть в системе мониторинга IPS Manager Express.

По каждому отдельно iplog статус просматривается с помощью команды:

ids# iplog-status log-id 1701737004

Что немаловажно: можно отменить текущую запись одного или нескольких дампов с помощью команды no iplog, однако невозможно управлять iplog'ами в состоянии completed, их можно только скопировать на другой сервер с помощью CLI, либо скачать на ПК через веб-интерфейс или IPS Manager Express для дальнейшего анализа сниффером.

Конфигурация параметров автоматической записи трафика при срабатывании сигнатур производится так:

ids(config)# service signature-definition sig0

ids(config-sig)# ip-log

 Настраиваются ограничения:

  •  время записи в секундах (от 30 по умолчанию до 300);
  •  количество пакетов (опционально);
  •  количество байт (опционально).

Пример:

ids(config-sig-ip)# ip-log-time 30

ids(config-sig-ip)# ip-log-bytes 5000

ids(config-sig-ip)# ip-log-packets 100

***

Подводя итоги, можно сказать, что защита и безопасная конфигурация IPS/IDS осуществляются следующими средствами:

  •  Административно-информационные меры. Чем меньше людей знает о наличии сенсоров, тем лучше.
  •  Расположение управляющего интерфейса в специальном, административном VLAN, защищенном корпоративными файерволами и списками доступа на маршрутизаторах.
  •  Управление пользователями и разграничение прав доступа. Блокировка встроенной учетной записи пользователя cisco, создание отдельных пользователей с правами администратора IPS и уровня service.
  •  Настройка парольной политики в соответствии с корпоративными нормами безопасности.
  •  Конфигурация параметров сетевого доступа. Разрешение доступа с ограниченного количества хостов/подсетей.
  •  Предупреждение потенциального взломщика с помощью баннера при логине.
  •  Отключение возможности администрирования сенсора с помощью telnet.
  •  Настройка автоматического обновления и синхронизации времени.
  •  В случае включения администрирования по SNMP назначить сложноугадываемые community и по возможности использовать протокол TCP и нестандартный порт.
  •  Включение шифрования TLS в веб-сервере и смена номера порта.
  1. http://www.cisco.com.
  2. http://www.cisco.com/en/US/docs/security/ips/7.0/configuration/guide/cli/cli_setup.html#wp1073485.
  3. http://www.cisco.com/en/US/docs/security/ips/7.0/configuration/guide/cli/cli_system_images.html#wp1044573.
  4. http://www.cisco.com/en/US/docs/security/ips/7.0/configuration/guide/cli/cli_troubleshooting.html#wp1009781.

 


Комментарии отсутствуют

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

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru