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
예를 들어, jacob
run이라는 사용자의 경우:
$ 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