Команды уровня администратора

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

% Insufficient privilege level to call this command

а в лог выдается сообщение:

User <username> has insufficient privilege level to call command: <command>

Для администратора с уровнем привилегий 1 доступны команда configure и все команды уровня пользователя. Для администратора с уровнем привилегий 15 разрешен запуск всех команд.

Запуск сервиса безопасности

start

Выполняется запуск сервиса безопасности.

Остановка сервиса безопасности

stop

Остановка сервиса безопасности (в предыдущих версиях Продукта затем происходил останов ОС, сейчас это выполняется командой power off).

Остановка работы системы (кроме С-Терра Юнит)

power off

Сначала останавливается сервис безопасности, затем происходит останов ОС.

Перезагрузка системы

reboot

Сначала останавливается сервис безопасности, затем происходит перезагрузка ОС.

Установка транспортного пароля

set transport password

Транспортный пароль используется для защиты контейнеров с ключевой парой и гаммой, передаваемых на USB-флеш либо по незащищенному каналу с Сервера управления на управляемое устройство (С-Терра Шлюз, С-Терра Юнит). Такая доставка выполняется, когда управляемое устройство еще не настроено на создание защищенных соединений. Вместе с контейнером доставляется 2 скрипта, один из них – скрипт setup_product.sh,  предназначен  для инициализации и настройки управляемого устройства.

При локальном запуске скрипта setup_product.sh  на управляемом устройстве, при доступе к контейнеру, будет проверяться соответствие транспортного пароля, заданного на Сервере управления, паролю, заданному командой set transport password. Поэтому, перед импортом контейнеров на устройство, задайте транспортный пароль с помощью команды set transport password, который должен совпадать с транспортным паролем, заданным при подготовке контейнеров.

После ввода команды set transport password выдается интерактивный запрос:

Transport password:

Пароль может состоять из латинских букв, цифр и некоторых знаков препинания, исключая: "'&<>`%$;|.

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

% Transport password should not be empty

При вводе запрещенных символов, выдается сообщение:

% Transport password has unsupported characters

В случае других ошибок, может быть выдано сообщение об ошибке:

% Failed to set transport password 

Данную команду можно вводить много раз. Последующая команда отменяет действие предыдущей.

При успешном выполнении команды пишется файл: /var/cspvpn/.{E1259C6B-DD89-4A3E-A537-2062F622250F}.

Формат файла следующий:

[transport_password]

password=<base64_of_password>

timestamp=<timestamp>

где

<base64_of_password> – пароль, закодированный в виде Base64,

<timestamp> – отметка времени выставления пароля в виде 64-битного десятичного целого числа, обозначающего epoch (UTC; секунды после 01.01.1970).

К файлу приложен хэш проверки целостности: /var/cspvpn/.{E1259C6B-DD89-4A3E-A537-2062F622250F}.hash.

Ввод пароля можно отменить с помощью Ctrl+C.

Удаление транспортного пароля

remove transport password

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

Do you want to remove transport password? [confirm]

Для подтверждения можно нажать Enter или ввести любое слово, начинающееся с Y или y (в том числе одну букву).

Другой ввод или нажатие Ctrl+C отменяет действие команды.

При успешном выполнении команды удаляется файл с транспортным паролем и его хэш.

В случае ошибки выдается сообщение:

% Failed to remove transport password

Запуск процедуры инициализации

initialize

Запуск процедуры инициализации программного комплекса.

Автостарт

autostart on

Включение автостарта. В случае ошибки может быть выдано сообщение:

% Failed to enable autostart

autostart off

Отключения автостарта. В случае ошибки может быть выдано сообщение:  

% Failed to disable autostart

Создание пользователя

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

Допустимые символы:

      заглавные и строчные буквы латинского алфавита.

Примечание

Регистр важен – заглавные и строчные буквы рассматриваются как разные символы.

 

      Десятичные цифры.

      Символы: _ (подчеркивание), - (дефис), . (точка; есть ограничения – см. ниже), @ (коммерческая at), # (решетка).

