기록하는 공부

[U-02 (상)] 1. 계정관리 > 1.2 패스워드 복잡성 설정 본문

정보보안/주요정보통신기반시설가이드

[U-02 (상)] 1. 계정관리 > 1.2 패스워드 복잡성 설정

SS_StudySteadily 2024. 1. 16. 22:49
728x90
반응형

 

 

1. 계정관리 > 1.2 패스워드 복잡성 설정

 

점검내용

 

시스템 정책에 사용자 계정(root 및 일반계정 모두 해당) 패스워드 복잡성 관련 설정이 되어 있는지 점검

 

 

점검목적

 

패스워드 복잡성 관련 정책이 설정되어 있는지 점검하여 비인가자의 공격(무 작위 대입 공격, 사전 대입 공격 등)에 대비가 되어 있는지 확인하기 위함

 

 

보안위협

 

복잡성 설정이 되어있지 않은 패스워드는 사회공학적인 유추가 가능할 수 있으며 암호화된 패스워드 해시값을 무작위 대입공격, 사전대입 공격 등으로 단시간에 패스워드 크렉이 가능함

 

 

참고

 

  • 패스워드 복잡성: 사용자 패스워드 설정 시 영문(대문자, 소문자), 숫자, 특수문자가 혼합된 일정 길이 이상으로 패스워드를 설정하는 방법

 

 

점검대상 및 판단기준

 

  • 대상 : SOLARIS, LINUX, AIX, HP-UX 등
  • 판단기준
    • 양호 : 패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정된 경우
    • 취약 : 패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정되지 않은 경우
  • 조치방법 : 계정과 유사하지 않은 8자 이상의 영문, 숫자, 특수문자의 조합으로 암호 설정 및 패스워드 복잡성 옵션 설정

 

 

점검 및 조치 사례

 

SOLARIS /etc/default/passwd
INUX - RHEL5 /etc/pam.d/system-auth
LINUX - RHEL7 /etc/security/pwquality.conf
AIX /etc/security/user
HP-UX /etc/default/security
OS별 점검 파일을 열어 패스워드 복잡도 관련 설정 확인 후 아래의 보안설정방법에 따라 설정을 변경함
(최소길이, 특수문자, 숫자 포함 등 설정)

 

 

■ SOLARIS, LINUX, AIX, HP-UX

 

< 부적절한 패스워드 유형 >

  • 1. 사전에 나오는 단어나 이들의 조합
  • 2. 길이가 너무 짧거나, NULL(공백)인 패스워
  • 3. 키보드 자판의 일련의 나열 (예) abcd, qwert, etc
  • 4. 사용자 계정 정보에서 유추 가능한 단어들
  • (예) 지역명, 부서명, 계정명, 사용자 이름의 이니셜, root, rootroot, root123, admin 등

 

< 패스워드 관리 방법 >

  • 1. 영문, 숫자, 특수문자를 조합하여 계정명과 상이한 8자 이상의 패스워드 설정
    • ※ 다음 각 목의 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는, 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성
      • 가. 영문 대문자(26개)
      • 나. 영문 소문자(26개)
      • 다. 숫자(10개)
      • 라. 특수문자(32개)
  • 2. 시스템마다 상이한 패스워드 사용
  • 3. 패스워드를 기록해 놓을 경우 변형하여 기록

 

< 패스워드 설정 파일 정리 >

  • SOLARIS [10 이상버젼]
    • Step 1) 패스워드 복잡성 설정
      #/etc/default/passwd 내용을 내부 정책에 맞도록 편집
    • ※ DIGIT이나 SPECIAL 이 설정되어 있을 경우 NONALPHA 설정 안 됨

 

  • LINUX - RHEL5
    • Step 1) 패스워드 복잡성 설정 파일 확인
      #/etc/pam.d/system-auth, /etc/login.defs 내용을 내부 정책에 맞도록 편집
    • Step 2) /etc/pam.d/system-auth 파일 설정
      ※ 다음 라인에 패스워드 정책을 설정함
    • vi /etc/pam.d/system-auth
      
      password requisite /lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 
      ucredit=-1 dcredit=-1 ocredit=-1

 

  • LINUX - RHEL7
    • Step 1) 패스워드 복잡성 설정 파일 확인
      #/etc/security/pwquality.conf 파일 수정
      ※ 다음 라인에 패스워드 정책을 설정함
    • vi /etc/security/pwquality.conf
      
      password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=-1 
      ucredit=-1 dcredit=-1 ocredit=-1
    • ※ 각 변수에 대한 설명 / 각 항목에서 -1 값은 반드시 해당하는 문자를 포함시켜야 함

 

  • AIX
    • Step 1) 패스워드 복잡성 설정 파일 확인
      #/etc/security/user 파일 내용을 내부 정책에 맞도록 설정

 

  • HP-UX
    • Step 1) 패스워드 복잡성 설정
      #/etc/default/security 내용을 내부 정책에 맞도록 편집

 

 

조치 시 영향

 

패스워드 변경 시 Web, WAS, DB연동 구간에서 문제가 발생할 수 있으므로 연 동 구간에 미칠 수 있는 영향을 고려하여 적용 필요

 

 

 

 


 

 

실습

 

대상

 

  • Ubuntu 22.04 기반의 웹 서버

 

 

파일 확인

 

  • /etc/pam.d/common-password 파일 확인
  • /etc/pam.d/common-auth 파일 확인
    • dcredit=-1, ocredit=-1, udredit=-1, lcredit=-1 라인 없음 ⇒ 취약

 

  • /etc/login.defs 파일 확인
    • 패스워드 최대 사용기간 및 최소사용 기간
    • PASS_MAX_DAYS 90 이상, PASS_MIN 1 미만, PASS_MIN_LEN 9 미만 설정 ⇒ 취약
cat /etc /login.defs

 

 

진단결과

 

취약 : 패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정되지 않은 경우

728x90
반응형