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

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

% Insufficient privilege level to call this command,

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

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

 

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

 

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

start 

Выполняется запуск сервиса безопасности. Аналогично /etc/init.d/vpngate  start.

Остановка работы системы

stop 

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

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

reboot 

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

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

initialize

Запуск процедуры инициализации S-Terra Gate.

Автостарт

autostart on

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

autostart off

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

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

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

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

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

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

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

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

 

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

Длина пароля должна быть не меньше 6 символов.

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

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

Один и тот же символ должен встречаться не более 2 раз.

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

 

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

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

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 no terminal-type 

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

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

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

Вход в 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.

 

При выходе из 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            0  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> не может содержать пробелов, табуляций или символов ' (апостроф).

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

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 – прервать выполнение команды.