Отслеживание действий пользователя при доступе к общему ключу SSH

Изhttps://piv.idmanagement.gov/engineering/ssh/#ssh-from-macosи работает почти так же в Linux:

  1. Установите OpenSC.
  2. Вставьте PIV/CAC в картридер.
  3. Чтобы просмотреть сертификаты на вашем Mac, введите:

    pkcs15 -инструмент --список -открытые -ключи

  4. Запишите идентификационный номер публичного ключа PIV AUTH.

  5. Использование считывателя с картой :Считыватель смарт-карт SCR35xx
 Public RSA Key [PIV AUTH pubkey]
     Object Flags   : [0x0]
     Usage          : [0xD1], encrypt, wrap, verify, verifyRecover
     Access Flags   : [0x2], extract
     ModLength      : 2048
     Key ref        : 154 (0x9A)
     Native         : yes
     ID             : 01 (EXAMPLE ONLY)
     DirectValue    : 
  1. Используйте свой идентификатор публичного ключа PIV AUTH, чтобы просмотреть свой ключ SSH. Введите:

    pkcs15 -инструмент --чтение -ssh -ключ 01

  2. При появлении запроса введите PIN-код PIV/CAC. Ключ SSH будет выглядеть так:

    ssh -rsa AAAAB3NzaC1yc2EAAAAADAQABAAABAQCyPn2dShOFLBnMraiP2MnLU....

  3. Скопируйте ключ SSH и вставьте его в текстовый файл.

  4. Отправьте текстовый файл администратору сервера и запросите новую учетную запись.
  5. Если у вас есть учетная запись, вы можете войти на удаленный сервер. Введите:

    ssh -I /usr/lib64/opensc -pkcs11.so @

  6. Необязательно,вы можете обновить параметр в файле конфигурации /etc/ssh _до:

    PKCS11Provider /usr/lib64/opensc -pkcs11.so

  7. При появлении запроса введите PIN-код PIV/CAC. После проверки вы войдете на удаленный сервер.

2
15.09.2021, 22:06
1 ответ

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

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

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

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

Одним из хаков -из -варианта -будет использование уникальных файлов истории оболочки при каждом входе в учетную запись. По сути, вы бы определили HISTFILE как что-то вроде этого в пользовательском.bashrc (или эквивалентном):

TIMEST=`date +%Y.%m.%d-%H%M%S`
SOURCETERM=` who am i | awk '{print $5}'`
HISTFILE=.sh_history-$TIMEST"_"$SOURCETERM

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

$HOME/.sh_history-2021.09.16-022345_(1.2.3.4)

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

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

Опять же, правильное решение — с самого начала предотвратить небезопасное поведение.

2
16.09.2021, 06:18

Теги

Похожие вопросы