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

Общие рекомендации

  • Рекомендуется всегда отключать неиспользуемые физические интерфейсы с помощью команды shutdown. Команда подробно описана в разделе Конфигурирование и мониторинг интерфейсов справочника команд CLI.
  • Рекомендуется всегда настраивать синхронизацию системных часов с доверенными источниками сетевого времени (NTP). Алгоритм настройки NTP приведён в разделе Настройка NTP настоящего руководства. Подробная информация о командах для настройки NTP приведена в разделе Управление системными часами справочника команд CLI.
  • Рекомендуется отключать NTP broadcast client, включённый по умолчанию в заводской конфигурации.
  • Не рекомендуется использовать команду ip firewall disable, отключающую межсетевое экранирование. Следует всегда назначать интерфейсам соответствующие зоны безопасности и настраивать корректные правила межсетевого экрана. Алгоритм настройки межсетевого экрана приведён в разделе Конфигурирование Firewall настоящего руководства. Подробная информация о командах для настройки межсетевого экрана приведена в разделе Управление Firewall справочника команд CLI.

Настройка системы логирования событий

Алгоритмы настройки системы логирования событий приведены в подразделе «Настройка Syslog» раздела Мониторинг настоящего руководства.

Подробная информация о командах для настройки системы логирования событий приведена в разделе Управление SYSLOG справочника команд CLI.

Рекомендации

  • Рекомендуется настроить хранение сообщений о событиях в файл syslog на устройстве и передачу этих событий на внешний syslog сервер.
  • Рекомендуется ограничивать размер syslog-файла на устройстве.
  • Рекомендуется настраивать ротацию syslog-файлов на устройстве.
  • Рекомендуется включать нумерацию сообщений syslog.
  • Рекомендуется включать добавление меток timestamp msec к syslog сообщениям на устройствах ESR-1500 и ESR-1511.

Предупреждения

  • Данные хранящиеся в файловой системе tmpsys:syslog не сохраняются при перезагрузке устройства. Этот тип файловой системы рекомендуется использовать для хранения оперативных логов.
  • Не рекомендуется использовать файловую систему flash:syslog для хранения логов, так как это может привести к преждевременному выходу из строя устройства ESR.

Пример настройки

Задача:

Настроить хранение сообщений о событиях уровня info и выше в файл syslog на устройстве и настроить передачу этих событий на внешний syslog сервер. Ограничить файл размером 512кб. Включить ротацию 3-х файлов. Включить нумерацию сообщений syslog.

Решение:

Настраиваем хранение syslog-сообщений в файле:

esr(config)# syslog file tmpsys:syslog/default info
CODE

Настраиваем ограничение размера и ротацию файлов:

esr(config)# syslog max-files 3
esr(config)# syslog file-size 512
CODE

Настраиваем передачу сообщений на внешний сервер:

esr(config)# syslog host mylog 192.168.1.2 info udp 514
CODE

Включаем нумерацию сообщений syslog:

esr(config)# syslog sequence-numbers
CODE

Настройка политики использования паролей

Алгоритмы настройки политики использования паролей приведены в разделе Настройка ААА настоящего руководства.

Подробная информация о командах для настройки политики использования паролей приведена в разделе Настройка AAA справочника команд CLI.

Рекомендации

  • Рекомендуется всегда включать требования на смену пароля по умолчанию пользователя admin.
  • Рекомендуется ограничивать время жизни паролей и запрещать повторно использовать, как минимум, предыдущий пароль.
  • Рекомендуется выставлять требования минимальной длины пароля больше 8 символов.
  • Рекомендуется выставлять требования на использование строчных и прописных букв, цифр и спецсимволов.

Пример настройки

Задача:

  • Настроить парольную политику с обязательным требованием смены пароля по умолчанию, временем действия пароля 1 месяц и запретом на использование 12 последних паролей.
  • Задать минимальную длину пароля 16 символов, максимальную — 64 символа.
  • Пароль должен содержать не менее 3 прописных букв, не менее 5 строчных букв, не менее 4 цифр и не менее 2 спецсимволов. Пароль в обязательном порядке должен содержать все 4 типа символов.

Решение:

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

esr(config)# security passwords default-expered
CODE

Устанавливаем время жизни пароля 30 дней и запрет на использование предыдущих 12 паролей:

esr(config)# security passwords lifetime 30
esr(config)# security passwords history 12
CODE

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

esr(config)# security passwords min-length 16
esr(config)# security passwords max-length 64
CODE

Устанавливаем ограничения по минимальному количеству символов соответствующих типов:

esr(config)# security passwords upper-case 3
esr(config)# security passwords lower-case 5
esr(config)# security passwords special-case 2
esr(config)# security passwords numeric-count 4
esr(config)# security passwords symbol-types 4
CODE

