Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos OS доступа пользователей

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

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

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

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

В следующих разделах предоставляется дополнительная информация о разрешениях:

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

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

Прим.:

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

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

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

  • Form that ends in (Форма, оканчивается на этом конце) — обеспечивает возможность чтения и -control записи для этого типа разрешений. Пример: interface-control .

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

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

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

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

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

Описание

Доступа

Можно просматривать конфигурацию доступа в режиме конфигурации и с помощью show configuration команды operational mode.

контроль доступа

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

Администратора

Можно просматривать сведения о учетной записи пользователя в режиме конфигурации и с помощью show configuration команды operational mode.

администрирование

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

all-control

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

all

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

Ясно

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

Настроить

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

Управления

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

Поле

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

Брандмауэра

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

управление межсетевой экраном

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

Дискеты

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

поток-нажатие

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

управление потоком-tap

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

flow-tap-operation

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

Прим.:

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

idp-profiler-operation

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

Интерфейс

Можно просматривать конфигурацию интерфейса в режиме конфигурации и с помощью show configuration команды operational mode.

управление интерфейсом

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

  • [edit chassis]

  • [edit class-of-service]

  • [edit groups]

  • [edit forwarding-options]

  • [edit interfaces]

Обслуживания

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

Сети

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

зеркальное отражение сеансов pgcp

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

pgcp-session-mirroring-control

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

Сброс

Можно перезапустить программные процессы с помощью этой команды и настроить, включены ли программные процессы на restart[edit system processes] иерархической уровне.

Отката

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

маршрутизация

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

контроль маршрутов

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

Секрет

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

секретный контроль

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

Безопасности

Можно просматривать конфигурацию безопасности в режиме конфигурации и с помощью show configuration команды operational mode.

контроль безопасности

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

Оболочки

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

Snmp

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

snmp-control

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

Системы

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

системное управление

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

Трассировки

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

контроль трассировки

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

Вид

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

просмотр конфигурации

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

Прим.:

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

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

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

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

  • Биты разрешения класса входа имеют приоритет над расширенными регулярными выражениями, если включена команда all user issues rollback с rollback разрешением flag.

  • Выражения, используемые для того, чтобы разрешить и запретить команды для RADIUS серверов TACACS+ были упрощены. Вместо одного длинного выражения с несколькими командами можно указать каждую команду allow-commands=cmd1 cmd2 ... cmdn как отдельное выражение. Этот новый синтаксис допустим для allow-configuration , , , и все deny-configurationallow-commandsdeny-commands биты разрешения пользователя.

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

  • Если разрешить и запретить те же команды, разрешения имеют приоритет над разрешениями, allow-commands заданными в deny-commands . Например, если вы включаете и ( пользователь класса входа) получает возможность установить программное обеспечение allow-commands "request system software add"deny-commands "request system software add" с помощью request system software add команды.

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

  • Если указать регулярное выражение для команды и с двумя разными вариантами команды, совпадение с самым длинным allow-commandsdeny-commands всегда выполняется.

    Например, если указать регулярное выражение для команды и регулярное выражение для этой allow-commandscommit-synchronizedeny-commandscommit команды, пользователи, приписаные такому классу входа, смогут использовать commit synchronize команду, а не commit команду. Это commit-synchronize потому, что это самое длинное совпадение commit между и commit-synchronize задано для allow-commands .

    Аналогично этому, если указать регулярное выражение для команды и регулярное выражение для этой allow-commandscommitdeny-commandscommit-synchronize команды, пользователи, приписаные такому классу входа, смогут использовать commit команду, а не commit-synchronize команду. Это commit-synchronize потому, что это самое длинное совпадение commit между и commit-synchronize задано для deny-commands .

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

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

Требования

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

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

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

  • Junos OS сборки, запущенной на Juniper Networks-

Перед началом работы:

  • Установить соединение между устройством и сервером TACACS+.

    Для получения сведений о настройке сервера TACACS+ см. "Настройка аутентификации TACACS+".

  • Настройте по крайней мере одного пользователя, назначенного классу входа на Juniper Networks устройству. На устройстве может быть несколько классов входа, каждый с различными разрешениями и несколько пользователей.

Обзор

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

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

