콘텐츠로 이동

HV-06: 비밀번호 관리정책 설정

분류: Virtualization

중요도: 상


개요

점검 내용

로그인 계정에 대한 비밀번호 관리 정책 설정 여부 점검

점검 목적

로그인 계정 비밀번호에 대한 관리 정책 미흡으로 인한 계정 탈취를 방지하기 위함

보안 위협

가상화 시스템에 등록된 계정이 유추하기 쉬운 비밀번호 설정 등 미흡한 비밀번호 관리 정책이 적용되어 있으면 무차별 대입 공격을 통한 계정 탈취로 인한 공격자에게 가상화 시스템 침입 경로 제공 위험이 존재함

참고

정책 기준

  • 영문 숫자 특수문자 2개 조합 시 10자리 이상, 3개 조합 시 8자리 이상
  • 비밀번호 변경 기간 90일 이하

점검 대상 및 판단 기준

대상

VMware ESXi, vCenter, XenServer, KVM, Nutanix

판단 기준

✅ 양호: 로그인 계정 비밀번호 관리 정책이 적용된 경우

❌ 취약: 로그인 계정 비밀번호 관리 정책이 적용되지 않은 경우

조치 방법

로그인 계정 비밀번호를 관리 정책에 맞게 설정

조치 시 영향

일반적 경우 영향 없음

점검 및 조치 사례

VMware ESXi

Step 1) WEB 콘솔 페이지 접속

https://<VMware ESXi IP>

Step 2) 호스트 > 관리 > 시스템 > 고급 설정으로 이동

Step 3) Security.PasswordQualityControl 설정값 확인

[ Security.PasswordQualityControl 설정값 확인 ]

Step 4) min = N0, N1, N2, N3, N4 중 N3, N4의 값이 8 미만일 경우 [옵션 편집]을 클릭하여 아래와 같이 수정

[ 옵션 값 수정 ]

Step 5) Security.PasswordMaxDays 설정값 확인

[ 최대 암호 수명 값 확인 ]

Step 6) 90일 이하로 설정되어 있지 않은 경우 [옵션 편집]을 클릭하여 아래와 같이 수정

[ 최대 암호 수명 값 90 설정 ]

(예시) retry = M min = N0, N1, N2, N3, N4

  • M: 암호 변경 시, 조건을 불만족하는 암호 입력 시 다시 암호를 되묻는 횟수
  • N0: 문자 종류(대문자, 소문자, 숫자, 특수문자) 중 한 가지만 사용해 구성된 암호에 허용되는 최소 암호 글자 수
  • N1: 문자 종류(대문자, 소문자, 숫자, 특수문자) 중 두 가지를 사용해 구성된 암호에 허용되는 최소 비밀번호 길이
  • N2: 암호 문구 사용 시, 허용되는 최소 비밀번호 길이
  • N3: 문자 종류(대문자, 소문자, 숫자, 특수문자) 중 세 가지를 사용해 구성된 암호에 허용되는 최소 비밀번호 길이
  • N4: 문자 종류(대문자, 소문자, 숫자, 특수문자) 중 네 가지를 사용해 구성된 암호에 허용되는 최소 비밀번호 길이
  • disabled: 길이에 관계 없이 해당 종류의 암호를 사용하지 않음
  • 참고: 암호의 첫 문자로 사용되는 대문자와 마지막 문자로 사용되는 숫자는 문자 종류의 수로 포함되지 않음

VMware vCenter

  1. vSphere Client 접속 후, 다음 메뉴에 접근하여 확인(vSphere Client 버전에 따라, 메뉴 명칭은 달라질 수 있음)
  2. (vCenter6.5) "관리" > "Single Sign On" > "구성" > "Policies" > "암호 정책" > 비밀번호 정책 확인
  3. (vCenter8) "관리" > "Single Sign On" > "구성" > "로컬 계정" > "암호 정책" > 비밀번호 정책 확인
  4. 비밀번호 정책 설정 적용

XenServer

  1. XenServer 접속 > Local Command Shell 실행
  2. 아래 명령어를 통해 비밀번호 설정 확인

    # cat /etc/login.defs | grep –i "PASS_MAX_DAYS“ 
    # cat /etc/login.defs | grep –i "PASS_MIN_DAYS“ 
    # cat /etc/login.defs | grep -i "PASS_MIN_LEN"
    
  3. 아래 명령어 적용

    # vi /etc/login.defs 
    PASS_MIN_LEN 8 
    PASS_MAX_DAYS 90 
    PASS_MIN_DAYS 7
    

KVM

[RHEL 8 이후 버전 기반 리눅스]

  1. 아래 경로 설정 파일 확인

/etc/security/faillock.conf /etc/security/pwquality.conf

  1. 비밀번호 정책 설정이 되어 있지 않으면 적용 설정

    비밀번호 정책 설정 예시(UNIX 기반)

    password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
    

Nutanix

Step 1) Controller VM에 접속하여 비밀번호 최소 사용 기간 확인

sudo cat /etc/login.defs | grep –v "^#" | grep "PASS_MAX_DAYS"

Step 2) Controller VM에 접속하여 비밀번호 최소 사용 기간을 90일로 설정

sudo vi /srv/salt/security/CVM/pamCVM.sls 
passmaxdays: 
  file: 
    - replace 
    - name: /etc/login.defs 
    - pattern: ‘^PASS_MAX_DAYS.*’ 
    - repl: ‘PASS_MAX_DAYS 90’

Step 3) 변경된 설정을 /etc/login.defs 파일에 적용

sudo salt-call state.sls security/CVM/pamCVM

Step 4) checkusergroupsCVM.sls 파일에서 admin, nutanix 계정의 비밀번호 최대 사용기간 설정 변경

sudo vi /srv/salt/security/CVM/checkusergroupsCVM.sls 
nutanix: 
  user: 
    - present 
    - shell: /bin/bash 
    - home: /home/nutanix 
    - uid: 1000 
    - gid_from_name: True 
    - mindays: 1 
    - maxdays: 92 

admin: 
  user: 
    - present 
    - shell: /bin/bash 
    - home: /home/admin
    - uid: 2000 
    - gid_from_name: True 
    - mindays: -1 
    - maxdays: 92

Step 5) 변경한 설정 적용

sudo salt-call state.sls security/CVM/checkusergroupsCVM

Step 6) Controller VM에 접속하여 비밀번호 최소길이 설정 확인

cat /etc/login.defs | grep -v "^#" | grep "PASS_MIN_LEN“

Step 7) 비밀번호 최소 길이를 8자리 이상으로 변경

sudo vi /srv/salt/security/CVM/pamCVM.sls 
passminlendef: 
  file: 
    - replace 
    - name: /etc/login.defs 
    - pattern: '^PASS_MIN_LEN.*' 
    - repl: 'PASS_MIN_LEN 9' 
    - onlyif:

Step 8) 변경한 설정 적용

sudo salt-call state.sls security/CVM/pamCVM

참고

권고 사항

  • 영문, 숫자, 특수문자 2개 조합 시 10자리 이상, 3개 조합 시 8자리 이상 설정 권고
  • 비밀번호 최대 사용 기간을 90일(3개월) 이하로 설정할 것을 권고.
  • 비밀번호 최소 사용 기간을 7일(1주) 이상으로 설정할 것을 권고.