Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Привилегии доступа пользователя

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

Обзор уровней привилегий доступа

У каждой команды верхнего интерфейс командной строки и утверждения конфигурации есть связанный уровень привилегий доступа. Пользователи могут выполнять только эти команды, настраивать и просматривать только те утверждения, для которых у них есть привилегии доступа. Один или несколько флагов разрешений определяют привилегии доступа для каждого класса входа.

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

Флаги разрешения на вход в систему

Флаги разрешений используются для предоставления пользователю доступа к командам режима эксплуатации, а также к уровням иерархии конфигурации и утверждениям. Для класса входа пользователя на уровне иерархии настраиваются флаги [edit system login class] разрешений. При указании определенного флага разрешения пользователь получает доступ к командам, уровням иерархии конфигурации и утверждениям, соответствующим этому флагу. Чтобы предоставить доступ ко всем командам и настройкам конфигурации, используйте all флаг разрешений.

Прим.:

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

Утверждение permissions указывает один или несколько флагов разрешений, перечисленных в Табл. 1 . Флаги разрешений не накапливаются. Для каждого класса необходимо перечислить все необходимые флаги разрешений, включая отображение информации view и вход в режим configure конфигурации. Две формы разрешений контролируют доступ пользователя к отдельным частям конфигурации:

  • "Простая" форма — обеспечивает возможность только чтения для этого типа разрешений. Пример: interface .

  • -control form — обеспечивает возможность чтения и записи для этого типа разрешений. Пример: interface-control .

Для флагов разрешений, которые предоставляет доступ к уровням иерархии конфигурации и утверждениям, флаги с неудающимся форматом предоставляет только read-privilege для этой конфигурации. Например, флаг interface разрешений предоставляет доступ только для чтения на [edit interfaces] уровень иерархии. Форма -control флага предоставляет доступ к этой конфигурации для чтения и записи. Например, флаг предоставляет interface-control доступ для чтения-записи на [edit interfaces] уровень иерархии.

Табл. 1 перечисляет флаги разрешения класса входа, которые можно настроить, включив утверждение permissions на [edit system login class class-name] уровне иерархии.

Флаги разрешений предоставляет определенный набор привилегий доступа. Каждый флаг разрешений перечислены командами режима работы или режима конфигурации, уровнями иерархии конфигурации и утверждениями, для которых этот флаг предоставляет доступ.

Табл. 1: Флаги разрешения на вход в систему

Флаг разрешений

Описание

access

Можно просматривать конфигурацию доступа в режиме эксплуатации или в режиме настройки.

access-control

Можно просматривать и настраивать сведения о доступе на [edit access] уровне иерархии.

admin

Можно просматривать сведения о учетной записи пользователя в рабочем режиме или режиме настройки.

admin-control

Можно просматривать сведения об учетной записи пользователя и настраивать их на [edit system] уровне иерархии.

all

Имеет доступ ко всем командам режима эксплуатации и командам режима конфигурации. может изменять конфигурацию на всех уровнях иерархии конфигурации.

clear

Можно удалять (удалять) сведения, которые устройство узнает из сети и хранит в различных сетевых базах данных clear (с помощью команд).

configure

Можно зайти в режим конфигурации configure (с помощью команды) и зафиксировать конфигурации (с помощью commit команды).

control

Можно выполнять все операции уровня управления — все операции, настроенные с помощью -control флагов разрешений.

field

Просмотр команд от debug в полях. Зарезервировано для поддержки отладки.

firewall

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

firewall-control

Можно просматривать и настраивать сведения о фильтрах межсетевых экранов на [edit firewall] уровне иерархии.

floppy

Может читать и записывать на съемные носитли.

flow-tap

Можно просматривать конфигурацию потока-tap в режиме работы или в режиме настройки.

flow-tap-control

Можно просматривать и настраивать поток-tap на [edit services flow-tap] уровне иерархии.

flow-tap-operation

Может делать запросы flow-tap к маршрутизатору или коммутатору. Например, клиент динамического протокола управления задачами (DTCP) должен иметь право аутентификации как flow-tap-operationJunos OS административного пользователя.

Прим.:

Параметр flow-tap-operation не включен во флаг all-control разрешений.

idp-profiler-operation

Может просматривать данные профилера.

interface

Можно просматривать конфигурацию интерфейса в режиме эксплуатации и в режиме настройки.

interface-control

Может просматривать шасси, класс обслуживания (CoS), группы, параметры переададации и сведения о конфигурации интерфейсов. Можно изменять конфигурацию на следующем уровне иерархии:

  • [edit chassis]

  • [edit class-of-service]

  • [edit groups]

  • [edit forwarding-options]

  • [edit interfaces]

maintenance

Может выполнять системное обслуживание, включая запуск локального оболочки устройства и стать суперпользовательом в оболочке (с помощью команды) и остановить и перезагрузить устройство (с помощью su rootrequest system команд).

network

Можно получить доступ к сети с помощью pingssh команд , telnettraceroute и.

pgcp-session-mirroring

Может просматривать pgcp конфигурацию зеркального просмотра сеанса.

pgcp-session-mirroring-control

Может изменить pgcp конфигурацию зеркального отражение сеанса.

reset

Можно перезапустить программные процессы с помощью restart этой команды.

rollback

Можно использовать эту rollback команду для возврата к предварительно настроенной конфигурации.

routing

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

routing-control

Можно просматривать и настраивать общую маршрутную маршрутную маршрутику на уровне иерархии, протоколы маршрутов на уровне иерархии и сведения о политике маршрутов на [edit routing-options][edit protocols] уровне [edit policy-options] иерархии.

secret

В конфигурации можно просматривать пароли и другие ключи аутентификации.

secret-control

Может просматривать и изменять пароли и другие ключи аутентификации в конфигурации.

security

Можно просматривать сведения о конфигурации безопасности в рабочем режиме и режиме конфигурации.

security-control

Можно просматривать и настраивать сведения о безопасности на [edit security] уровне иерархии.

shell

Можно запустить локальный оболочку маршрутизатора или коммутатора с помощью start shell команды.

snmp

Можно просматривать сведения о конфигурации протокола управления простой сетью (SNMP) в режиме эксплуатации или в режиме настройки.

snmp-control

Может просматривать и изменять сведения о конфигурации SNMP на [edit snmp] уровне иерархии.

system

Можно просматривать сведения системного уровня в режиме эксплуатации или в режиме конфигурации.

system-control

Может просматривать и изменять сведения о конфигурации системного уровня на [edit system] уровне иерархии.

trace

Можно просматривать параметры файла трассировки и настраивать свойства файла трассировки.

trace-control

Может изменять настройки файла трассировки и настраивать свойства файла трассировки.

view

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

view-configuration

Можно просматривать все конфигурации, за исключением секретов, системных сценариев и параметров событий.

Прим.:

Только пользователи с maintenance разрешением могут просматривать конфигурацию сценариев, op-сценариев или сценариев событий.

Разрешить и запретить отдельные команды и иерархии утверждения для классов входа

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

