5번의 로그인 시도 실패 후 사용자를 잠그는 방법은 무엇입니까?

5번의 로그인 시도 실패 후 사용자를 잠그는 방법은 무엇입니까?

5번의 로그인 시도 실패 후 사용자를 잠그는 방법은 무엇입니까?

이 작업을 수행하는 방법을 알아내기 위해 몇 가지 배포판/버전을 수집했지만 테스트할 수는 없습니다.

RHEL4: 추가하여:

auth        required      /lib/security/$ISA/pam_tally.so no_magic_root
account     required      /lib/security/$ISA/pam_tally.so deny=5 reset no_magic_root

도착하다:

/etc/pam.d/system-auth
/etc/pam.d/login
/etc/pam.d/sshd

RHEL4: ???

SLES9: 추가하여:

auth required pam_tally.so no_magic_root
account required pam_tally.so deny=5 reset no_magic_root

도착하다:

/etc/pam.d/login
/etc/pam.d/sshd

SLES11 또는 SLES10: 추가하여:

auth required pam_tally.so deny=5 onerr=fail per_user no_lock_time

도착하다:

/etc/pam.d/common-auth

그리고 다음을 추가하세요:

account required pam_tally.so

도착하다:

/etc/pam.d/common-account

질문: 이것이 5번의 로그인 시도 실패 후 사용자를 잠그는 효율적이고 좋은 방법인지 확인할 수 있습니까? 아니면 어떻게 해야 할까요?

첨부된:

/sbin/pam_tally --user USERNAME --reset

이 작업을 수행하기 전에 수행할 수 있는 유용한 작업이 있나요? 이것으로 루트 사용자를 잠글 수 있나요? PAM을 편집하는 것은 서버에서 자신을 잠글 수 있으므로 매우 민감한 작업입니다(예: 루트 사용자). 이 작업을 할 때 어떤 팁이 있나요?

답변1

Fail2ban을 살펴보는 것이 좋습니다. 특정 횟수의 시도 실패 후 계정을 잠그고 일정 시간 후에 잠금을 해제하도록 구성할 수 있습니다.

http://www.fail2ban.org/wiki/index.php/Downloads

정말로 사용하고 싶다면 pam_tally대신 사용하는 것이 좋습니다 pam_tally2. 최신 PAM 패키지와 함께 설치해야 합니다. 너 하나 만들 수 있어사람 pam_tally2사용 방법을 확인하세요.

시작하는 데 도움이 되는 예는 다음과 같습니다. 시작 부분에 다음을 추가하세요.승인하다팸 파일 /etc/pam.d/password-auth:

auth        required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200

같은 파일에서 다음을 계정 섹션에 추가하세요.

account     required      pam_tally2.so

위의 매개변수는 다음과 같습니다.

  • file=/var/log/tallylog– 기본 로그 파일은 로그인 횟수를 저장하는 데 사용됩니다.
  • deny=3– 3회 시도 후 접근이 거부되고 사용자가 잠깁니다.
  • even_deny_root– 정책은 루트 사용자에게도 적용됩니다.
  • unlock_time=1200- 20분(60초 * 20분 = 1200초)

루트 변경 사항을 잠그고 싶지 않은 경우뿌리조차 거부하고도착하다마법의 뿌리.

루트 계정을 잠그려는 경우 이는 의심스럽습니다. 루트 계정을 잠글 수 있지만 다른 계정보다 짧은 기간 동안 비슷한 작업을 수행할 수 있습니다.

auth        required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200 root_unlock_time=60

그러면 루트 계정은 1분 동안만 잠기고 다른 모든 계정은 1200초 동안 잠깁니다.

샘플 로그 파일은 다음과 같습니다.

$ ssh me@somemachine
me@somemachine's password:
Permission denied, please try again.
me@somemachine's password:
Permission denied, please try again.
me@somemachine's password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Jun 4 21:21:06 2013 from someothermachine

pam_tally2 명령을 사용하여 잠긴 계정을 쿼리할 수 있습니다.

$ pam_tally2 --user=me
Login           Failures  Latest    failure     From
me                   5    06/04/13  21:21:06    someothermachine

다음과 같이 제한을 제거할 수 있습니다.

pam_tally2 --user=me --reset
Login           Failures  Latest    failure     From
me                  5     06/04/13  21:21:06    someothermachine

이제 아래와 같이 계정이 pam_tally2에 나타납니다.

$ pam_tally2 --user=me
Login           Failures   Latest   failure     From
me                 0

인용하다

답변2

pam_tally2처음에는 헷갈렸지만 따라해 보니 이해가 되었습니다 man pam_tally2.

  EXAMPLES
   Add the following line to /etc/pam.d/login to lock the account after 4 failed logins.
   Root account will be locked as well. The accounts will be automatically unlocked after
   20 minutes. The module does not have to be called in the account phase because the
   login calls pam_setcred(3) correctly.

   auth     required       pam_securetty.so
   auth     required       pam_tally2.so deny=4 even_deny_root unlock_time=1200
   auth     required       pam_env.so
   auth     required       pam_unix.so

위의 문구는 실제로 이 줄만 추가했기 때문에 약간 혼란스럽습니다 pam_tally2.so.

따라서 이를 편집 하고 다른 모든 줄 아래에 /etc/pam.d/login추가 할 수 있습니다.auth

   auth     required       pam_tally2.so deny=4 even_deny_root unlock_time=1200

아니면 /etc/pam.d/system-auth거기에 추가할 수도 있습니다.

서비스를 다시 시작하거나 다시 로드할 필요가 없습니다. 새로운 로컬 로그인 시 즉시 활성화됩니다.

pam_tally2참고: 다른 원격 서비스도 신청 하려면 및/또는 기타 sshd원격 서비스에 회선을 추가해야 합니다./etc/pam.d/sshd/etc/pam.d/password-auth


제대로 작동하는지 확인하려면 유효한 사용자로 로그인 시도에 실패하고 다음을 실행하십시오.pam_tally2

예를 들어, jacobrun이라는 사용자의 경우:

  $ sudo pam_tally2 -u jacob

다음이 출력됩니다.

  Login           Failures Latest   failure     From
  jacob           1        01/01/01 11:00:00    tty1

로그인 시도가 여러 번 실패한 후 계정이 잠긴 경우 수동으로 계정을 잠금 해제할 수 있습니다.

  $ sudo pam_tally2 -u jacob --reset

관련 정보