저는 Linux 시스템에 대한 로그인이 Microsoft Active Directory 및 그룹 멤버십에 의해 관리되는 솔루션을 설정했습니다. 이제 방문 시간을 기준으로 광고 사용자가 시스템에서 쫓겨나도록 하고 싶습니다.
저는 RADIUS와 마침내 이를 실현할 가능성에 관한 몇 가지 기사를 읽었습니다. 내가 이루고 싶은 것은...
- ...사용자 a는 Active Directory 로그인 그룹에 추가되지만 Linux 시스템에는 로그인할 수 없습니다.
- ...사용자 a는 웹사이트에 전화하여 몇 시간 또는 며칠 동안 서버 x에 대한 액세스를 요청할 수 있지만, 이는 사용자 a가 이 광고그룹에 속한 경우에만 가능합니다.
- ...사용자 A는 자신의 AD 자격 증명과 가능한 경우 두 번째 요소(예: 일회용 비밀번호)를 사용하여 서버를 활성화합니다.
- ...사용자 a는 시스템에서 쫓겨나고 일정 시간이 지나면 다시 로그인할 수 없게 됩니다.
이와 같은 시나리오 또는 여기서 작동할 수 있는 유사한 시나리오를 경험한 사람이 있습니까? 아니면 이를 달성하는 데 유용한 소프트웨어를 알고 계십니까?
감사합니다!
답변1
임시 OpenSSH 인증서를 발급하여 시간 제한이 있는 SSH 로그인을 활성화할 수 있습니다. 이를 수행하는 방법을 설명하는 다양한 웹 페이지가 있습니다.SSH 키 생성기도구. 사용자는 웹 서비스에서 인증을 받고 SSH-CA는 몇 시간 또는 며칠 동안 유효한 OpenSSH 인증서(X.509 아님)를 발급합니다.
또한 작은 Python 스크립트를 사용하여 클라이언트 측에서 액세스할 수 있는 간단한 상태 비저장 웹 서비스로 클라이언트용 SSH-CA 구성 요소를 구현했습니다.
그러나 이렇게 하면 인증서가 만료된 후에 사용자가 이 키를 사용하여 다시 로그인하는 것을 방지할 수 있습니다. 까다로운 부분은 해당 시간 이후 활성 사용자 세션을 안정적으로 제거하는 것입니다. 특히 이 작업을 정말로 수행할 것인지 아니면 지속적인 SSH 세션을 모니터링하고 경고할 것인지 명확히 해야 합니다.
답변2
기성 솔루션이 없다고 생각하므로 노력해야 합니다.
AD는 LDAP로 작동하고 Linux는 오랫동안 LDAP에 대해 인증할 수 있으므로 Linux 시스템을 Active Directory에 연결하는 것은 비교적 쉽습니다. 일부 AD 관련 솔루션도 있습니다. 먼저 "linux sssd Active Directory"를 인터넷 검색하는 것이 좋습니다.
나는 그것이 당신이 구현해야 할 것이라고 생각합니다. 가능한 접근 방식 중 하나: 그룹에 사용자를 추가/제거할 수 있으며, Linux Box AD 인증(이전 지점)은 그룹 멤버십을 기반으로 할 수 있습니다.
두 번째 요소는 AD와 별개일 수 있으며 Linux 상자에 대해 2단계 인증을 설정할 수 있습니다. 한 가지 (인기 있는) 방법은 Google Authenticator를 사용하는 것입니다. (헷갈리지 마세요. Google 계정과는 아무 관련이 없습니다.)
새로운 로그인을 방지하는 것은 쉽습니다. 두 번째 항목의 선택에 따라 시간 초과 또는 이와 유사한 후에 그룹에서 사용자를 제거할 수 있습니다. 하지만 이미 실행 중인 세션을 종료하는 방법을 모르겠습니다... 어쩌면 일부 조건(다시 AD 그룹 멤버십?)에 따라 모든 사용자 프로세스를 종료하는 간단한 서비스를 구현할 수 있습니다.