토큰 종속성을 만들기 위해 서버에 대한 SSH 연결에 PKCS#11을 사용합니다.

토큰 종속성을 만들기 위해 서버에 대한 SSH 연결에 PKCS#11을 사용합니다.

PKCS#11설명된 대로 사용자가 하드웨어 토큰을 사용하여 로그인할 수 있도록 Ubuntu 서버에 원격 SSH 연결을 구성했습니다.여기. 하지만 이 조건에서는 사용자가 서버에 로그인하여 토큰을 제거하고 로그인을 위해 다른 사람에게 제공할 수 있습니다. 사용자가 토큰을 제거하면 더 이상(또는 짧은 시간 후에) 내 서버에 대한 연결을 유지할 수 없도록 사용자를 제한하고 싶습니다. 예를 들어 토큰에 대한 지속적인 종속성을 구성하고 싶습니다. 특정 SSH 클라이언트를 개발해야 합니까? 현재 나는퍼티-CAC클라이언트로서.

답변1

아니요, 클라이언트 수정 없이는 불가능합니다. SSH의 사용자 인증은 처음부터 클라이언트에서 시작될 뿐만 아니라 전체 연결에 대해 한 번만 수행됩니다.

SSHv2는 지원합니다키 재발급, 이는 서버에서 시작될 수도 있지만 사용자의 키 쌍이 아닌 서버의 "호스트" 키 쌍에만 종속성을 생성합니다.

"gssapi-keyex" 메커니즘은 Kerberos 사용자 인증을 키 교환 방법에 병합하므로 만료되지 않은 Kerberos 티켓을 가진 사용자에 따라 달라지므로 예외일 수 있지만 PKCS#11을 사용하는 경우에는 그렇지 않습니다. Kerberos를 사용합니다.

(또한 PKCS#11 토큰을 Pageant-CAC(PuTTY의 SSH 키 에이전트)에 로드한 다음 SSH "에이전트 전달"을 활성화하여 서버가 전달된 에이전트로부터 주기적으로 서명을 요청할 수 있도록 하는 해킹을 생각할 수도 있습니다. 이것은 물론엄청난동일한 "에이전트 전달" 기능을 통해 악성 서버가 PKCS#11 토큰을 남용할 수 있다는 단점이 있습니다.)

어쩌면 이를 회사 정책 문제로 간주하고 계정 공유에 결과를 부과할 수도 있습니다.

관련 정보