![동적 비밀번호 인증](https://linux55.com/image/38291/%EB%8F%99%EC%A0%81%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%20%EC%9D%B8%EC%A6%9D.png)
가능하다면 Linux에서 사용자에 대한 동적 인증을 생성하는 방법을 알고 싶습니다.
서버는 주기적으로 사용자 비밀번호를 변경하며, 사용자는 프로그램(예: 토큰)을 사용하여 올바른 비밀번호를 검색하고 입력합니다.
답변1
정확히 당신이 찾고 있는 것은 아니지만 이와 같은 시나리오에 OTPW가 사용되는 것을 보았습니다. PAM 모듈을 통해 Linux 시스템과 통합되는 완전한 소프트웨어 패키지입니다.
발췌
OTPW 패키지는 일회용 비밀번호 생성기
otpw-gen
와 두 개의 확인 루틴 으로 구성되어otpw_prepare()
있으며otpw_verify()
POSIX 시스템과 같은 프로그램에 쉽게 추가할 수 있습니다login
.ftpd
PAM(Pluggable Authentication Method) 인터페이스를 지원하는 플랫폼의 경우 적절한 래퍼도 포함됩니다. 이러한 방식으로 확장된 로그인 소프트웨어는 보안되지 않은 네트워크 회선을 통해 합리적으로 안전한 사용자 인증을 허용합니다. 사용자는 종이 비밀번호 목록을 가지고 다닙니다. 이 방식은 종이 목록의 도용과 마지막 글자를 놓고 경쟁하는 공격을 효과적으로 방지하기 위해 고안되었습니다. 일회용 비밀번호의 암호화 해시는 확인을 위해 사용자의 홈 디렉터리에 저장됩니다.
상황에 따라 PAM 설치에 대해 자세히 설명하는 해당 페이지의 지침을 따라야 합니다.
발췌
시스템이 플러그형 인증 모듈 [Mor01,XSSO]을 지원하는 경우 공유 라이브러리를 컴파일
pam_otpw.so
하고 다른 PAM 모듈이 있는 디렉터리(일반적으로 Linux 아래/lib/security/
)에 복사하면 됩니다. 그런 다음 PAM 시스템 관리자 가이드의 지침에 따라 OTPW를 사용하려는 응용 프로그램에 대한 PAM 구성 파일을 편집합니다.pam_otpw.so
인증 및 세션 구성 요소를 제공합니다 . 인증 구성 요소는 일회용 비밀번호를 요구하고 확인하며, 세션 구성 요소는 로그인에 성공할 때마다 알림을 인쇄하여 아직 사용하지 않은 비밀번호가 몇 개나 남았는지 알려줍니다.Secure Shell을 통해 시스템에 로그인할 때 이 두 구성 요소를 사용하려면 다음
/etc/pam.d/sshd
줄을 추가해야 할 수도 있습니다.auth required pam_otpw.so session optional pam_otpw.so
OpenSSH 3.4를 예로 들면, 버전이 PAM 지원으로 컴파일되었는지 확인하고 다음
/etc/ssh/sshd_config
줄을 추가해야 합니다.UsePrivilegeSeparation no PAMAuthenticationViaKbdInt yes
OpenSSH가 PAM 인증을 사용하도록 하려면(일반적으로 먼저 시도하는 자체 호스트 기반 또는 공개 키 방법 대신)
“ssh -o PreferredAuthentications=keyboard-interactive”
.