Linux에서 사용자에 대한 동적 인증을 어떻게 생성할 수 있는지 알고 싶습니다.
서버는 사용자 비밀번호를 주기적으로 변경하고 사용자는 토큰과 같은 프로그램을 사용하여 올바른 비밀번호를 검색하고 입력합니다.
답변1
정확히 당신이 찾고 있는 것은 아니지만 그러한 시나리오에 OTPW가 사용되는 것을 보았습니다. PAM 모듈을 통해 Linux 시스템과 통합되는 완전한 패키지입니다.
발췌
OTPW 패키지는 일회용 비밀번호 생성기
otpw-gen
와 두 개의 확인 루틴 으로 구성되어otpw_prepare()
있으며 POSIX 시스템 과otpw_verify()
같은 프로그램에 쉽게 추가할 수 있습니다 . PAM(Pluggable Authentication Method) 인터페이스를 지원하는 플랫폼의 경우 적합한 래퍼도 포함됩니다. 이러한 방식으로 확장된 로그인 소프트웨어는 안전하지 않은 네트워크 회선을 통해 합리적으로 안전한 사용자 인증을 허용합니다. 사용자는 종이에 비밀번호 목록을 가지고 다닙니다. 이 체계는 종이 목록 도용과 마지막 편지 경쟁 공격에 강력하게 대응하도록 설계되었습니다. 일회용 비밀번호의 암호화 해시 값은 확인을 위해 사용자의 홈 디렉토리에 저장됩니다.login
ftpd
귀하의 경우에는 PAM 설치에 대해 자세히 설명하는 해당 페이지의 지침을 따르고 싶을 것입니다.
발췌
시스템이 플러그형 인증 모듈 [Mor01,XSSO]을 지원하는 경우 공유 라이브러리를 컴파일
pam_otpw.so
하고 다른 PAM 모듈이 있는 디렉터리(일반적으로 Linux에서/lib/security/
)에 복사하면 됩니다. 그런 다음 PAM 시스템 관리자 가이드에 설명된 대로 OTPW를 사용하려는 응용 프로그램에 대한 PAM 구성 파일을 편집합니다.pam_otpw.so
에서는 인증과 세션 구성 요소를 모두 제공합니다 . 인증 구성 요소는 일회용 비밀번호를 요청하고 확인하며, 세션 구성 요소는 로그인에 성공할 때마다 아직 사용하지 않은 비밀번호 수에 대한 알림을 인쇄합니다.
/etc/pam.d/sshd
Secure Shell을 통해 시스템에 로그인할 때 두 구성 요소를 모두 사용하려면 다음 줄을 추가해야 할 수도 있습니다.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”
.