Прим.:

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

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

  1. Просмотр разрешений для учетной записи пользователя.

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

    Чтобы просмотреть пользовательские разрешения, ? введите на [edit] уровне иерархии:

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

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

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

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

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

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

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

  1. С устройства можно просмотреть список разрешений, доступных для учетной записи пользователя. В данном примере имя пользователя учетной записи – хост.

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

  2. Настройте класс привилегий доступа, чтобы пользовательский хост настраивал и просматривал только параметры SNMP. В данном примере этот класс входа называется управлением сетью. Чтобы настроить класс входа управления сетью, включите флаги разрешений SNMP в поле configure разрешения пользователя.

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

Результаты

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

Проверки

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

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

Цель

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

Действий

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

Смысл

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

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

Цель

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

Действий

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

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

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

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

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

Прим.:

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

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

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

То же выражение, удаленно настроенное на сервере авторизации, использует следующий синтаксис:

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

То же выражение, удаленно настроенное на сервере авторизации, использует следующий синтаксис:

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

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

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

Удаленная конфигурация

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 утверждения. При превышении этого предела допустимая конфигурация может не работать. Данный предел размера Junos OS буфера регулярного выражения был увеличен в выпусках 14.1x53-D40, 15.1 и 16.1.

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

Внимание:

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

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

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

Заявление

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

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

