개발/개발관련

[개발관련] Rocky8 비밀번호 5회 틀림 잠김 처리 (authselect, pam.d, faillock)

mabb 2024. 5. 4. 23:36
반응형

리눅스 보안 조치 중
비밀번호를 5회 이상 틀릴 경우 해당 계정이 잠기도록 설정할 일이 생겼다.

이해 -> 조치 -> 실패 -> 다른 조치 -> 성공의 과정을 겪었다.

결론은 rocky8 버전에서 직접 pam.d 디렉터리 하위의  파일을 수정하였을 때 제대로 동작하지 않았다.
authselect를 이용하여 faillock 모듈을 enable 처리하고, faillock 모듈의 설정을 /etc/security/faillock.conf 에서 세팅해 주면 그대로 동작하게 된다.

직접 설정 파일을 변경해주던 것에서 점점 전용 명령어(인터페이스)를 사용하게 되는 것 같다.
EX) network-script -> nmcli

 

이해

아래의 글을 보고 리눅스 PAM 모듈에 대해 이해하였다.

출처:이글루 Security Issue

리눅스 PAM 모듈의 이해 - Security & Intelligence 이글루코퍼레이션 (igloo.co.kr)

 

리눅스 PAM 모듈의 이해

    1. 개요   서버 취약점 진단을 받게 되면 종종 “계정 잠금 임계값 설정“, “SU 명령어 사용 제한” 등의 항목에서 “PAM 모듈을 이용하여 취약점을 조치하세요.”라는 안내받게 된다. 그러

www.igloo.co.kr

 

조치

인터넷을 보고 /etc/pam.d/system-auth 와 /etc/pam.d/password-auth를 야심 차게 변경해 주었다.

두 파일 모두 다음 내용을 추가하였다.
auth 가장 아래에 다음 내용을 추가
auth required pam_faillock.so preauth silent audit deny=5
auth [default=die] pam_faillock.so authfaili audit deny=5

account 가장 아래에 다음 내용을 추가
account required pam_faillock.so

 

실패

하지만 이렇게 조치하니 해당 계정의 비밀번호를 5번 틀린 것은 체크하지만 계정을 잠그는 기능이 동작하지 않았다.

#> faillock --user test  //해당 계정의 비밀번호 틀린 이력을 확인하는 명령어
#> faillock --user test --reset  //잠긴 계정 활성화 시키는 명령어
#> tail -f /var/log/secure //보안 관련 로깅을 확인
#> vi /etc/security/faillock.conf //faillock 모듈의 설정 파일 (기본적으로 다 주석이 되어 있다)

 

다른 조치

인터넷을 보니 다음 내용이 있어서 따라 해보았다.

 

Rocky Linux 8 : Count consecutive auth failures : Server World

# line 38 : length of the interval during which the consecutive auth failures must happen for the user account # fail_interval = 900

www.server-world.info

정리한 내용은 이것

//1. 현재 pam 적용 상태 확인
#> authselect current

//2.faillock 추가
#> authselect enable-feature with-faillock

//3.faillock이 추가되었는지 확인
#> authselect current

//4.faillock이 pam.d 설정 파일에 추가되었는지 확인
#> grep -n 'faillock' /etc/pam.d/system-auth
#> grep -n 'faillock' /etc/pam.d/password-auth

//5. faillock 설정 변경 (주석을 풀고 값을 변경해주지 않으면 default)
#> vi /etc/security/faillock.conf

//6. 비밀번호 실패 확인
#> faillock //전체 계정 확인
#> faillock --user test //test계정 확인
#> faillock --user test --reset //계정 잠김 및 틀린 횟수 초기화

 

authselect current
vi /etc/security/faillock.conf  주석 풀고 deny=5
faillock.conf 를 변경하자 5회 체크후 계정이 잠긴다.

 

 

반응형