/etc/pam.d/system-auth
취약함
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
# [취약] pam_tally2.so 설정이 존재하지 않음 (계정 잠금 미설정)
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
💡 KISA 조치 가이드 (CentOS 7 / pam_tally2)
1. auth 설정 추가
* unlock_time: 잠금 지속 시간(초)
로그인 실패 횟수를 기록하고 제한하기 위해 auth 섹션의 상단에 다음 라인을 추가합니다.
auth required pam_tally2.so deny=5 unlock_time=120 no_magic_root
* deny: 실패 허용 횟수 (보통 5~10회)* unlock_time: 잠금 지속 시간(초)
2. account 설정 추가
계정 접속 시도 시 잠금 여부를 확인하기 위해 account 섹션에 다음 라인을 추가합니다.
account required pam_tally2.so
📊 취약점 상세 분석
점검 목적
로그인 실패 횟수 제한(임계값 설정)을 통해 공격자가 자동화된 도구를 사용하여 비밀번호를 무작위로 대입하는 공격(Brute Force Attack)을 차단하기 위함입니다.
위험성
[상] 매우 위험
임계값이 설정되어 있지 않으면 공격자는 시간이 무제한으로 주어지는 한 비밀번호를 알아낼 때까지 계속해서 로그인을 시도할 수 있습니다.
판단 기준
- 양호: 계정 잠금 임계값이 10회 이하로 설정되어 있는 경우
- 취약: 계정 잠금 임계값이 설정되어 있지 않거나 10회를 초과하는 경우