[RHEL9] 계정 잠금(pam_faillock) 설정

2022. 10. 13. 08:00Linux

반응형

제가 근무하고 있는 회사는 CentOS 7을 대체하기 위한 Next OS로 상용 OS인 RHEL(Red Hat Enterprise Linux) 9를 준비하고 있습니다. 아래 내용은 RHEL9 도입을 위한 사전 체크 중 기존 CentOS 7 기반 설정에서 변경이 되는 부분에 대한 내용을 정리하였습니다.

1. 문제점

기존 CentOS7 기반으로 작성된 설정과 스크립트들을 RHEL9에 그대로 적용하여 사용하려고 한 결과 아래와 같은 문제점이 발생되었습니다.

 1) RHEL8 이상 pam_tally2 미지원

RHEL8 이상부터 pam_tally2를 더 이상 지원하지 않습니다. 저는 CentOS7 기반 OS에서 pam_tally2와 pam_faillock이 선택적으로 사용이 가능하기에 pam_tally2를 사용해 왔습니다.

  • /etc/pam.d/system-auth 및 /etc/pam.d/password-auth에 pam_tally2 설정

 2) RHEL8/9에서는 pam_faillock 사용

RHEL8/9에서는 pam_faillock을 사용해야 합니다. 하지만 RHEL7과 RHEL8/9의 pam_faillock 사용법이 다릅니다. 이에 대해서는 아래에 설명하도록 하겠습니다.

2. pam_faillock 설정

RHEL8 이상부터 계정 잠금 제어 시 사용하던 PAM 패키지의 pam_faillock 사용법이 변경되었습니다. 기존의 authconfig를 대체한 authselect를 사용하여 pam_faillock 모듈을 활성화할 수 있습니다.

 1) RHEL7 pam_faillock 설정

RHEL7에서는 /etc/pam.d/system-auth 및 /etc/pam.d/password-auth에 pam_faillock을 설정합니다. 두 파일 모두 변경해야 적용됩니다.

auth        required      pam_faillock.so preauth silent audit deny=5 unlock_time=300
...
auth        [default=die] pam_faillock.so authfail audit deny=5 unlock_time=300
...
account     required      pam_faillock.so

 2) RHEL8/9 pam_faillock 설정

위 RHEL7과 동일하게 설정하여 제어할 수도 있습니다. 하지만 RHEL8은 RHEL7과 달리 /etc/pam.d/system-auth 및 /etc/pam.d/password-auth를 수동으로 편집하는 것은 권장하지 않습니다. RHEL 8/9는 authselect 명령어를 사용하여 제어가 가능합니다.

  • 명령어 예시: # authselect enable-feature with-faillock → faillock 활성화
  • 설정 파일 : /etc/security/faillock.conf

 3) RHEL9 system-auth, password-auth 파일 설정

RHEL9의 /etc/pam.d/system-auth 와 /etc/pam.d/password-auth 파일 내용은 아래와 같습니다.

system-auth와password-auth 내용
[ system-auth 와 password-auth 파일 내용 ]

파일 내용 수정 후 /etc/pam.d/password-auth 화면은 아래와 같습니다. /etc/pam.d/system-auth 내용도 동일합니다. 

password-auth 수정 후 화면
[ password-auth 수정 후 화면 ]

주의사항

  • 이렇게 수정하는 방법은 RedHat에서 권장하는 방법이 아니므로 주의가 필요합니다.

 4) /etc/security_faillock.conf 파일

/etc/security_faillock.conf 화면은 아래와 같습니다. 해당 설정에 대한 내용 확인 후 주석을 해제하여 설정하면 됩니다.

/etc/security/faillock.conf 파일 내용
[ /etc/security/faillock.conf 파일 내용 ]

 5) pam_faillock 활용

1. sexyguy 계정에 대한 실패한 로그인 정보 확인

  • # faillock --user sexyguy

2. sexyguy 계정 잠금 해제

  • # faillock --reset --user sexyguy

faillock 로그인 정보 확인 및 잠금 해제
[ faillock 로그인 정보 확인 및 잠금해제 ]

3. 마치며

지난 리눅스 계정 잠금 임계값 설정 포스팅은 CentOS7 기준으로 작성이 되었습니다. 기존에 사용하던 설정들을 RHEL9에 적용하려다 보니 수정해야 될 부분이 조금 있었습니다. 저는 위 방법들을 토대로 스크립트를 작성할 예정입니다. 지금까지 제가 RHEL9 도입을 준비하면서, 계정 잠금 설정에는 기존에 사용하던 OS와 어떠한 차이가 있는지 정리한 내용을 포스팅했습니다.

반응형

'Linux' 카테고리의 다른 글

[RHEL9] SSH 접근제어  (0) 2022.10.15
[RHEL9] SELinux 비활성화  (0) 2022.10.14
[RHEL9] 시간 동기화  (0) 2022.10.12
[RHEL9] 네트워크 설정  (0) 2022.10.11
패스워드 파일 보호  (0) 2022.10.08