Используйте PKCS#11 для SSH-подключения к серверу, чтобы создать зависимость токена

Используйте PKCS#11 для SSH-подключения к серверу, чтобы создать зависимость токена

Я настроил PKCS#11удаленное SSH-подключение на моем сервере Ubuntu таким образом, что пользователи могут входить в систему с помощью аппаратного токена, как описаноздесь. Однако в этом состоянии пользователь может войти на сервер, удалить токен и передать его кому-то другому для входа. Я хочу ограничить пользователя таким образом, чтобы при удалении токена он больше не мог поддерживать соединение с моим сервером (или через короткое время). Например, я хочу настроить постоянную зависимость от токена. Нужно ли разрабатывать специальный SSH-клиент? В настоящее время я используюШпатлевка-CACкак клиент.

решение1

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

SSHv2 поддерживаетперекодировка, который может быть даже инициирован сервером, но он создает зависимость только от пары ключей «хоста» сервера, а не пользователя.

Хотя механизм «gssapi-keyex» может быть исключением, поскольку он объединяет аутентификацию пользователя Kerberos с методом обмена ключами и, следовательно, зависит от наличия у пользователя неистекших билетов Kerberos, но если вы используете PKCS#11, то вы не используете Kerberos.

(Я также мог бы придумать хак, который включает загрузку вашего токена PKCS#11 в Pageant-CAC (агент ключей SSH PuTTY), а затем включение «пересылки агента» SSH, чтобы сервер мог периодически запрашивать подписи у пересылаемого агента... но это, конечно, имеетмассивный(Недостаток разрешения злоупотребления токеном PKCS#11 вредоносными серверами через ту же функцию «пересылки агентов»).

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

Связанный контент