Флаги разрешений предоставляет пользователю доступ к командам режима эксплуатации и режима конфигурации, а также к уровням иерархии и утверждениям конфигурации. Указав специальный флаг разрешений на пользовательском классе входа на уровне иерархии, пользователь получает доступ к соответствующим командам, а также уровням иерархии конфигурации [edit system login class] и указаниям. Чтобы предоставить доступ ко всем командам и настройкам конфигурации, используйте all флаг разрешений.

Использование команд и выражений можно разрешить или запретить, настроив , , и утверждения allow-commandsdeny-commands для класса allow-configurationdeny-configuration входа. В выражениях используются расширенные регулярные выражения для определения команд и выражений, которые позволяют или от отказывают пользователям, присвоенным классу.

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

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

Требования

Перед настройкой в этом примере не требуется специальная настройка после инициализации устройства.

Обзор

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

Вы определяете привилегии доступа для каждого класса входа, указав один или несколько флагов разрешений в permissions утверждение. Флаги разрешений предоставляет пользователю доступ к командам, утверждениям и иерархиям. Флаги разрешений не накапливаются. Для каждого класса входа необходимо ввести список всех необходимых флагов разрешений, включая отображение информации view и вход в режим configure конфигурации. Указав специальный флаг разрешений на пользовательском классе входа, пользователь получает доступ к соответствующим командам, утверждениям и иерархиям. Чтобы предоставить доступ ко всем командам и настройкам конфигурации, используйте all флаг разрешений. Флаги разрешений обеспечивают возможность чтения-только (неявной) и чтения и записи (форма, которая заканчивается на -control) возможности для типа разрешения.

Прим.:

Биты разрешения класса входа имеют приоритет над расширенными регулярными выражениями, когда пользователь введет команду с включенным allrollbackrollback флагом разрешений.

Чтобы настроить уровни привилегий доступа пользователя для класса входа, включите утверждение на уровне иерархии, а затем permissions[edit system login class class-name] — флаги разрешений. Настройте несколько разрешений в качестве списка с разделенным пространством, заключенного в квадратные скобки:

Совет:

Чтобы просмотреть доступные разрешения, воспользуйтесь справкой интерфейс командной строки учетом контекста и введите вопросителен (?) после permissions утверждения:

Конфигурации

В этом примере настраивается snmp-admin класс входа. Пользователи этого класса входа могут настраивать и просматривать только параметры SNMP.

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

Пошаговая процедура

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

  1. Настройте класс snmp-admin входа с флагами configure разрешения snmp и snmp-control ,.

    Настроенные флаги разрешений обеспечивают возможность чтения (snmp) и чтения и записи (snmp-control) для SNMP, и это единственная разрешенная привилегия доступа для этого класса входа. Все прочие привилегии доступа отказано.

  2. Создайте учетные записи пользователей, которые назначены snmp-admin классу входа.

Результаты

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

После настройки устройства войдите в commit режим конфигурации.

Проверки

Войдите в систему, используя имя пользователя, назначенное новому классу входа, и подтвердите, что конфигурация работает корректно.

Проверка конфигурации SNMP

Цель

Убедитесь, что пользователь класса snmp-admin входа может настроить SNMP.

Действий

В режиме конфигурации настройте SNMP-утверждения на [edit snmp] уровне иерархии.

Смысл

Пользователь класса snmp-admin входа может настроить параметры SNMP. Пользователь может настроить эти параметры, так как флаги разрешений, заданные для этого класса, включают как snmp (возможности чтения), так и snmp-control (возможности чтения и записи) разрешений.

Проверка конфигурации без SNMP

Цель

Убедитесь, что пользователь класса входа не может изменять утверждения конфигурации, не snmp-admin относя их к SNMP.

Действий

В режиме конфигурации попытается настроить любое заявление, не относя сказаться на SNMP, например, к окну в interfaces иерархии.

Смысл

Пользователь класса входа не может настроить иерархию, так как флаги разрешений, заданные для этого класса, snmp-admin[edit interfaces] не позволяют это сделать. В этом случае интерфейс командной строки сообщение об ошибке.

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

В этом разделе содержатся следующие разделы:

Понимание допустимой и запретной веяния

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

Привилегии доступа для каждого класса входа определяются одним или более флагами разрешений, заданными в утверждениях permissions на [edit system login class class-name] уровне иерархии. Кроме того, можно разрешить или запретить использование определенных команд и иерархий конфигурации, определив расширенные регулярные выражения. Регулярные выражения можно указать путем настройки следующих выражений для класса входа:

  • allow-commands и deny-commands (Разрешить или запретить доступ к рабочим режимам и командам режима конфигурации).

  • allow-configuration и deny-configuration .Разрешить или запретить доступ к определенным иерархиям конфигурации.

    Прим.:

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

  • allow-commands-regexps и deny-commands-regexps —Разрешить или запретить доступ к определенным командам, используя строки регулярных выражений.

  • allow-configuration-regexps и deny-configuration-regexps .Разрешить или запретить доступ к определенным иерархиям конфигурации, используя строки регулярных выражений.

Прим.:

Если существующие конфигурации используют те же параметры конфигурации, что и их существующие конфигурации, могут allow/deny-commandsallow/deny-configuration не дать allow/deny-commands-regexpsallow/deny-configuration-regexps одинаковых результатов. Методы поиска и поиска совпадений различаются в двух формах этих утверждения.

Явно разрешая команды и иерархии ехем конфигурации с помощью этих выражений, добавляются разрешения, allow/deny-* которые permissions уже определяется этим утверждением. Точно так же, явно denying commands и configuration statement иерархии с помощью этих выражений удаляют разрешения, allow/deny-* которые permissions уже определяется этим утверждением.

Например, в следующей конфигурации разрешение позволяет пользователям класса входа зайти configure в режим настройки. Кроме того, это выражение позволяет пользователям изменять конфигурацию на уровне иерархии и allow-configuration[edit system services] сфиксировать ее.

Аналогичным образом в следующей конфигурации пользователь класса входа может выполнять все операции, которые разрешает флаг разрешений, за исключением того, что пользователь не может просматривать или изменять конфигурацию на уровне all[edit system services] иерархии:

Понимание синтаксиса разрешания и запрета

Можно настроить утверждение allow/deny-* только один раз в каждом классе входа. При настройке утверждения:

  • Можно настроить столько регулярных выражений, сколько необходимо.

  • Регулярные выражения не чувствительны к случаям

Эти утверждения являются взаимоисключающими с утверждениями, а их утверждения являются allow/deny-commands взаимоисключающими. allow/deny-commands-regexpsallow/deny-configurationallow/deny-configuration-regexps Например, нельзя настроить оба класса входа и в одном allow-configurationallow-configuration-regexps и том же классе.

Для определения привилегий доступа к командам укажите расширенные регулярные выражения с помощью allow-commandsdeny-commands выражений и выражений. Заключите каждое полное отдельное выражение в скобки () и используйте символ "pipe" (|) для разлиления этих выражений. Не используйте пробелы между регулярными выражениями, связанными с символом канала. Полное выражение заключено в двойные кавычках.