Настройка политики AAA

Алгоритмы настройки политики ААА приведены в разделе Настройка ААА настоящего руководства.

Подробная информация о командах для настройки политики AAA приведена в разделе Настройка ААА справочника команд CLI.

Рекомендации

  • Рекомендуется использовать ролевую модель доступа на устройство.
  • Рекомендуется использовать персональные учетные записи для аутентификации на устройстве.
  • Рекомендуется включать логирование вводимых пользователем команд.
  • Рекомендуется использовать несколько методов аутентификации для входа на устройства через консоль, удалённого входа на устройства и повышения привилегий. Оптимальной считается комбинация из аутентификации по одному из протоколов RADIUS/TACACS/LDAP и локальной аутентификации.
  • Рекомендуется понизить уровень привилегий встроенной учётной записи admin до 1.
  • Рекомендуется настроить логирование изменений локальных учётных записей.
  • Рекомендуется настроить логирование изменений политики AAA.

Предупреждения

  • Встроенную учётную запись admin удалить нельзя.
  • Команда no username admin не удаляет пользователя admin, сбрасывает его конфигурацию в значения по умолчанию. После применения этой команды, пользователь admin не будет отображаться в конфигурации.
  • Команда no password для пользователя admin также не удаляет пароль пользователя admin, а сбрасывает его в значение по умолчанию. После применения этой команды пароль пользователя admin перестаёт отображаться в конфигурации и становится ‘password'.
  • Важно! Перед установкой пользователю admin пониженных привилегий у вас должен быть настроен пользователь с уровнем привилегий 15 или задан ENABLE-пароль.

Пример настройки

Задача:

Настроить политику AAA:

  • Для удалённого входа по протоколу SSH использовать аутентификации через RADIUS.
  • Для входа через локальную консоль использовать аутентификации через RADIUS, в случае отсутствия связи с RADIUS-серверами использовать локальную аутентификацию.
  • Использовать ENABLE-пароль заданный через RADIUS, в случае отсутствия связи с RADIUS-серверами использовать локальный ENABLE-пароль.
  • Установить пользователю admin пониженный уровень привилегий.
  • Настроить логирование изменений локальных учётных записей.
  • Настроить логирование изменений политик ААА.
  • Настроить логирование вводимых команд.

Решение:

Создаем локального пользователя local-operator с уровнем привилегий 8:

esr(config)# username local-operator
esr(config-user)# password Pa$$w0rd1
esr(config-user)# privilege 8 
esr(config-user)# exit
CODE

Задаём локальный ENABLE-пароль:

esr(config)# enable password $6e5c4r3e2t!
CODE

Понижаем привилегии пользователя admin:

esr(config)# username admin
esr(config-user)# privilege 1 
esr(config-user)# exit
CODE

Настраиваем связь с двумя RADIUS-серверами, основным 192.168.1.11 и резервным 192.168.2.12:

esr(config)# radius-server host 192.168.1.11
esr(config-radius-server)# key ascii-text encrypted 8CB5107EA7005AFF
esr(config-radius-server)# priority 100 esr(config-radius-server)# exit
esr(config)# radius-server host 192.168.2.12
esr(config-radius-server)# key ascii-text encrypted 8CB5107EA7005AFF
esr(config-radius-server)# priority 150
esr(config-radius-server)# exit
CODE

Настраиваем политику ААА:

esr(config)# aaa authentication login CONSOLE radius local 
esr(config)# aaa authentication login SSH radius 
esr(config)# aaa authentication enable default radius enable
esr(config)# aaa authentication mode break
esr(config)# line console
esr(config-line-console)# login authentication CONSOLE 
esr(config-line-console)# exit esr(config)# line ssh 
esr(config-line-ssh)# login authentication SSH 
esr(config-line-ssh)# exit
CODE

Настраиваем логирование:

esr(config)# logging userinfo 
esr(config)# logging aaa
esr(config)# syslog cli-commands
CODE

Настройка удалённого управления 

Подробная информация о командах настройки удалённого доступа приведена в разделе Настройка доступа SSH, Telnet справочника команд CLI.

Рекомендации

  • Рекомендуется отключить удалённое управление по протоколу telnet.
  • Рекомендуется сгенерировать новые криптографические ключи.
  • Рекомендуется использовать криптостойкие алгоритмы аутентификации sha2-256, sha2-512 и отключить все остальные.
  • Рекомендуется использовать криптостойкие алгоритмы шифрования aes256, aes256ctr и отключить все остальные.
  • Рекомендуется использовать криптостойкий алгоритм обмена ключами шифрования dh-group-exchange-sha256 и отключить все остальные.
  • Рекомендуется разрешить доступ к удалённому управлению устройством только с определённых ip-адресов.   