Не допускаются имена, состоящие только из одной или двух точек.

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

      Длина пароля должна быть не меньше 6 символов, если тип политики паролей gate и не меньше 12 символов, если тип политики ids.

      Пароль может состоять из печатных символов ASCII: латинских букв (a-z, A-Z), цифр (0-9), знаков препинания (, . : и т.п.) и др. (@ / {} и т.п.).

      Пароль должен содержать как минимум одну латинскую букву и одну цифру.

      Один и тот же символ должен встречаться не более 2 раз, если тип политики паролей gate и не более 3 одинаковых символов подряд, если тип политики ids.

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

Создается файл со счетчиком ошибочных попыток входа в систему. В него записывается начальное значение lc0z (соответствует 0).

Если на этом этапе произошла ошибка, выполнение операции прерывается. Выдается сообщение об ошибке:

% Error: system error (e.g. insufficient disk space)

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

Создание пользователя с однофакторной аутентификацией

create user <username> [1-factor] [role {administrator|user}] [password  <password>] [privilege <privilege>] [config-user <config_user>] 

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

Параметры: 

1-factor – указание на однофакторную аутентификацию (по умолчанию). 

role – роль (администратор или пользователь), по умолчанию – пользователь. 

password – пароль пользователя. Можно заключить в кавычки (которые не учитываются в пароле) или задать пустой пароль как "" (две кавычки). Если пароль не задать, то он будет запрошен интерактивно с подтверждением.

Пароль проверяется на соответствие политике (подробнее см. раздел "Настройки конфигурационного файла", "Включение и отключение строгого режима проверки политики паролей").

Если включен режим проверки политики паролей и выдано сообщение об ошибке нарушения политики, выполнение команды прерывается. 

privilege – уровень привилегий. Задается только для администратора. Возможные значения: 1 (ограничения на запуск команд) или 15 (разрешен запуск всех команд). Значение по умолчанию – 15.

config-user – пользователь, от имени которого будет выполняться вход в cisco-like консоль по команде configure. Имеет смысл указывать только для администратора. По умолчанию настройка отсутствует – по команде configure будет вызываться стандартная утилита login операционной системы (ввод логина и пароля пользователя ОС). Для С-Терра Юнит этот параметр не используется.

Создание пользователя с двухфакторной аутентификацией

create user <username> 2-factor use-container <container> [role { administrator | user }] [privilege <privilege>] [config-user <config_user>] [password <password>]

По команде создается новый пользователь, из указанного контейнера извлекается публичный ключ и сохраняется в файл: /var/cspvpn/.auth_login_public_key.<username>.

Параметры:

2-factor – обязательное указание на двухфакторную аутентификацию;

Последующие опции можно задавать в произвольном порядке. 

role – роль (администратор или пользователь), по умолчанию – пользователь; 

use-container <container> – имя существующего контейнера (обязательный параметр). При выполнении команды требуется наличие данного контейнера;  

password <password> – пароль на контейнер, заданный в опции use-container. Можно заключить в кавычки, которые не учитываются в пароле. Можно задать пустой пароль как "" (две кавычки). Если не указать пароль, то он будет запрошен интерактивно.

privilege – уровень привилегий. Задается только для администратора. Возможные значения: 1 (ограничения на запуск команд) или 15 (разрешен запуск всех команд). Значение по умолчанию – 15.

config-user – пользователь, от имени которого будет выполняться вход в cisco-like консоль по команде configure. Имеет смысл указывать только для администратора. По умолчанию настройка отсутствует – по команде configure будет вызываться стандартная утилита login операционной системы (ввод логина и пароля пользователя ОС). Для С-Терра Юнит этот параметр не используется.

Интерактивное создание пользователя

create user <username>

Пользователю интерактивно задается ряд вопросов (на любом этапе можно прервать выполнение команды с помощью Ctrl+C):

Одно- или двухфакторная аутентификация.

Роль пользователя (администратор или пользователь).

Для двухфакторной аутентификации запрашивается имя существующего контейнера.

Если была выбрана роль администратора:

Запрашивается уровень привилегий. Возможные значения: 1 (ограничения на запуск команд) и 15 (разрешен запуск всех команд).