Например:

Необходимо использовать якорные связи при указании сложных регулярных выражений с помощью allow-commands выражения. Например:

Для определения привилегий доступа к частям иерархии конфигурации укажите расширенные регулярные выражения в allow-configuration выражениях deny-configuration и выражениях. Заблокировать полные пути в скобки () и использовать символ (|) для разлиления выражений. Не используйте пробелы между регулярными выражениями, связанными с символом канала. Полное выражение заключено в двойные кавычках.

Например:

При указании расширенных регулярных выражений с использованием выражений или выражений каждое выражение можно включить в кавычках («) и разделить их с allow/deny-commands-regexpsallow/deny-configuration-regexps помощью пробела. Скрепить несколько выражений в квадратных скобках [ ]. Например:

Модификаторы, такие как setlog , и не count поддерживаются в строке регулярного выражения, подстраиваемой под совпадение. При использовании модификатора совпадений нет.

Правильная конфигурация:

Неправильная конфигурация:

Понимание приоритетности разрешающего и запретного утверждения и совпадения

По умолчанию, allow-commands и allow-configuration регулярные выражения имеют преимущество над и deny-commandsdeny-configuration expresssions. Таким образом, если настроить ту же команду для обеих операций и для утверждения, то операция allow имеет приоритет над allow-commandsdeny-commands операцией запрета. Аналогичным образом, если настроить один и тот же режим для обеих операций и для них, то операция allow имеет приоритет над allow-configurationdeny-configuration операцией запрета.

Например, следующая конфигурация позволяет пользователю в классе входа устанавливать программное обеспечение с помощью команды, даже несмотря на то, что утверждение включает ту testrequest system software add же deny-commands команду:

Аналогичным образом следующая конфигурация позволяет пользователю в проверке класса входа просматривать и изменять иерархию конфигурации, даже если утверждение содержит ту же test[edit system services]deny-configuration иерархию:

Если команды и утверждения имеют два разных варианта, совпадение с самым длинным allow-commandsdeny-commands всегда выполняется. Следующая конфигурация позволяет пользователю в классе test входа выполнять commit synchronize команду, но не commit команду. Это commit synchronize потому, что это самое длинное совпадение commit между и , и commit synchronize задано для allow-commands .

Следующая конфигурация позволяет пользователю в классе test входа выполнять commit команду, но не commit synchronize команду. Это commit synchronize потому, что это самое длинное совпадение commit между и , и commit synchronize задано для deny-commands .

В отличие от других выражений, поведение по умолчанию для них состоит в том, что регулярные выражения имеют преимущество над *-regexpsdeny-commands-regexpsdeny-configuration-regexpsallow-commands-regexpsallow-configuration-regexps выражениями. Можно настроить утверждение на уровне иерархии, чтобы принудить регулярные выражения иметь приоритет над regex-additive-logic[edit system]allow-configuration-regexpsdeny-configuration-regexps выражениями. Настройка утверждения позволяет отказать в иерархии конфигурации на более высоком уровне и разрешить пользователю доступ только к определенным под иерархиям.

Правила разрешания и запрета

