계정 잠금 임계값 설정

계정 잠금 임계값은 보안을 강화하기 위해 사용자 계정이 일정 횟수 이상의 실패한 로그인 시도로 인해 잠금 상태로 전환되는 설정입니다. 이것은 주로 계정의 무단 액세스를 방지하고, 악의적인 공격자로부터 시스템을 보호하는 데 사용됩니다.

점검 내용
  • 사용자 계정 로그인 실패 시 계정 잠금 임계값이 설정되어 있는지 점검
점검 목적
  • 계정 탈취 목적의 무작위 대입 공격 시 해당 계정을 잠금하여 인증 요청에 응답하는 리소스 낭비를 차단하고 대입 공격으로 인한 비밀번호 노출 공격을 무력화하기 위함
보안 위협
  • 패스워드 탈취 공격(무작위 대입 공격, 사전 대입 공격, 추측 공격 등)의 인증 요청에 대해 설정된 패스워드와 일치 할 때까지 지속적으로 응답하여 해당 계정의 패스워드가 유출 될 수 있음
점검 대상
  • Linux : Rocky 9
판단 기준
  • 양호 : 계정 잠금 임계값이 10회 이하의 값으로 설정되어 있는 경우
  • 취약 : 계정 잠금 임계값이 설정되어 있지 않거나, 10회 이하의 값으로 설정되지 않은 경우
조치 방법
  1. 계정 잠금 임계값 설정 파일 확인
    [root@rocky9u2 ~]# cat /etc/security/faillock.conf | grep -v "^#"
    deny = 5 fail_interval = 900 unlock_time = 600
    • deny = 5
      – 이 설정은 지정된 횟수(5)의 실패한 로그인 시도가 있을 때 해당 계정을 잠금 상태로 전환합니다.
    • fail_interval = 900
      – 사용자 계정 잠금을 위해 연속적인 인증 실패가 발생해야 하는 간격의 길이는 900초입니다. 기본값은 900초(15분)입니다. 이 시간이 지나야만 새로운 실패한 시도가 계산됩니다.
    • unlock_time = 600
      – 계정이 잠긴 후 얼마 동안 잠금 상태를 유지(600초)할지를 설정합니다. 기본값은 600초(10분)입니다.
      – unlock_time = never: faillock 명령으로 재설정하지 않으면 계정 잠금이 영구적으로 유지되도록 설정합니다.
      – unlock_time = 0: never값과 동일
       
  2. 일반 사용자 계정 중에 잠긴 계정이 있는지 확인
    • “/etc/shadow” 파일의 두 번째 필드가 “!”로 시작하면 해당 사용자 계정은 잠겨 있는 것입니다.
    • 시나리오: “archer” 계정이 잠겨 있으며, 필요 시에 수동으로 잠금을 해제하는 절차
      [root@rocky9u2 ~]# awk -F: '{if ($2 ~ /^!\$/) print $1}' /etc/shadow
      archer
      [root@rocky9u2 ~]# passwd -u archer
      Unlocking password for user archer. passwd: Success
◁ 패스워드 복잡성 설정 | root UID 및 동일 UID 여부 점검 ▷