Запрашивается имя пользователя, от имени которого будет выполняться вход в cisco-like консоль по команде configureconfig user. Для С-Терра Юнит этот параметр не запрашивается.

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

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

Удаление пользователя

remove user <username>

Команда предназначена для удаления пользователя.

Удаляются настройки пользователя из файла /opt/VPNagent/etc/auth_login.ini.

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

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

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

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

Смена пароля пользователя

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

Примечание

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

После первого ввода пароля происходит его проверка на соответствие политике (см. "Ограничения на формат пароля пользователя").

 

При вводе пароля можно нажать на Ctrl+C для отмены операции.

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

change user password

Сменить пароль текущего пользователя.

change user password <username>

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

Разблокировка пользователя

unblock user

<username>

Разблокировка пользователя. Количество оставшихся попыток входа в систему для данного пользователя выставляется в начальное значение (10). Команда используется для:

      заблокированного штатным образом пользователя;

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

(“BLOCKED (corrupted data)”)

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

Блокировка пользователя

block user <username>

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

% You can't block current user

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

session idle timeout <timeout>

Установка таймера неактивности.

Параметр:

<timeout> – время в минутах (1-1440) отсутствия активности пользователя, по истечении которого происходит автоматический выход из консоли разграничения доступа. Значение по умолчанию – 10. 

session idle timeout disable

Отключение таймера неактивности.

Настройка терминала в текущей сессии

terminal terminal-type <terminal-type>

Выставить тип терминала.

Параметр:

<terminal-type> – тип терминала. Например: linux, vt100, xterm и т.п.

terminal width <50-512>

Установить число символьных столбцов экрана терминала.

terminal length <0-512>

Установить число строк экрана терминала. Значение 0 имеет специальный смысл – отсутствуют паузы при длинном выводе на экран.

terminal no terminal-type

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

terminal no width

Установить ширину терминала по умолчанию.

terminal no length

Установить число строк терминала по умолчанию.

Просмотр глобальных настроек

show global-parameters

Посмотреть текущие настройки таймера неактивности.

Выдача информации по текущему пользователю

show user

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

User: имя пользователя. 

Role: администратор (admin) или простой пользователь (user). 

Privilege level: уровень привилегий 1 или 15 (только для администратора). 

Container: имя контейнера, с помощью которого аутентифицируется пользователь. 

Public Key File: файл с публичным ключом (только для двухфакторной аутентификации). 

Status:  

Штатный пользователь: 

Status:unblocked (<n> attempt(s) left) 

где

<n> – количество оставшихся попыток логина пользователя до включения режима длительного ожидания ввода пароля

Пользователь заблокирован администратором:

Status:BLOCKED   

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

Status:LONG WAIT before login (too many attempts)

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

Status:LONG WAIT before login (absent data)

Для пользователя включен режим длительного ожидания ввода пароля из-за неправильного формата файла или из-за системных ошибок:

Status:LONG WAIT before login (corrupted data) 

Config User: пользователь, от имени которого будет выполняться вход в cisco-like консоль по команде configure. Возможно только для администратора. Может отсутствовать. 

Password valid for: или Password: expired – информация об оставшемся времени, в течение которого можно не менять пароль пользователя (только для пользователей с однофакторной аутентификацией).

Допустимые варианты:

Меньше часа: Password valid for: less than an hour

Меньше суток: Password valid for: less than a day

От суток до полутора:  Password valid for: a day

Больше полутора суток: Password valid for: <n> days

где <n> – количество оставшихся суток (округление в ближайшую сторону; например 15 days обозначает промежуток от 14 суток 6 часов до 15 суток 5 часов 59 минут 59 секунд).

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

Password: expired (При следующем логине пользователя будет выдан запрос на смену пароля.)

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

Вывод информации о произвольном пользователе

show user <username>

Выдается информация о пользователе <username>.

Формат вывода аналогичен выводу команды show user.

Если ввести несуществующего пользователя, выдается сообщение об ошибке:

% User <username> is absent

Вывод информации обо всех пользователях

show all-users

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

Вывод версии продукта

show version