[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.* .*"
    

    Note:Регулярное выражение в этом примере используется, когда в указанное регулярное выражение предполагается включить несколько строк, начиная с ключевого слова 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 .*" ]
    

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

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

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

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

Оператор

Матч

Примере

|

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

[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 указывает доступ к командам, которые начинаются с showmonitor ключевых слов.

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

$

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

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

При вышеуказанной конфигурации пользователи, приписаные испытанию класса входа, могут просматривать конфигурацию интерфейса в режиме конфигурации и с помощью команды operational mode с разрешения show configuration пользователя интерфейса. Однако регулярное выражение, указанное в этом выражении, ограничивает выполнение пользователями только команды и отказано в доступе к расширениям команды, таким как allow-commandsshow interfaces или show 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 .* доступе ко всем командам операционного режима и иерархиям конфигураций соответственно.

Прим.:

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

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

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

Прим.:

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

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

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

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

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

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

[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 с помощью этих утверждения. В примерах с 1 по 3 используются как флаги разрешения, так и утверждения для создания классов входа, которые позволяют пользователям получать доступ ко всем, кроме deny-configuration чего-либо. Каждое allow-configurationdeny-configuration или утверждение настраивается с одним или более регулярных выражений, которые должны быть разрешены или запрещены.

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

Пример 1

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

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

Пример 2

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

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

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

Пример 3

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

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

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

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

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

Пример 4

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

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

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

Пример 5

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

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

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

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

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

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

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

Для прибавления к логике регулярных выражений:

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

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

  3. В режиме примыкать к логике регулярных выражений.

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

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

Требования

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

  • одна Juniper Networks J Series, M Series, серия MX или серия T устройство

  • Junos OS версии 16.1 или более поздней

    • Для класса входа должен быть хотя бы один пользователь.

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

Обзор

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

Регулярные выражения настраиваются с помощью allow-configuration-regexpsdeny-configuration-regexps выражений и выражений. По умолчанию для пользователей именуемого класса пользователей, к которым они применяются, утверждения имеют приоритет по сравнению с deny-configuration-regexpsallow-configuration-regexps утверждениями.

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

Можно по желанию изменить это поведение по умолчанию, поэтому в регулярных выражениях используется логика придания (deny all by default/ allow some as specified). Когда логика прибавления включена, поведение существующих регулярных выражений изменяется, так что все иерархии конфигурации отказано, если они не включены в утверждение для именуемого allow-configuration-regexps класса пользователей.

Примеры

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

Цель

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

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

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

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

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

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

Если в конфигурацию включено следующее утверждение, это предотвращает внесение пользователем других изменений, таких как удаление или отключение BGP настроек:

Проверки

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

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

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

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

  4. Попытка выполнения разрешенных конфигураций.

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

    • Все остальные иерархии не должны быть видимыми.

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

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

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

Требования

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

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

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

  • Junos OS сборки, запущенной на Juniper Networks-

Перед началом работы:

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

    Для получения сведений о настройке сервера TACACS+ см. "Настройка аутентификации TACACS+".

  • Настройте по крайней мере одного пользователя, назначенного классу входа на Juniper Networks устройству. На устройстве может быть несколько классов входа, каждый с различными разрешениями и несколько пользователей.

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

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

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

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

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

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

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

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

Configuration Notes

При настройке , и утверждения с привилегиями доступа, примите во allow-commandsdeny-commands внимание allow-configurationdeny-configuration следующее:

  • В каждый класс входа можно включать утверждение allow/deny только один раз.

  • Если точно такая же команда настроена как для утверждения, так и для обеих команд, то операция allow имеет преимущество над allow-commandsdeny-commandsallow-configurationdeny-configuration утверждением deny.

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

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

  • При указании регулярного выражения и выражений с двумя разными вариантами команды всегда выполняется самое allow-commandsdeny-commands длинное совпадение.

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

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

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

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

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

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

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

  • Чтобы определить привилегии доступа к частям иерархии конфигурации, укажите полные пути в расширенных регулярных выражениях с выражениями allow-configurationdeny-configuration и выражениями. Используйте скобки вокруг расширенного регулярного выражения, соединяющего два или более выражений с символом pipe (|)

    Например:

  • Если регулярное выражение содержит пробелы, операторы или поддиамперные символы, заархивировать выражение в кавычках. Регулярные выражения не чувствительны к случаям; например, allow-commands "show interfaces"

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

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

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

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

    Например:

  • При указании расширенных регулярных выражений с помощью выражений и выражений каждое выражение, разделенное символом "pipe" (|) должно быть полным автономным выражением и должно быть заключено в скобки allow/deny-commandsallow/deny-configuration (). Не используйте пробелы между регулярными выражениями, разделенными скобами и связанными с символом | канала.

    Например:

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

    Например:

  • Для разлиния на регулярных выражениях можно использовать символ подмены * Однако он должен использоваться как часть регулярного выражения. Вы не можете использовать [* ]или [.* ] по-одному.

  • Инструкцию нельзя настроить allow-configuration с помощью (интерфейсов) (описание (|. *)) регулярное выражение, как это оценивается для allow-configuration = .* регулярных выражений.

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

Топологии

Рис. 1: Настройка аутентификации сервера TACACS+Настройка аутентификации сервера TACACS+

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

В данном примере R1 настроен с тремя настраиваемыми классами входа — class1, Class2 и Class3 — для указания привилегий доступа с помощью расширенных регулярных выражений с использованием различных выражений и allow-commandsdeny-commands выражений.

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

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

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

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

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

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

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

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

R1

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

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

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

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

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

  2. Установить соединение R1 с сервером TACACS+.

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

  4. Настройте параметры конфигурации учета R1.

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

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

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

  1. Настройте класс 1 для пользовательского класса входа и назначьте пользовательские разрешения на уровне оператора. Сведения о предопределеных классах входа в систему см. в Junos OS классах входа.

  2. В этом сообщении укажите команду для перезагрузки allow-commands R1.

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

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

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

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

  1. Настройте класс 2 для входа в систему и назначьте пользовательские разрешения на уровне оператора. Сведения о предопределеных классах входа в систему см. в Junos OS классах входа.

  2. Отключите выполнение всех команд set в deny-commands утверждение.

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

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

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

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

  1. Настройте класс 3 для пользовательского входа и назначьте пользовательские разрешения на суперпользователь. Сведения о предопределеных классах входа в систему см. в Junos OS классах входа.

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

  3. Отключите выполнение всех команд в deny-commands утверждениях.

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

Результаты

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

Проверки

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

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

Цель

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

Действий

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

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

Смысл

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

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

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

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

  • reset- Можно перезапустить программные процессы с помощью этой команды и настроить, включены ли программные процессы на restart[edit system processes] уровне иерархии.

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

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

Для класса входа класса 1 в дополнение к упомянутым разрешениям пользователя User1 может выполнить request system reboot команду. В первом выводе отображаются разрешения на просмотр в качестве оператора, а во втором – команда User1, которая может выполняться как requestrequest 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)

  • Junos OS сборки, запущенной на Juniper Networks-

Перед началом работы:

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

    Для получения сведений о настройке сервера TACACS+ см. "Настройка аутентификации TACACS+".

  • Настройте по крайней мере одного пользователя, назначенного классу входа на Juniper Networks устройству. На устройстве может быть несколько классов входа, каждый с различными разрешениями и несколько пользователей.

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

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

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

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

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

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

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

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

Difference between allow/deny-configuration and allow/deny-configuration-regexps statements

Эти allow-configuration утверждения были введены перед Junos OS deny-configuration 7.4. Эти allow-configuration-regexps утверждения были введены в Junos OS deny-configuration-regexps 11.2. В Junos OS версии 11.4 эти утверждения были искажены, но так как эти утверждения были полезны при выполнении простых конфигураций, эти утверждения были не замечены в Junos OS выпуске 11.4R6, и, начиная с 11.4R6, поддерживаются и эти allow-configurationdeny-configurationallow/deny-configurationallow/deny-configuration-regexps утверждения.

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

Например:

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

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

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

    • set policy options -condition dynamic-db

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

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

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

    • системный хост-именем хостаoptions

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

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

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

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

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

    • system host-name hostname —ssh

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

    • исходящие системные услугиssh

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

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

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

Табл. 6: Ограничение доступа к конфигурации с помощью сообщений deny-configurtion и 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-configuration утверждения и утверждения являются allow/deny-configuration-regexps взаимоисключающими и не могут быть настроены вместе для класса входа. В каждый момент времени класс входа может включать либо allow/deny-configuration утверждение, либо allow/deny-configuration-regexps утверждение. Если существующие конфигурации используют эти утверждения, то использование одинаковых параметров конфигурации с этими утверждениями может не дать одинаковых результатов, поскольку методы поиска и поиска совпадений отличаются в двух формах этих allow/deny-configurationallow/deny-configuration-regexps утверждения.

Configuration Notes

При настройке , и утверждения с привилегиями доступа, примите во allow-configurationdeny-configuration внимание allow-configuration-regexpsdeny-configuration-regexps следующее:

  • В каждый класс входа можно включить по одной и deny-configurationallow-configuration по одной записи.

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

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

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

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

  • Чтобы определить привилегии доступа к частям иерархии конфигурации, укажите полные пути в расширенных регулярных выражениях с выражениями allow-configurationdeny-configuration и выражениями. Используйте скобки вокруг расширенного регулярного выражения, соединяющего два или более выражений с символом pipe (|)

    Например:

  • При указании расширенных регулярных выражений с помощью выражений и выражений каждое выражение, разделенное символом "pipe" (|) должно быть полным автономным выражением и должно быть заключено в скобки allow/deny-commandsallow/deny-configuration (). Не используйте пробелы между регулярными выражениями, разделенными скобами и связанными с символом | канала.

    Например:

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

    Например:

  • Если точно такая же команда настроена как для того, так и для утверждения, то операция allow имеет приоритет allow-configurationdeny-configuration над утверждением deny.

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

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

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

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

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

  • Для разлиния на регулярных выражениях можно использовать символ подмены * Однако он должен использоваться как часть регулярного выражения. Вы не можете использовать [* ]или [.* ] по-одному.

  • Инструкцию нельзя настроить allow-configuration с помощью (интерфейсов) (описание (|. *)) регулярное выражение, как это оценивается для allow-configuration = .* регулярных выражений.

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

Топологии

Рис. 2: Настройка аутентификации сервера TACACS+Настройка аутентификации сервера TACACS+

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

В этом примере R1 настроен с двумя настраиваемыми классами входа — class1 и Class2 — для указания привилегий доступа с помощью расширенных регулярных выражений с использованием по-разному , и allow-configurationdeny-configurationallow-configuration-regexpsdeny-configuration-regexps выражений.

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

  • Class1-Определите привилегии доступа для пользователя с помощью allow-configuration точки доступа deny-configuration и точки доступа. Данный класс входа должен предоставлять доступ только для настройки иерархии интерфейсов и запретить доступ других устройств. Для этого пользователю необходимо разрешить конфигурацию 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. Установить соединение R1 с сервером TACACS+.

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

  4. Настройте параметры конфигурации учета R1.

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

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

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

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

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

  3. В этом выражении укажите регулярное deny-configuration выражение для отключения всего доступа к конфигурации. Регулярное выражение, используемее для запрета доступа ко всем .* настройкам:

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

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

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

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

  1. Настройте класс пользовательского входа класса 2 и назначьте права пользователя superuser (все). Для получения сведений о предопределеных классах входа в систему см. обзор Junos OS классов входа.

  2. Укажите регулярное выражение, чтобы разрешить доступ к нескольким иерархиям уровня [edit interfaces] иерархии.

  3. Укажите регулярное выражение для запрета конфигурации на [edit system] уровнях [edit protocols] иерархии и на иерархии.

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

Результаты

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

Проверки

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

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

Цель

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

Действий

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

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

Смысл

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

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

Цель

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

Действий

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

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

Смысл

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