pam_tally를 사용하여 계정 잠금을 어떻게 활성화합니까?

pam_tally를 사용하여 계정 잠금을 어떻게 활성화합니까?

pam_tally를 사용하여 우분투에서 계정 잠금을 구현하려고 합니다. 나는 다음 줄을 추가하려고 시도했습니다. /etc/pam.d/common-auth

auth required pam_tally.so deny=3
account     required  pam_tally.so

실패가 기록되지만 최대 실패에 도달해도 계정이 잠기지 않습니다. 직접 로그인하여(GNOME 로그인 화면) 시도하고 있습니다.

조언이 있나요? pam.d/gdm 또는 로그인 파일에도 추가해야 합니까?

답변1

일반 인증 뒤에 설명

빠른 해결 방법을 찾고 있다면 아래로 이동하세요.잠금을 위해 일반 인증을 구성하는 방법.


이것이 잠금 구성 방법을 이해하는 데 도움이 되기를 바랍니다 /etc/pam.d/common-auth.

에서 모든 주석을 제거하면 /etc/pam.d/common-auth다음과 같은 결과가 남습니다.

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

이 파일의 각 줄과 사용 방법을 살펴보겠습니다.


auth    [success=1 default=ignore]      pam_unix.so nullok_secure

비밀번호 입력을 읽습니다.비밀번호가 정확하면 파일의 다음 줄( 가 있는 줄 pam_deny.so)을 건너뜁니다. 에서 값을 설정하여 건너뛰는 줄 수를 변경할 수 있습니다 success=1.

auth    requisite                       pam_deny.so

로그인 시도가 즉시 실패합니다.여기서 말하는 단어는 requisite인증이 실패하면 즉시 종료된다는 의미입니다. 대신 다른 라인을 사용하여 required모듈이 끝날 때까지 기다렸다가 실패 신호를 보냅니다.

auth    required                        pam_permit.so

로그인 시도를 허용합니다.이는 를 사용하여 수행됩니다 pam_permit.so.


일단 설정되면 사용자를 잠그도록 모듈을 구성하는 것이 더 잘 이해될 수 있습니다.

잠금을 위해 일반 인증을 구성하는 방법

우분투의 경우:

다음 줄을 추가하세요pam_deny.so 이후 및 pam_permit.so 이전:

auth    required    pam_tally2.so    onerr=fail deny=3 unlock_time=1800

pam_deny.so 줄을 다음으로 변경합니다.

auth    required                        pam_deny.so

전체 파일은 다음과 같습니다.

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    required                        pam_deny.so
auth    required    pam_tally2.so    onerr=fail deny=3 unlock_time=1800
auth    required                        pam_permit.so

필요에 맞게 다음 옵션을 구성할 수 있습니다.

  • deny=3- 잠기기 전까지 허용되는 시도 횟수입니다.
  • unlock_time=1800- 다시 로그인을 시도할 수 있는 시간(초)입니다.(추가 참고 사항: 일련의 실패 후 시스템 잠금이 해제되고 다시 인증에 실패하면 인증을 2번 더 시도할 수 없습니다. 시스템은 사용자를 기다리게 만듭니다. unlock-time 다시.)

대부분의 리소스에서는 순서의 중요성을 강조하기 위해 이 줄을 파일 상단에 추가할 것을 권장합니다. 그러나 Ubuntu 데스크탑 시스템에서는 이 구성으로 인해 GUI 로그인 화면이 표시되지 않을 수 있습니다.

왜 이런 일이 발생합니까? Ubuntu의 로그인 화면에서 사용자를 선택하면 PAM 모듈이 즉시 시작되고 해당 pam_unix.so라인(비밀번호 입력 라인)에서 대기한 후 진행되는 것으로 보입니다. 이 "중지 지점" 앞에 줄을 배치하면 pam_tally2.so잠금이 즉시 활성화되고, 화살표 키를 눌러 사용자에게서 멀어지면 모듈에서 로그인 실패 신호를 보내고 pam_tally2증가합니다. 비밀번호를 입력하지도 않으면 곧 아래와 유사한 상황에 빠지게 됩니다.

일반 인증 파일이 잘못 구성된 일반적인 Ubuntu 로그인 화면.

pam_tally2.so파일 맨 아래에 줄을 배치하면 이 문제가 해결됩니다. 이 구성에서는 적절한 순서가 유지됩니다. 첫 번째 줄은 비밀번호 유효성으로 점프하거나 pam_deny.so비밀번호 pam_permit.so유효성을 기반으로 하며, 시간에 pam_tally2.so도달할 때 잘못된 비밀번호 항목이 이미 표시되었습니다.

pam_permit.so입력한 비밀번호와 관계없이 도달 하더라도 pam_deny.so역시 도달하면 모듈은 항상 실패합니다. 그 이유는 pam_deny.so줄에 required; 나머지 라인은 실행될 수 있지만 모듈 자체는 결국 실패하게 됩니다.

PAM 작동 방식에 대한 자세한 내용을 보려면 Google에서 "PAM 작동 방식"을 검색하거나 여기로 이동하세요.http://www.tuxradar.com/content/how-pam-works


그러면 됩니다!

답변2

이거 본지 꽤 되었지만

수정하셔야 할 것 같아요/etc/pam.d/common-auth

이것을 추가하세요.맨 위파일의 내용(규칙 순서가 중요함)

auth required pam_tally.so per_user magic_root onerr=fail

그런 다음 허용된 시도 횟수를 설정합니다.

sudo faillog -m 3

계정을 잠금 해제하려면

faillog -u login_name -r

자세한 내용은 참조

내 블로그http://blog.bodhizazen.com/linux/ubuntu-how-to-faillog/

또는남자 pam_tally

답변3

n번의 로그인 시도 실패 후 사용자 계정을 잠그기 위해 장애 잠금을 시도할 수도 있습니다.

Ubuntu와 CentOS 모두에서 작동하는 pam_faillock.so를 사용하는 아래 링크의 지침을 따라 작동하게 할 수 있었습니다.

CentOS 및 유사한 파생 상품:

/etc/pam.d/system-auth

/etc/pam.d/password-auth

Ubuntu/Debian 및 유사 파생물:

/etc/pam.d/common-auth

/etc/pam.d/common-account

여러 번의 로그인 시도 실패 후 Linux 사용자 계정 잠그기

이것이 다른 사람에게도 도움이 되기를 바랍니다.

관련 정보