Выводится информация об установленном продукте. Аналогично запуску утилиты /opt/VPNagent/bin/ver_show.

Выдача информации о текущей конфигурации

show config

Выводится текущая конфигурация.

Аналогично запуску утилиты

/opt/VPNagent/bin/lsp_mgr show.

Выдача текущей информации о статусе защиты

show status

Выдается информация обо всех соединениях IPsec SA, ISAKMP SA и их состоянии, и о количестве IKE обменов.

Аналогично запуску утилиты /opt/VPNagent/bin/sa_mgr show.

Вывод информации о настройках терминала

show terminal

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

Вывод серийного номера устройства (только для С-Терра Юнит)

show serial-number

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

Если в устройстве не задан серийный номер, или его не удалось прочитать, выдается:

<unknown>

Вывод номера ревизии устройства (только для С-Терра Юнит)

show hw-revision

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

show hw-revision

1.0

или

1.1

Если не удалось прочитать ревизию, выдается:

<unknown>

Вход в cisco-like консоль

configure

Осуществляется запуск cisco-like консоли (интерфейс командной строки Cisco-like).

Для С-Терра Шлюз, кроме С-Терра Юнит:

      Если для текущего пользователя присутствует в настройках параметр config-user, то запуск cisco-like консоли осуществляется от имени config-user:

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

% Error: configuring is inaccessible for current user. Check the 'config_user' setting

также в syslog выдается сообщение:

% Error: configuring is inaccessible for user <username>

где

<username> – имя пользователя консоли разграничения доступа.

Если настройка config-user корректна, то на консоль выдается сообщение:

Entering cs_console...

Далее запускается cisco-like консоль.

 

  Если для текущего пользователя консоли разграничения доступа отсутствует в настройках параметр config-user, то будет запрошен логин и пароль пользователя ОС. Изначально для входа в консоль установлен логин – cscons, пароль – csp.

Для С-Терра Юнит по команде configure осуществляется вызов: /opt/VPNagent/bin/cs_console. (Вы попадаете в cisco-like консоль как администратор с уровнем привилегий 0-14. Для перехода в привилегированный режим cisco-like консоли введите команду enable, пароль – csp. Подробнее смотрите документ «Настройка ПАК С-Терра Юнит», раздел «Ролевая модель доступа».)

При выходе из cisco-like консоли  выдается сообщение:

Leaving cs_console...

При необходимости аварийного завершения выполнения cisco-like консоли можно использовать сочетания клавиш CTRL+^ (CTRL+SHIFT+6) или CTRL+|.

При необходимости аварийного завершения выполнения login можно использовать сочетания клавиш CTRL+^ (CTRL+SHIFT+6) или CTRL+|.

Вызов внешнего приложения

run <shell_cmd_to_execute>

Команда позволяет вызвать внешнее приложение

При необходимости аварийного завершения выполнения приложения можно использовать сочетания клавиш CTRL+^ (CTRL+SHIFT+6) или CTRL+|.

Выход из консоли разграничения доступа

exit

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

Вход в режим настройки системы

system

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

Операции с файлами

В командах работы с файлами путь к файлу предваряется префиксом,  далее обозначается как <fs-prefix>. Подробнее смотрите Примечание 1.

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

Например:

Destination file path [<corrected-file-path>] ?

Подробнее смотрите Примечание 2.

dir

Вывод содержимого директории по умолчанию. Аналогично команде dir file.

dir <fs_prefix>

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

dir <fs_prefix>:<file-path>

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

Пример:

dir file:/etc

dir ... | include <line_to_include>

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

Пример вывода с пояснениями:

 drwx  Mon  Feb 29 09:36:59 2016  users 

2  -rw-  419  Mon  Feb 29 13:34:08 2016  test

Первое поле – порядковый номер записи.

Второе поле – тип файла и права доступа для владельца файла.

Возможный тип файла:

      “-” обычный файл

      “*” обычный файл, но запрещенный для модификации и удаления администратором с помощью команд консоли.

Примечание: Не путать с отсутствием доступа на запись (см. ниже).

d - директория

b - блочное устройство

