Желательно, чтобы на уровне организации как можно меньше людей знало о том, что эти устройства вообще есть в сети компании. В идеальном варианте об этом должны знать только те сотрудники, которые занимаются информационной безопасностью.
Также есть встроенные средства обеспечить безопасность модуля Cisco IPS, настройку которых мы и рассмотрим. Более детальную информацию о схеме cisco ips, cisco ips принцип работы вы сможете найти на сайте производителя или в официальной документации.
Настраиваем доступ пользователей
Настройка Cisco IPS предусматривает четыре пользовательских роли с разными правами доступа.
Администратор – имеет право предпринимать любые действия в IPS CLI, однако доступа в консоль ОС у него нет.
Оператор – ему доступна большая часть функций IPS CLI, однако он не может управлять файлами конфигурации, пользователями, а также выключать и перезагружать.
Зритель (viewer) – не может редактировать никакие настройки.
Сервис (service) – для пользователя консоли Linux. Заведите себе аккаунт пользователя с таким доступом на тот случай, если mainApp сбоит и вы не сможете войти в Cisco IPS CLI – тогда вы сможете определить проблему, решить ее или по крайней мере собрать требуемые сведения для обращения в поддержку. При этом стоит помнить, что Cisco предупреждает – изменять что-либо, используя данный уровень доступа, следует только если техподдержка проинструктировала вас это сделать.
Создаем нового пользователя
Делаем это в global configuration mode – режиме глобальной конфигурации:
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 : **********
Просмотр всего списка пользователей устройства включается командой:
ids# show users all
Результат будет выглядеть примерно так:
CLI ID User Privilege
* 12528 admin administrator
andrey service
cisco administrator
soc viewer
test operator
Удаляем пользователя
Ненужный пользователь удаляется командой no username:
ids(config)# no username test – удаляем пользователя test
Обратите внимание, что аккаунт пользователя cisco (он встроен) удалить этой командой не получится, его можно только заблокировать командой no password, что мы и рекомендуем сделать:
ids(config)# no password cisco
Если пользователь заблокирован, при выводе списка пользователей show users all его логин будет показан в круглых скобках.
ids# show users all
CLI ID User Privilege
* 12528 admin administrator
andrey service
(cisco) administrator
soc viewer
Меняем пользователю пароль
Используем команду password и имя пользователя. В примере задаем новый пароль для пользователя под именем test и подтверждаем его.
ids(config)# password test
Enter new login password : *********
Re-enter new login password : *********
Настраиваем правила для паролей
Вы можете задать:
- минимальное число символов в пароле
- Сколько должно быть символов верхнего и нижнего регистра
- Сколько цифр и специальных символов
- Сколько будет запомнено старых паролей (чтобы предупреждать пользователей, что такие пароли уже использовали)
Настраиваются эти требования в отдельном режиме конфигурирования, специально для службы аутентификации:
ids# configure terminal
ids(config)# service authentication
ids(config-aut)#
Как прервать пользовательскую сессию, которая активна в текущий момент
Если пользователь в списке помечен “ * “, значит, у него сейчас активна сессия
в CLI:
ids# show users all
CLI ID User Privilege
* 12528 admin administrator
12167 soc viewer
andrey service
(cisco) administrator
Иногда нужно оборвать чужую сессию, если, к примеру, завис ssh-клиент, таймаут сессии, она признана нелегитимной и подобное. Если нам необходимо так поступить, смотрим ее ID (в примере выше для юзера soc – 12167) и сбрасываем ее командой:
ids# clearline14167
Настраиваем уровень доступа для пользователя
Если требуется изменить привилегии одному из пользователей:
ids(config)# privilege user test viewer – пользователю test меняем доступ на viewer
Warning: The privilege change does not apply to current CLI sessions. It will be applied to subsequent logins.
Можно поменять уровень доступа даже пользователю cisco.
Внимание, если у пользователя, которому изменили права доступа, в это время активна сессия, изменения для него вступят в силу только после того как он завершит сессию и затем залогинится заново.
Конфигурируем узел в Cisco IPS
Настройки Cisco IPS позволяют перейти из global configuration mode непосредственно в режимы конфигурирования отдельных сервисов:
ids# configure terminal
ids(config)# service host
ids(config-hos)#
Ограничиваем доступ к защитному оборудованию по локальной сети
- Поместите IP-адрес интерфейса управления устройства в специально выделенную административную (management) виртуальную локальную сеть, в наибольшей степени закрытую файрволлами.
- Настраиваем для IPS его встроенный брандмауэр. Для начала переходим из режима настройки хоста в настройки сетевого доступа:
ids(config-hos)# network-settings
ids(config-hos-net)#
Просматриваем установки действующего в данный момент режима командой show 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.
Если вы видите в нем подозрительные подсети или узлы, удалите их так:
ids(config-hos-net)# no access-list 10.0.16.154/32
Точно так же можете удалить и не подозрительные, принадлежащие к вашей сетевой инфраструктуре, которым просто не должен быть доступен управляющий интерфейс защитного устройства.
Задаем текст предупреждения при логине
Если вы хотите предупредить о чем-либо пользователей или потенциального взломщика (например, об криминальной ответственности), введите соответствующий текст:
ids(config-hos-net)# login-banner-text This system is restricted to authorized users. Individuals attempting unauthorized access will be prosecuted.
Пользователь его увидит, когда попытается залогиниться.
Отключаем telnet
Этого требует безопасность и по умолчанию он отключен всегда, но если для каких-либо целей его все же включили, отключите его командой:
ids(config-hos-net)# telnet-option disabled
Автоматические обновления
Если вы администрируете больше 1-2 подобных устройств, настройте им автообновление, чтобы сберечь время и силы. Оно может выполняться по протоколам FTP, SCP, HTTP, HTTPS.
Разберем это на примере update по SCP. Понадобится сервер обновлений на UNIX и на нем заблаговременно заведенная учетная запись для сенсора с максимально редуцированными правами.
Файрволы обеспечивают доступ по порту 22 от управляющих интерфейсов сенсора к update-серверу, в случае, если они находятся не в одной и той же подсети. Сотрудник ИТ-службы, которые непосредственно занимается администрированием IPS, скачиывает обновления и копирует файлы обновлений в назначенную папку, а IDS/IPS нужно настроить так, чтобы они через определенное время проверяли, есть ли обновления. Не забудьте на сервере обновлений включить поддержку SSHv1 в sshd_config.
Внимание! Во избежание трудностей не переименовывайте файлы, которые вы загрузили с сайта Cisco.
Не забудьте внести ssh-ключ сервера обновлений в список доверенных хостов сенсора, чтобы обновления по SCP работали без ошибок:
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?[yes]:
Теперь дело за непосредственной настройкой автообновления с сервера:
ids(config)# service host
ids(config-hos)# auto-upgrade
ids(config-hos-aut)# user-server enabled
ids(config-hos-aut-ena)# ip-address 10.0.5.5 – задаем IP-адрес сервера обновлений.
Дальше указываем папку с файлами обновлений, относительно пути /home/<username>, логин и пароль учетки Cisco IPS на сервере обновлений:
ids(config-hos-aut-ena)# directory up
ids(config-hos-aut-ena)# user-name ips
ids(config-hos-aut-ena)# password
Enter password[]: ***********
Re-enter password: ***********
Задаем распорядок загрузки обновлений.
ids(config-hos-aut-ena)# schedule-option periodic-schedule
Вот в этом примере задано обновление каждые 24 часа:
ids(config-hos-aut-ena-per)# interval 24
Еще понадобится установить время обновления. К примеру, в 12 часов дня:
ids(config-hos-aut-ena-per)# start-time 12:00
Если сенсоров несколько, желательно, чтобы они обновлялись каждый в свое время, а не все одновременно.
Если что-то пошло не так и требуется вернуться на прежнюю конфигурацию в CLI, в global configuration mode используйте команду downgrade:
ids(config)# downgrade
Внимание! Согласно официальной документации Cisco, с помощью данной команды нельзя откатить до предыдущей Minor или Major версии.
Настраиваем время сенсора
Чтобы время Cisco IPS синхронизировалось с корпоративным NTP-сервером, выполните такие настройки:
ids(config-hos)# time-zone-settings
Какая разница в минутах по отношению к Гринвичу:
ids(config-hos-tim)# offset 120
Как официально называется ваш часовой пояс:
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
Как сохранить изменения в конфигурации
Имейте в виду, что ваши изменения сохраняются не сразу, а только когда вы выходите из режима конфигурации узла в глобальную конфигурацию:
ids(config-hos)# exit
Apply Changes?[yes]:
ids(config)#
Настраиваем SNMP
В базовых настройках по умолчанию эта возможность деактивирована. Но этот протокол может понадобиться, чтобы промониторить и проанализировать работу устройства, поэтому рассмотрим, как его включить и применить.
Внимание! Доступ по SNMP-протоколу дается сразу не только для чтения, но и для записи, что небезопасно. К тому же, нет отдельного списка доступа, используются общие списки контроля доступа из настроек service host.
Обеспечивать безопасность предлагаем так:
– установить такие значения community, чтобы было трудно подобрать
– ограничить доступ по сети на всех возможных уровнях
– использовать TCP–протокол
– назначить нестандартный порт.
Примерно вот так выглядит базовая настройка:
ids#configureterminal
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
Настраиваем web-server
Есть два способа обеспечить его безопасность: включить 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]:
ids(config)#
Настраиваем ведение логов
Каждое системное событие заносится в логи как warning, если оставить настройки по умолчанию.
Если необходимо разобраться в возникшей проблеме и получить логи, сконфигурируйте service logger. Только будеть аккуратны, чтобы не привести к перегрузке системы.
ids(config)# service logger
ids(config-log)#
Надеемся, что статья о настройке возможностей Cisco IPS была для вас полезна.
В заключение хотим предупредить, что техподдержка Cisco Firepower IPS прекращается. Рекомендуем рассмотреть возможность перехода на новые ASA серии 5500-X.