allow/deny-commands, allow/deny-configuration и утверждения имеют приоритет allow/deny-commands-regexps над allow/deny-configuration-regexps разрешениями класса входа. При настройке этих правил применяются следующие правила:

  • Регулярные выражения allow-commands для и выражения могут также включать команды , , , , deny-commandscommitloadrollbacksavestatusupdate и.

  • Биты разрешения класса входа имеют приоритет над расширенными регулярными выражениями, когда пользователь введет команду с allrollback включенным rollback флагом разрешений.

  • Пользователи не могут выдавать load override команду при указании расширенного регулярного выражения. Пользователи могут выдавать только mergereplace команды и команды patch настройки.

  • Для разлиния на регулярных выражениях можно использовать символ подмены * Однако его необходимо использовать как часть регулярного выражения. Нельзя использовать [ * ] или в качестве единственное [ .* ] выражение. Кроме того, нельзя настроить утверждение с помощью такого выражения, как allow-configuration , так как это (interfaces (description (|.*)) оценивается как allow-configuration .* .

Понимание различий для утверждения *-regexps

В данном разделе описаны различия между утверждениями allow/deny-configurationallow/deny-configuration-regexps и утверждениями.

В выражениях регулярное выражение разбивется на маркеры и соответствует каждой части полного пути указанной конфигурации, в то время как утверждения совпадают с полной allow/deny-configuration-regexpsallow/deny-configuration строкой. Для выражений настраивается набор строк, в котором каждая строка является регулярным выражением с пробелами между allow/deny-configuration-regexps строками. Этот синтаксис обеспечивает очень быструю синхронизацию, но обеспечивает меньшую гибкость. Для указания поддикадных выражений необходимо настроить поддиадры для каждого маркера строки, которая является частью пространства, которую необходимо найти, что упрощает использование этих выражений под символами.

Например:

  • Регулярное выражение, совпадающие с одним маркером с помощью разрешаемой конфигурации-regexps

    В этом примере options показано, что является единственным совпадать выражением по отношению к первому маркеру утверждения.

    Предшествующий конфигурации соответствует следующим утверждениям:

    • setpolicy-optionscondition dynamic-db

    • set routing-options static route static-route next-hopnext-hop

    • set event-options generate-event time-intervalсекунды

    Предшествующий конфигурации не соответствует следующим утверждениям:

    • параметры host-name для системногохоста

    • интерфейсы параметров описания имениинтерфейса

  • Регулярное выражение, совпадающие с тремя маркерами с помощью разрешающих настроек-regexps

    В данном примере ssh показано, что это единственное совпадает выражение с третьим маркером утверждения.

    В предыдущем примере три маркера включают .* и .* , .*ssh соответственно.

    Предшествующий конфигурации соответствует следующим утверждениям:

    • system host-name hostname-ssh

    • системные службы SSH

    • исходящие системныесервисы — SSH

    Предшествующий конфигурации не соответствует следующему утверждениям:

    • интерфейсы описание имени интерфейсаssh

Проще использовать утверждение для ограничения доступа к конфигурации, чем использовать утверждение. Показывает использование обеих данной конфигурации как в различных конфигурациях, так и для достижения одинакового результата ограничения доступа к определенной deny-configurationdeny-configuration-regexpsТабл. 2deny-configurationdeny-configuration-regexps конфигурации.

Табл. 2: Запрет доступа к конфигурации с помощью сообщений deny-configuration и deny-configuration-regexps

Отказ в настройке

Используя: deny-configuration

Используя: deny-configuration-regexps

Результат

xnm-ssl

[edit system]
login {
    class test {
        permissions configure;
         allow-configuration .*;
        deny-configuration .*xnm-ssl;
    }
}
[edit system]
login {
    class test {
        permissions configure;
         allow-configuration .*;
        deny-configuration-regexps ".* .* .*-ssl"";
    }
}

В следующем утверждение конфигурации отказано:

  • системные службы xnm-ssl

ssh

[edit system]
login {
    class test {
        permissions configure;
        allow-configuration .*;
        deny-configuration ".*ssh";
    }
}
[edit system]
login {
    class test {
        permissions configure;
        allow-configuration .*;
        deny-configuration-regexps ".*ssh";
        deny-configuration-regexps ".* .*ssh";
        deny-configuration-regexps ".* .* .*ssh";
    }
}

Следующие утверждения конфигурации отклонены:

  • system host-name hostname-ssh

  • системные службы SSH

  • исходящие службы системы

  • безопасность ssh-known-host

Хотя эти выражения также полезны при простой конфигурации, они обеспечивают лучшую производительность и преодолеют неумеху, которая существовала при объединении выражений в allow/deny-configurationallow/deny-configuration-regexpsallow/deny-configuration выражениях.

Использование регулярных выражений на серверах удаленной авторизации

Можно использовать расширенные регулярные выражения для указания того, какие команды режима работы и режима конфигурации, а также выражения конфигурации и иерархии разрешены или запрещены для определенных пользователей. Эти регулярные выражения указываются локально в и на уровне allow/deny-commandsallow/deny-configurationallow/deny-commands-regexpsallow/deny-configuration-regexps[edit system login class class-name] иерархии. Регулярные выражения можно указать удаленно, указав Juniper Networks TACACS+ или RADIUS в конфигурации сервера авторизации. При настройке параметров авторизации как локально, так и удаленно, устройство объединяет регулярные выражения, полученные во время TACACS+ или RADIUS авторизации с любыми регулярными выражениями, определенными на локальном устройстве.

Прим.:

Начиная Junos OS 18.1, эти утверждения поддерживаются для allow-commands-regexpsdeny-commands-regexps авторизации TACACS+.

При указании нескольких регулярных выражений в локальной конфигурации с помощью символа (, или выражений), регулярные выражения настраиваются в скобки и отделяются с помощью символа allow-commandsdeny-commandsallow-configurationdeny-configuration канала. Полное выражение занося в двойные кавычках. Например, можно указать несколько allow-commands параметров с помощью следующего синтаксиса:

Сервер RADIUS авторизации использует следующие атрибуты и синтаксис:

Сервер авторизации TACACS+использует следующие атрибуты и синтаксис:

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

Сервер RADIUS авторизации использует следующие атрибуты и синтаксис:

Сервер авторизации TACACS+использует следующие атрибуты и синтаксис:

RADIUS серверы TACACS+ поддерживают также упрощенный синтаксис, в котором каждое отдельное выражение указывается в отдельной строке. Например, упрощенный синтаксис RADIUS сервере:

Аналогичным образом, упрощенный синтаксис сервера TACACS:

Табл. 3 различает конфигурацию локальной авторизации и конфигурацию авторизации сервера TACACS+ с использованием регулярных выражений.

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

Локализованная конфигурация

Конфигурация удаленного TACACS+

login {
    class local {
        permissions configure;
        allow-commands "(ping .*)|(traceroute .*)|(show .*)|(configure .*)|(edit)|(exit)|(commit)|(rollback .*)";
        deny-commands .*;
        allow-configuration "(interfaces .* unit 0 family ethernet-switching vlan mem.* .*)|(interfaces .* native.* .*)|(interfaces .* unit 0 family ethernet-switching interface-mo.* .*)|(interfaces .* unit .*)|(interfaces .* disable)|(interfaces .* description .*)|(vlans .* vlan-.* .*)"
        deny-configuration .*;
    }
}
user = remote {
    login = username
    service = junos-exec {
        allow-commands1 = "ping .*"
        allow-commands2 = "traceroute .*"
        allow-commands3 = "show .*"
        allow-commands4 = "configure"
        allow-commands5 = "edit"
        allow-commands6 = "exit"
        allow-commands7 = "commit"
        allow-commands8 = ".*xml-mode"
        allow-commands9 = ".*netconf"
        allow-commands10 = ".*need-trailer"
        allow-commands11 = "rollback.*"
        deny-commands1 = ".*"
        allow-configuration1 = "interfaces .* unit 0 family ethernet-switching vlan mem.* .*"
        allow-configuration2 = "interfaces .* native.* .*"
        allow-configuration3 = "interfaces .* unit 0 family ethernet-switching interface-mo.* .*"
        allow-configuration4 = "interfaces .* unit .*"
        allow-configuration5 = "interfaces .* disable"
        allow-configuration6 = "interfaces .* description .*"
        allow-configuration7 = "interfaces .*"
        allow-configuration8 = "vlans .* vlan-.* .*"
        deny-configuration1 = ".*"
        local-user-name = local-username
        user-permissions = "configure"
    }
}
Прим.:
  • Необходимо явно разрешить доступ к режиму NETCONF локально или удаленно, выдав следующие три команды: xml-mode, netconf и need-trailer .

  • При использовании утверждения deny-configuration = ".*" необходимо разрешить все желаемые конфигурации с помощью этого allow-configuration утверждения. Однако данная конфигурация может повлиять на допустимый предел буфера регулярных выражений для allow-configuration выражения. Если этот предел превышен, допустимая конфигурация может не работать.

Указание регулярных выражений

Внимание:

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

Регулярные выражения команд и выражений конфигурации следует указывать так же, как и для выполнения полной команды или утверждения. Табл. 4 перечисляет регулярные выражения для настройки привилегий доступа для иерархий выражения и иерархий [edit interfaces][edit vlans] выражений, а также для delete interfaces команды.

Табл. 4: Указание регулярных выражений

Заявление

Регулярное выражение

Примечания к конфигурации

[edit interfaces]

Команда set для интерфейсов выполняется следующим образом:

[edit]
user@host# set interfaces interface-name unit interface-unit-number

Утверждение set interfaces само по себе является неполным и требует возможности выполнения этого unit утверждения.

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

[edit system login class class-name]
user@host# set permissions configure
user@host# set deny-configuration "interfaces .* unit .*"
  • Оператор указывает на все, что указано в определенном .* пункте вперед для данной конкретной команды или оператора. В данном примере оно обозначает любое имя интерфейса с любым значением единицы.

  • Указывать только утверждение неправильно и не откажите в доступе к конфигурации интерфейсов deny-configuration "interfaces .*" для указанного класса входа.

  • Другие допустимые параметры можно включить в регулярное выражение. Например:

    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set deny-configuration "interfaces .* description .*"
    
    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration-regexps [ "interfaces .* description .*" "interfaces .* unit .* description .*" "interfaces .* unit .* family inet address .*" "interfaces.* disable" ]
    
    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration "interfaces .* unit 0 family ethernet-switching vlan mem.* .*"
    

    Примечание: Регулярное выражение в этом примере используется, когда ожидается, что в указанное регулярное выражение будет включено несколько строк, начиная с ключевого слова mem.*mem. Если ожидается member включить только одну строку, используется member .* регулярное выражение.

delete interfaces

Команда delete для интерфейсов выполняется следующим образом:

[edit]
user@host# delete interfaces interface-name

Утверждение delete interfaces может быть выполнено самостоятельно и не требует выполнения дополнительных еха.

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

[edit system login class class-name]
user@host# set permissions configure
user@host# set allow-configuration "interfaces .*"
user@host# set deny-configuration "interfaces .*"
  • Оператор указывает на все, что указано в определенном .* пункте вперед для данной конкретной команды или оператора. В данном примере он обозначает любое имя интерфейса.

  • Для применения регулярного выражения указанный класс входа должен разрешить разрешения на настройку иерархии интерфейсов с deny-configuration "interfaces .*" использованием allow-configuration "interfaces .*" регулярного выражения.

[edit vlans]

Команда set для VLANs выполняется следующим образом:

[edit]
user@host# set vlans vlan-name vlan-id vlan-id

В этом случае утверждение является неполным и требует возможности set vlansvlan-id выполнения этого утверждения.

В результате регулярное выражение, необходимое для настройки, должно указывать всю исполняемую строку с оператором, а не set vlans.* переменными операторов:

[edit system login class class-name]
user@host# set permissions configure
user@host# set allow-configuration "vlans .* vlan-id .*"
  • Оператор указывает на все, что указано в определенном .* пункте вперед для данной конкретной команды или оператора. В данном примере он обозначает любое имя VLAN с любым ID VLAN.

  • Другие допустимые параметры в [edit vlans] иерархии выражений могут быть включены в регулярное выражение. Например:

    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration-regexps [ "vlans .* vlan-id .*" "vlans .* vlan-id .* description .*" "vlans .* vlan-id .* filter .*" ]
    

Операторы регулярных выражений

Табл. 5 перечисляет операторов регулярных выражений, которые можно использовать для разрешания или запрета рабочих режимов и режимов конфигурации.

Регулярные выражения команд реализуют расширенные (современные) регулярные выражения, как определено в POSIX 1003.2.

Табл. 5: Операторы обычных выражений

Оператор

Матч

Примере

|

Один из двух или более терминов, разделенных каналом. Каждый термин должен быть полным автономным выражением, заключенным в скобки (), без пробелов между каналом и смежными скобами.

[edit system login class test]
user@host# set permissions configure
user@host# set allow-commands "(ping)|(traceroute)|(show system alarms)|(show system software)"
user@host# set deny-configuration "(access)|(access-profile)|(accounting-options)|(applications)|(apply-groups)|(bridge-domains)|(chassis)|(class-of-service)"

В предыдущей конфигурации пользователи, приписаные испытанию класса входа, имеют доступ в режиме эксплуатации только к командам, указанным в allow-commands сообщении. У них также есть доступ к режиму конфигурации, за исключением иерархических уровней, указанных в deny-configuration сообщении.

^

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

[edit system login class test]
user@host# set permissions interface
user@host# set permissions interface-control
user@host# set allow-commands "(^show) (log|interfaces|policer))|(^monitor)"

В предыдущей конфигурации пользователи, приписаные тестовому классу входа, имеют доступ к просмотру и настройке конфигурации интерфейса. Утверждение allow-commands предоставляет доступ к командам, начинанымся с show ключевых слов и monitor ключевых слов.

Для первого фильтра указанные команды включают команды show log , show interfacesshow policer и. Второй фильтр определяет все команды, начиная с ключевого слова, например, команды monitormonitor interfaces или monitor traffic команды.

$

Символ в конце команды. Используется для того, чтобы обозначить команду, которая должна быть точно совпадать до этого момента.

[edit system login class test]
user@host# set permissions interface
user@host# set allow-commands "(show interfaces$)"

В предыдущей конфигурации пользователи, приписавшие тестовый класс входа, могут просматривать конфигурации интерфейсов в режиме конфигурации. Пользователи могут также просматривать конфигурацию интерфейса с помощью show configuration команды operational mode. Однако регулярное выражение, указанное в этом выражении, ограничивает выполнение пользователями только команды и отказано в доступе к расширениям команд, таким как allow-commandsshow interfacesshow interfaces detailshow interfaces extensive или.

[ ]

Диапазон букв или цифр. Чтобы отделить начало и конец диапазона, используйте дефис (-   ).

[edit system login class test]
user@host# set permissions clear
user@host# set permissions configure
user@host# set permissions network
user@host# set permissions trace
user@host# set permissions view
user@host# set allow-configuration-regexps [ "interfaces [gx]e-.* unit [0-9]* description .*" ]

В предыдущей конфигурации пользователи, приписаные испытанию класса входа, имеют права пользователя на уровне оператора. Эти пользователи также имеют доступ для настройки интерфейсов в указанном диапазоне имен интерфейсов и номеров единиц (от 0 до 9).

( )

Группа команд, указывающих на полное, standalone выражение, подлежающее оценке. Затем результат будет оцениваться как часть общего выражения. Скобки должны использоваться совместно с операторами каналов связи, как поясняется в объяснении.

[edit system login class test]
user@host# set permissions all
user@host# set allow-commands "(clear)|(configure)"
user@host# deny-commands "(mtrace)|(start)|(delete)"

В конфигурации, указанной выше, пользователи, приписаные классу тестового входа, имеют права суперпользовательного уровня и имеют доступ к командам, указанным в allow-commands сообщении.

*

Ноль или более терминов.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m*)"