c - символьное устройство

p - очередь FIFO (pipe)

s - сокет

l  - символьная ссылка (в нормальной ситуации не должно появляться).

Права доступа:

r - доступен для чтения

w - доступен для записи

x - доступен для исполнения

Третье поле – размер файла в байтах.

Четвертое поле – время последней модификации.

Последнее поле – имя файла.

Специальные права доступа (setuid, setgid, sticky-bit) не отображаются.

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

Если по каким-то причинам не удается получить информацию о файле, выдается строка примерно такого вида:

2  ???? 12  Wed Jun 22 19:23:55 2016  test 

Наиболее вероятная ситуация, при которой это может появиться: символьная ссылка на несуществующий объект.

Примечание:

 В этом случае длина и время модификации указываются для самой символьной ссылки.

 

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

% Error opening <fs-prefix>:<file-path> (File not found)

more <fs-prefix>:<file-path>

Вывод содержимого текстового файла.

 

more <fs-prefix>:<file-path> | include <line_to_include>

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

delete <fs-prefix>:<file-path>

Удаление файла или пустой директории.

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

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

copy <src-fs-prefix>:<src-file-path> <dst-fs-prefix>:<dst-file-path>

Копирование файла.

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

Source file path [<corrected-src-file-path>] ?

Далее – запрос на подтверждение пути к результирующему файлу:

Destination file path [<corrected-dst-file-path>] ?

Если <dst-fs-prefix>:<dst-file-path> – директория, то к <corrected-dst-file-path> будет добавлено имя исходного файла.

copy terminal-input <fs-prefix>:<file-path> <end-of-file-marker>

 

Создание текстового файла с помощью пользовательского ввода.

<end-of-file-marker> – слово, обозначающее завершение файла.

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

Destination file path [<corrected-dst-file-path>]? [Enter]

Если уже существует файл, совпадающий по имени с результирующим, выдается предупреждение с подтверждением:

% Warning: There is a file already existing with this path

Do you want to over write? [confirm]

Далее, без приглашения, происходит ожидание ввода текста от пользователя.

Ввод происходит по строкам.

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

При необходимости пользователь может прервать ввод с помощью CTRL+C. В этом случае результирующий файл удаляется.

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

File copied successfully

Пример:

hostname#copy terminal-input file:test EOF

Destination file path [test] ?

Line 1

Line 2

EOF

File copied successfully

hostname#more file:test

Line 1

Line 2    

Применение настроек, полученных от Сервера управления (С-Терра КП)

up-setup <fs-prefix>:<file-path>

<fs-prefix>:<file-path> – путь к файлу настроек (setup_product.sh или setup_upagent.sh).

 

Ограничение: <file-path> не может содержать пробелов, табуляций или символов ' (апостроф).

Если при подготовке файла настроек был задан транспортный пароль, то перед применением настроек нужно указать этот транспортный пароль командой set transport password.

Ограничение работы Продукта только с ГОСТ-алгоритмами

crypto algorithms enable gost|all

Команда crypto algorithms enable gost переводит Продукт в режим работы только с ГОСТ-алгоритмами.

Для перехода в режим работы со всеми алгоритмами используется команда crypto algorithms enable all.

Примечание:

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

 

Примечание 1

Используемые префиксы:

file:<file-path>

где <file-path> – путь к файлу. Ограничение: <file-path> не должен содержать подстроку ^Z. Путь может быть как относительным (в этом случае он трактуется как путь от директории /var/cspvpn), так и абсолютным.

 

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

media: – путь к папке /media  (вариант file:/media/ так же функционален).

 

Примечание 2

Логика подтверждения пути к файлу:

<corrected-file-path> – полный путь к файлу:

Если <file-path> – абсолютный путь (начинается с прямого слэша), то <corrected-file-path> совпадает с <file-path>.

Если <file-path> – относительный путь (включая просто имя файла), то <corrected-file-path>=/var/cspvpn/<file-path>.

В ответ на запрос можно:

      Нажать на Enter – подтвердить введенный ранее путь к файлу.

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

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

•    Нажать CTRL+C – прервать выполнение команды.