패스워드 유효기간 점검

패스워드 사용 기간 등의 유효성 설정은 사용자가 안전하고 강력한 패스워드를 생성하고 유지하는 데 중요한 도구입니다. 패스워드의 최소/최대 사용 기간, 만료 전 경고 기간이 설정되어 있는지 체크합니다.

점검 내용
  • 시스템 정책에 패스워드 최대(90일 이하) 사용기간 설정이 적용되어 있는지 점검
  • 시스템 정책에 패스워드 최소 사용기간(1일 이상) 설정이 적용되어 있는지 점검
점검 목적
  • 패스워드 최대 사용 기간 설정이 적용되어 있는지 점검하여 시스템 정책에 서 사용자 계정의 장기간 패스워드 사용을 방지하고 있는지 확인하기 위함
  • 사용자가 자주 패스워드를 변경할 수 없도록 하고 관련 설정(최근 암호 기억)과 함께 시스템에 적용하여 패스워드 변경 전에 사용했던 패스워드를 재사용 할 수 없도록 방지하는지 확인하기 위함
보안 위협
  • 패스워드 최대 사용기간을 설정하지 않은 경우 비인가자의 각종 공격(무작 위 대입 공격, 사전 대입 공격 등)을 시도할 수 있는 기간 제한이 없으므로 공격자 입장에서는 장기적인 공격을 시행할 수 있어 시행한 기간에 비례하여 사용자 패스워드가 유출될 수 있는 확률이 증가함
  • 최소 사용기간이 설정되어 있지 않아 반복적으로 즉시 변경이 가능한 경우 이전 패스워드 기억 횟수를 설정하여도 반복적으로 즉시 변경하여 이전 패스워드로 설정이 가능함
점검 대상
  • Linux : Rocky 9
판단 기준
  • 양호 :
    – 패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있는 경우
    – 패스워드 최소 사용기간이 1일 이상 설정되어 있는 경우
  • 취약 :
    – 패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있지 않는 경우
    – 패스워드 최소 사용기간이 설정되어 있지 않는 경우
조치 방법
  1. 패스워드 정책 설정파일을 수정하여 패스워드 최대 사용기간(90일)과 최소 사용기간(1일)을 설정
    [root@rocky9u2 ~]# cat /etc/login.defs
    PASS_MAX_DAYS 90 PASS_MIN_DAYS 1
  2. 현재 등록된 일반 사용자의 패스워드 최소 사용기간과 최대 사용기간 확인 및 변경
    • “/etc/shadow” 파일에서 패스워드 최소 사용기간(네 번째 필드)과 최대 사용기간(다섯 번째 필드)을 확인할 수 있습니다.
    • [root@rocky9u2 ~]# vi check_validity.sh
      #!/bin/bash echo -e "User\tMin\tMax" USERS=`awk -F: '$1!="nobody"&&$3>=1000 {print $1}' /etc/passwd` for user in $USERS; do grep $user /etc/shadow | awk -F: '{print $1 "\t" $4 "\t" $5}' done
      [root@rocky9u2 ~]# . ./check_validity.sh
      User Min Max archer 0 99999
    • `chage` 명령어를 사용해서 패스워드 최소 사용기간과 최대 사용기간을 변경합니다.
    • [root@rocky9u2 ~]# chage -m 1 -M 90 archer [root@rocky9u2 ~]# . ./check_validity.sh
      User Min Max archer 1 90
◁ root UID 및 동일 UID 여부 점검 | 파일 및 디렉터리 관리 홈 ▷