В вышеуказанной конфигурации пользователям, которым назначен тестовый класс входа, имя пользователя входа которого начинается с отклоненного доступа m к конфигурации.

+

Один или несколько терминов.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m+)"

В вышеуказанной конфигурации пользователям, которым назначен тестовый класс входа, имя пользователя входа которого начинается с отклоненного доступа m к конфигурации.

.

Любой символ, за исключением пробела «.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m.)"

В вышеуказанной конфигурации пользователям, которым назначен тестовый класс входа, имя пользователя входа которого начинается с отклоненного доступа m к конфигурации.

.*

Все с указанной точки в направлении вперед.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m .*)"

В вышеуказанной конфигурации пользователям, которым назначен тестовый класс входа, имя пользователя входа которого начинается с отклоненного доступа m к конфигурации.

Аналогичным образом утверждение deny-configuration "protocols .*" отказано в доступе к конфигурации на уровне [edit protocols] иерархии.

Прим.:
  • *, + и . операции могут быть достигнуты с помощью .* .

  • А deny-commands .* также утверждения отказывают в deny-configuration .* доступе ко всем командам операционного режима и иерархиям конфигураций соответственно.

Прим.:

Регулярное ! выражение operator не поддерживается.

Примеры регулярных выражений

Табл. 6 перечисляет регулярные выражения, используемые для того, чтобы разрешить параметры конфигурации в двух иерархиях конфигурации, и в качестве примера для указания [edit system ntp server][edit protocols rip] регулярных выражений.

Прим.:

Табл. 6 не предоставляет полный список всех регулярных выражений и ключевых слов для всех выражений конфигурации и иерархий. Регулярные выражения, перечисленные в таблице, подтверждаются только для [edit system ntp server] иерархий и [edit protocols rip] выражений.

Табл. 6: Примеры регулярных выражений

Иерархия утверждения

Регулярные выражения

Разрешенная конфигурация