Пример настройки

Задача:

Отключить протокол telnet. Сгенерировать новые ключи шифрования. Использовать криптостойкие алгоритмы.

Решение:

Отключаем удаленное управление по протоколу telnet:

esr(config)# no ip telnet server
CODE

Генерируем новые ключи шифрования:

esr-20(config)# crypto key generate dsa 
esr-20(config)# crypto key generate ecdsa 
esr-20(config)# crypto key generate ed25519 
esr-20(config)# crypto key generate rsa
esr-20(config)# crypto key generate rsa1
CODE

Отключаем устаревшие и не криптостойкие алгоритмы:

esr(config)# ip ssh server
esr(config)# ip ssh authentication algorithm md5 disable
esr(config)# ip ssh authentication algorithm md5-96 disable
esr(config)# ip ssh authentication algorithm ripemd160 disable
esr(config)# ip ssh authentication algorithm sha1 disable
esr(config)# ip ssh authentication algorithm sha1-96 disable
esr(config)# ip ssh encryption algorithm aes128 disable
esr(config)# ip ssh encryption algorithm aes128ctr disable
esr(config)# ip ssh encryption algorithm aes192 disable
esr(config)# ip ssh encryption algorithm aes192ctr disable
esr(config)# ip ssh encryption algorithm arcfour disable
esr(config)# ip ssh encryption algorithm arcfour128 disable
esr(config)# ip ssh encryption algorithm arcfour256 disable
esr(config)# ip ssh encryption algorithm blowfish disable
esr(config)# ip ssh encryption algorithm cast128 disable
esr(config)# ip ssh key-exchange algorithm dh-group-exchange-sha1 disable
esr(config)# ip ssh key-exchange algorithm dh-group1-sha1 disable
esr(config)# ip ssh key-exchange algorithm dh-group14-sha1 disable
esr(config)# ip ssh key-exchange algorithm ecdh-sha2-nistp256 disable
esr(config)# ip ssh key-exchange algorithm ecdh-sha2-nistp384 disable
esr(config)# ip ssh key-exchange algorithm ecdh-sha2-nistp521 disable
CODE

Настройка механизмов защиты от сетевых атак

Алгоритмы настройки механизмов защиты от сетевых атак приведены в разделе Настройка логирования и защиты от сетевых настоящего руководства.

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

Рекомендации

  • Рекомендуется всегда включать защиту от ip spoofing.
  • Рекомендуется всегда включать защиту от TCP-пакетов с неправильно выставленными флагами.
  • Рекомендуется всегда включать защиту от фрагментированных TCP-пакетов с выставленным флагом SYN
  • Рекомендуется всегда включать защиту от фрагментированных ICMP-пакетов.
  • Рекомендуется всегда включать защиту ICMP-пакетов большого размера.
  • Рекомендуется всегда включать защиту от незарегистрированных ip-протоколов.
  • Рекомендуется включать логирование механизма защиты от сетевых атак.

Пример настройки

Задача:

Настроить механизм защиты от сетевых атак в соответствии с рекомендациями.

Решение:

Включаем защиту от ip spoofing и логирование механизма защиты:

esr(config)# ip firewall screen spy-blocking spoofing
esr(config)# logging firewall screen spy-blocking spoofing
CODE

Включаем защиту от TCP-пакетов с неправильно выставленными флагами и логирование механизма защиты:

esr(config)# ip firewall screen spy-blocking syn-fin
esr(config)# logging firewall screen spy-blocking syn-fin
esr(config)# ip firewall screen spy-blocking fin-no-ack
esr(config)# logging firewall screen spy-blocking fin-no-ack
esr(config)# ip firewall screen spy-blocking tcp-no-flag
esr(config)# logging firewall screen spy-blocking tcp-no-flag
esr(config)# ip firewall screen spy-blocking tcp-all-flags
esr(config)# logging firewall screen spy-blocking tcp-all-flags
CODE

Включаем защиту от фрагментированных ICMP-пакетов и логирование механизма защиты:

esr(config)# ip firewall screen suspicious-packets icmp-fragment
esr(config)# logging firewall screen suspicious-packets icmp-fragment
CODE

Включаем защиту от ICMP-пакетов большого размера и логирование механизма защиты:

esr(config)# ip firewall screen suspicious-packets large-icmp
esr(config)# logging firewall screen suspicious-packets large-icmp
CODE

Включаем защиту от незарегистрированных ip-протоколов и логирование механизма защиты:

esr(config)# ip firewall screen suspicious-packets unknown-protocols
esr(config)# logging firewall screen suspicious-packets unknown-protocols
CODE