Отклоненная конфигурация

[edit system ntp server]

     

key key-number

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* key .*" ]
set deny-configuration-regexps [ "system ntp server .* version .*" "system ntp server .* prefer" ]
  • IP-адрес сервера

  • IP-адрес сервера и ключ

  • Версия

  • Предпочитают

номер версии версии

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* version .*" ]
set deny-configuration-regexps [ "system ntp server .* key .*" "system ntp server .* prefer" ]
  • IP-адрес сервера

  • IP-адрес сервера и версия

  • ключ

  • Предпочитают

Предпочитают

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* prefer" ];
set deny-configuration-regexps [ "system ntp server .* key .*" "system ntp server .* version .*" ]
  • IP-адрес сервера

  • IP-адрес сервера и предпочтение

  • ключ

  • Версия

[edit protocols rip]

     

размер сообщения в размере сообщения

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip message-size .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip route-timeout .*" "protocols rip update-interval .*" ]
  • размер сообщения

  • metric-in

  • время ивеха маршрутов

  • интервал обновления

metric-in metric-in

[edit system login class test]
set permissions configure
set  allow-configuration-regexps "protocols rip metric-in .*"
set  deny-configuration-regexps [ "protocols rip message-size .*" "protocols rip route-timeout .*" "protocols rip update-interval .*" ]
  • metric-in

  • размер сообщения

  • время ивеха маршрутов

  • интервал обновления

и время и времени извеки маршрута

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip route-timeout .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip message-size .*" "protocols rip update-interval .*" ]
  • время ивеха маршрутов

  • размер сообщения

  • metric-in

  • интервал обновления

update-interval update-interval (интервал обновления с интервалом обновления)

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip update-interval .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip route-timeout .*" "protocols rip message-size .*" ]
  • интервал обновления

  • размер сообщения

  • metric-in

  • время ивеха маршрутов

Определение привилегий доступа с помощью разрешаемой конфигурации и извеетов конфигурации deny-configuration

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

  • флаги разрешений

  • allow-configuration и deny-configuration утверждения

Флаги разрешений определяют более крупные границы того, что может получить доступ и управление лицом или классом входа. Эти выражения содержат одно или несколько регулярных выражений, которые позволяют или от запретить определенные allow-configurationdeny-configuration иерархии и выражения конфигурации. Эти утверждения имеют приоритет над флагами разрешений и дают администратору возможность более точно контролировать иерархии и утверждения, которые пользователь может просматривать allow-configurationdeny-configuration и настраивать.

В этой теме объясняется, как определить привилегии доступа с помощью и утверждениями, показав примеры конфигураций класса входа, которые allow-configurationdeny-configuration используют эти утверждения. В примерах с 1 по 3 создаются классы входа, которые позволяют пользователям получать доступ ко всем командам и утверждениям, кроме определенных в deny-configuration сообщении.

Обратите внимание, что бит разрешенияи флаг разрешения используются как взаимозаменяемы.

Пример 1

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

  1. Установите для пользователя разрешения на вход в all класс.
  2. Включит в себя следующий deny-configuration утверждение.

Пример 2

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

  1. Установите для пользователя разрешения на вход в all класс.

  2. Включит в себя следующий deny-configuration утверждение.

Пример 3

Чтобы создать класс входа, позволяющий пользователю выполнять все команды и настраивать все, кроме [edit system login class][edit system services] иерархии или уровней иерархии:

  1. Установите для пользователя разрешения на вход в all класс.

  2. Включив в себя deny-configuration следующие утверждения:

В следующих примерах покажут, как использовать эти и утверждения для определения разрешений, allow-configurationdeny-configuration инверсных друг другу на уровне [edit system services] иерархии.

Пример 4

Чтобы создать класс входа, который позволяет пользователю иметь полные привилегии конфигурации только на уровне [edit system services] иерархии:

  1. Установите для пользователя разрешения на вход в configure класс.

  2. Включив в себя allow-configuration следующие утверждения:

Пример 5

Чтобы создать класс входа, который разрешает пользователю полное разрешение на все команды и все иерархии конфигурации, кроме [edit system services] уровня иерархии:

  1. Установите для пользователя разрешения на вход в all класс.

  2. Включит в себя следующий deny-configuration утверждение.

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

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

Требования

В данном примере используется устройство, Junos OS версии 16.1 или более поздней.

Обзор

Регулярные выражения можно определить для управления тем, кто может вносить изменения в конфигурацию и что они могут изменить. Эти регулярные выражения указывают на определенные иерархии конфигурации, доступ к которые разрешен пользователям в классе входа. Например, можно определить регулярные выражения, позволяющие пользователям изменять группу экземпляров маршрутов и определять регулярные выражения, которые не позволяют пользователям вносить изменения в другие экземпляры маршрутов или на другие уровни конфигурации. Регулярные выражения определяются настройкой классов входа и их allow-configuration-regexpsdeny-configuration-regexps выражений.

По умолчанию утверждение deny-configuration-regexps имеет приоритет над allow-configuration-regexps утверждением. Если иерархия конфигурации отображается в утверждениях для класса входа, она не видна пользователям этого класса вне зависимости от deny-configuration-regexps содержимого allow-configuration-regexps утверждения. Если иерархия конфигурации не отображается в утверждениях, она будет видна пользователям этого класса, если она появляется deny-configuration-regexps в allow-configuration-regexps сообщении.

Это поведение по умолчанию можно изменить, включив логику прибавки к *-configuration-regexps этим утверждениям. Если включить логику прибавки, allow-configuration-regexps утверждение будет иметь приоритет над deny-configuration-regexps утверждением.

Таким образом, если утверждение отказывает в доступе ко всем иерархиям конфигурации на заданном уровне (протоколы.*), но разрешает доступ к одной под иерархии deny-configuration-regexpsallow-configuration-regexps (протоколы bgp.*), то устройство по умолчанию отказывает в доступе к иерархиям для пользователей данного класса входа, поскольку утверждение имеет deny-configuration-regexps приоритет. Однако при впуске логики прибавки к нему устройство обеспечивает доступ к указанной под иерархии для пользователей этого класса входа, поскольку в данном случае приоритет отдается allow-configuration-regexps данному классу.

Конфигурации

Пошаговая процедура

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

  1. deny-configuration-regexpsВключив утверждение и явно отключив доступ к иерархиям конфигурации.

    Например:

  2. allow-configuration-regexpsВключив утверждение и определите регулярные выражения для допустимых иерархий.

    Например:

  3. В режиме прибавления к allow-configuration-regexps логике для deny-configuration-regexps регулярных выражений.

  4. Назначьте класс входа одному или более пользователям.

  5. Сфиксировать изменения.

    Пользователи, приписаные этому классу входа, имеют доступ к иерархиям конфигурации, включенным в утверждение, но не имеют доступа к другим иерархиям, allow-configuration-regexps указанным в deny-configuration-regexps сообщении.

Прим.:

При настройке утверждения изменение поведения применимо ко всем и утверждениям, присутствующим во всех regex-additive-logicallow-configuration-regexpsdeny-configuration-regexps классах входа. При внося прибавке к логике следует оценить существующие утверждения на любые последствия и соответствующим образом обновить регулярные выражения в этих выражениях.

Примеры

Использование регулярных выражений с логикой прибавления

Цель

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

Разрешение определенных экземпляров маршрутов

В следующем примере класса регистрации содержится регулярное выражение, которое позволяет использовать конфигурацию экземпляров маршрутов, имена которых начинаются CUST-VRF- с; например, CUST-VRF-1 (например, CUST-VRF-25 ,) CUST-VRF-100 и так далее. В примере также содержится регулярное выражение, предотвращая настройку экземпляров маршрутов.

По умолчанию утверждение имеет приоритет, а предыдущая конфигурация не позволяет пользователям класса входа настраивать экземпляры маршрутов вне зависимости от deny-configuration-regexps имени.

Однако при настройке следующего утверждения он allow-configuration-regexps имеет приоритет. Таким образом, пользователи могут настраивать экземпляры маршрутов, имена которых начинаются, но пользователи не могут настроить другие CUST-VRF- экземпляры маршрутов.

Разрешить BGP только одноранговую конфигурацию

В следующем примере класса входа содержатся регулярные выражения, которые предотвращают конфигурацию на уровне иерархии, но позволяют [edit protocols] BGP равноправных BGP:

По умолчанию предыдущая конфигурация не позволяет пользователям в классе входа вносить изменения в иерархии в [edit protocols] соответствии с .

Однако при настройке следующего утверждения пользователи класса входа могут внести изменения в BGP равноправных узлах, но пользователи не могут настроить другие протоколы или другие BGP вне разрешенного уровня иерархии.

Проверки

Чтобы проверить правильность установленного доступа:

  1. Настройте класс входа и сфиксировать изменения.

  2. Примените класс входа к имени пользователя.

  3. Войдите в систему, как имя пользователя, назначенное новым классом входа.

  4. Попытка настройки разрешенных иерархических уровней.

    • Необходимо иметь возможность настраивать разрешенные для иерархии утверждения.

    • Отклоненные уровни иерархии не должны быть видимыми.

    • Любое разрешенное или запрещенное выражение должно иметь приоритет над любыми разрешениями, предоставленными этим permissions утверждением.

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

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

Требования

В данном примере используются следующие аппаратные и программные компоненты:

  • Одно Juniper Networks устройство

  • Один сервер TACACS+ (или RADIUS)

Перед началом необходимо установить TCP-соединение между устройством и сервером TACACS+. В случае с сервером RADIUS UDP-соединение между устройством и RADIUS сервером.

Обзор и топология

Рис. 1 иллюстрирует простую топологию, где маршрутизатор М1 является Juniper Networks и имеет TCP-соединение, установленное с сервером TACACS+.

Рис. 1: Топологии Топологии

В этом примере R1 настраивается с тремя пользовательскими классами входа: Класс 1, класс 2 и класс 3. Каждый класс определяет права доступа для пользователя путем настройки выражения и определения расширенных регулярных выражений с помощью permissionsallow-commandsdeny-commands выражений и выражений.

Назначение каждого класса входа:

  • Class1-Определяет права доступа только для пользователя с помощью allow-commands точки доступа. Данный класс входа предоставляет пользователю разрешения и авторизацию на уровне оператора для перезагрузки устройства.

  • Class2-Определяет права доступа только для пользователя с помощью deny-commands точки доступа. Этот класс входа предоставляет пользовательские разрешения на уровне оператора и не позволяет получать доступ set к командам.

  • Class3-Определяет права доступа для пользователя с помощью обеих allow-commands точки deny-commands доступа. Данный класс входа предоставляет пользователю на суперпользовательных полномочиях и авторизацию для доступа к интерфейсам и просмотра сведений об устройствах. Он также отказано в доступе к editconfigure командам и командам.

Маршрутизатор М1 имеет трех различных пользователей: User1, User2 и User3, которые назначены классам class1, Class2 и Class3 для регистрации, соответственно.

Конфигурации

интерфейс командной строки быстрой конфигурации

Для быстрой настройки этого примера, скопируйте следующие команды, введите их в текстовый файл, удалите все обрывы строки, измените все данные, необходимые для настройки сети, скопируйте и введите команды на интерфейс командной строки иерархии, а затем войдите в режим [edit]commit настройки.

R1

Настройка параметров аутентификации для маршрутизатора М1

Пошаговая процедура

Настройка аутентификации маршрутизатора М1:

  1. Настройте порядок, в котором R1 пытается аутентификацию пользователя. В данном примере сначала следует аутентификация сервера TACACS+, затем RADIUS аутентификация сервера, а затем локальный пароль.

  2. Настройка сервера TACACS+.

  3. Настройте RADIUS сервер.

  4. Настройте параметры учета R1.

Настройка привилегий доступа с помощью команды allow (класс 1)

Пошаговая процедура

Для указания регулярных выражений с помощью allow-commands выражения:

  1. Настройте класс регистрации класса 1 и назначьте пользовательские разрешения на уровне оператора.

  2. Настройте allow-commands регулярное выражение, чтобы пользователи этого класса могли перезагрузить устройство.

  3. Настройте учетную запись пользователя для класса входа класса 1.

Настройка привилегий доступа с помощью утверждения команды deny-commands (класс 2)

Пошаговая процедура

Для указания регулярных выражений с помощью deny-commands выражения:

  1. Настройте класс регистрации класса 2 и назначьте пользовательские разрешения на уровне оператора.

  2. Настройте регулярное выражение, чтобы не допустить выполнения deny-commands команд set пользователями класса.

  3. Настройте учетную запись пользователя для класса 2 login class.

Настройка привилегий доступа с помощью команд allow и deny-commands (класс 3)

Пошаговая процедура

Для указания регулярных выражений, использующих allow-commands как выражения, так deny-commands и выражения:

  1. Настройте класс регистрации 3-го класса и назначьте разрешения уровня superuser.

  2. Настройте регулярное выражение, чтобы не допустить выполнения команд deny-commands пользователями класса.

  3. Настройте allow-commands регулярное выражение так, чтобы пользователи вошли в режим конфигурации.

  4. Настройте учетную запись пользователя для класса 3 login class.

Результаты

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

Проверки

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

Проверка конфигурации класса 1

Цель

Убедитесь, что разрешения и команды, разрешенные в классе входа класса 1, работают.

Действий

В рабочем режиме запустите show system users команду.

В рабочем режиме запустите request system reboot команду.

Смысл

Класс 1, которому назначен User1, обладает разрешениями пользователя на уровне оператора и позволяет пользователям этого класса выполнять request system reboot команду.

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

  • clear— Можно использовать команды для удаления (удаления) информации, которая хранится устройством из сети и хранится clear в различных сетевых базах данных.

  • network-Доступ к сети может быть с помощью ping команд ssh , telnettraceroute и.

  • reset- Можно перезапустить программные процессы с помощью restart команды.

  • trace- Можно просматривать параметры файла трассировки и настраивать свойства файла трассировки.

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

Для класса входа класса 1 в дополнение к упомянутым разрешениям пользователя User1 может выполнить request system reboot команду. В первом выводе отображаются разрешения на просмотр в качестве оператора, а во втором – команда User1, которая может выполняться как request systemrequest system reboot оператор.

Проверка конфигурации класса 2

Цель

Убедитесь, что разрешения и команды, разрешенные для класса входа класса 2, работают.

Действий

В рабочем режиме запустите ping команду.

В командной интерфейс командной строки проверьте доступные команды.

В командной интерфейс командной строки командой any set.

Смысл

Класс 2, которому назначен user2, обладает разрешениями пользователя на уровне оператора и не может получить доступ ко set всем командам.

Флаги разрешений, заданные для заранее определенного класса входа оператора, те же, что и для класса 1.

Проверка конфигурации класса 3

Цель

Убедитесь, что разрешения и команды, разрешенные для класса входа класса 3, работают.

Действий

В режиме эксплуатации проверьте доступные команды.

Перейдите в режим настройки.

Смысл

Класс регистрации 3, которому назначен user3, имеет права суперпользователь (все), но этот класс позволяет только пользователям выполнять configure команду. Класс отказано в доступе ко всем другим командам рабочего режима. Поскольку регулярные выражения, заданные в выражениях, имеют приоритет над разрешениями пользователя, пользователь User3 на R1 имеет доступ только в режим конфигурации и получает отказ в доступе ко всем другим командам allow/deny-commands операционного режима.

Примере: Настройка пользовательских прав с привилегиями доступа для конфигурирований и иерархий

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

Требования

В данном примере используются следующие аппаратные и программные компоненты:

  • Одно Juniper Networks устройство

  • Один сервер TACACS+ (или RADIUS)

Перед началом необходимо установить TCP-соединение между устройством и сервером TACACS+. В случае с сервером RADIUS UDP-соединение между устройством и RADIUS сервером.

Обзор и топология

Рис. 2 иллюстрирует простую топологию, где маршрутизатор М1 является Juniper Networks и имеет TCP-соединение, установленное с сервером TACACS+.

Рис. 2: Топологии Топологии

В этом примере R1 настраивается с двумя настраиваемыми классами входа: Класс 1 и класс 2. Каждый класс определяет права доступа для пользователя путем настройки выражения и определения расширенных регулярных выражений с помощью выражений permissionsallow-configuration и deny-configurationallow-configuration-regexpsdeny-configuration-regexps выражений.

Назначение каждого класса входа:

  • Class1-Определяет права доступа для пользователя с помощью allow-configuration точки доступа и deny-configuration точки доступа. Данный класс входа предоставляет доступ только для настройки иерархии и отказано в доступе к другим [edit interfaces] устройствам. Для этого пользователю предоставляется доступ к configure конфигурации. Кроме того, утверждение разрешает доступ к конфигурации интерфейсов и отказано в доступе ко всем allow-configurationdeny-configuration другим иерархиям конфигураций. Так как утверждение allow имеет приоритет над утверждением deny, пользователи, присвоенные классу входа класса 1, могут иметь доступ только к [edit interfaces] уровню иерархии.

  • Class2-Определяет права доступа для пользователя с помощью allow-configuration-regexps точки доступа и deny-configuration-regexps точки доступа. Этот класс входа предоставляет пользователю права на суперпользователь и явно разрешает конфигурацию для интерфейсов с несколькими уровнями иерархии. Он также не может получить доступ к [edit system] уровням [edit protocols] иерархии и иерархии.

Маршрутизатор М1 имеет двух пользователей, User1 и User2, которые назначены классам входа класса 1 и 2 соответственно.

Конфигурации

интерфейс командной строки быстрой конфигурации

Чтобы быстро настроить этот пример, скопируйте следующие команды, введите их в текстовый файл, удалите все обрывы строки, измените все данные, необходимые для настройки сети, скопируйте и введите команды в интерфейс командной строки на иерархии, а затем войдите в режим [edit]commit настройки.

R1

Настройка параметров аутентификации для маршрутизатора М1

Пошаговая процедура

Настройка аутентификации маршрутизатора М1:

  1. Настройте порядок, в котором R1 пытается аутентификацию пользователя. В данном примере сначала следует аутентификация сервера TACACS+, затем RADIUS аутентификация сервера, а затем локальный пароль.

  2. Настройка сервера TACACS+.

  3. Настройте RADIUS сервер.

  4. Настройте параметры учета R1.

Настройка привилегий доступа с помощью разрешаемой конфигурации и еконфигурирований deny-configuration (Класс 1)

Пошаговая процедура

Для указания регулярных выражений с allow-configuration помощью deny-configuration выражений и выражений:

  1. Настройте класс входа класса 1 с configure разрешениями.

  2. Настройте регулярное выражение, позволяя пользователям класса просматривать и изменять allow-configuration часть [edit interfaces] иерархии.

  3. Настройте deny-configuration регулярное выражение для запрета доступа ко всем иерархиям конфигурации.

  4. Настройте учетную запись пользователя для класса входа класса 1.

Настройка привилегий доступа с помощью разрешаемых regexps-конфигураций и сообщений deny-configuration-regexps (Class2)

Пошаговая процедура

Для указания регулярных выражений с allow-configuration-regexps помощью deny-configuration-regexps выражений и выражений:

  1. Настройте класс регистрации класса 2 и назначьте суперпользователь (все) разрешения.

  2. Настройте регулярное выражение так, чтобы пользователи класса получили доступ к нескольким allow-configuration-regexps иерархиям уровня [edit interfaces] иерархии.

  3. Настройте регулярное выражение, чтобы не допустить просмотра или изменения конфигурации пользователями класса на уровнях иерархии и на deny-configuration-regexps[edit system] уровне [edit protocols] иерархии.

  4. Настройте учетную запись пользователя для класса 2 login class.

Результаты

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

Проверки

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

Проверка конфигурации класса 1

Цель

Убедитесь, что разрешения, разрешенные в классе входа класса 1, работают.

Действий

В режиме эксплуатации проверьте доступные команды.

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

Смысл

Пользователь user1 имеет configure права пользователя, как видно из первых выходных данных. Кроме того, в режиме конфигурации пользователь User1 имеет доступ к уровню иерархии, но только к этому уровню иерархии, как по видеть interfaces во втором выводе.

Проверка конфигурации класса 2

Цель

Убедитесь, что конфигурация класса 2 работает, как ожидалось.

Действий

В режиме конфигурации пере доступа к interfaces конфигурации.

В режиме конфигурации пере доступ к systemprotocols иерархиям и конфигурациям.

Смысл

Пользователь 2 имеет разрешения на настройку интерфейсов на R1, но пользователь не имеет права просматривать или изменять уровни [edit system][edit protocols] иерархии.

Таблица истории выпусков
Версия
Описание
18.1
Начиная Junos OS 18.1, эти утверждения поддерживаются для allow-commands-regexpsdeny-commands-regexps авторизации TACACS+.