패스워드 복잡성 설정

2022. 10. 6. 10:56Linux

반응형

다음은 리눅스 서버의 취약점 조치 방법에 대한 가이드 내용입니다.

 

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

1. 취약점 개요

 1) 점검 내용

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

 2) 점검 목적

  • 패스워드 복잡성 관련 정책이 설정되어 있는지 점검하여 비인가자의 공격(Brute-force Attack, Dictionary Attack 등)에 대비가 되어 있는지 확인하기 위함

 3) 보안 위협

  • 복잡성 설정이 되어 있지 않는 패스워드는 사회공학적인 유추가 가능할 수 있으며 암호화된 패스워드 해시값을 Brute-force Attack, Dictionary Attack 등으로 단시간에 패스워드 Crack이 가능함

 4) 판단 기준

  • 양호: 패스워드 최소길이 8자리 이상, 영문, 숫자, 특수문자, 최소 입력 기능이 설정된 경우
  • 취약: 패스워드 최소길이 8자리 미만, 영문, 숫자, 특수문자, 최소 입력 기능이 설정된 경우

 

※ 보안 솔루션의 경우 보안 기능 확인서 발급 시 아래의 조건을 만족해야 합니다.

패스워드 보안성 기준 유형
[ 보안기능 확인서 - 패스워드 보안성 기준 유형 ]

2. 내용

이 부분은 각 가이드 라인마다 비슷하지만 조금씩 내용이 다릅니다. 영문, 숫자, 특수문자를 조합하여 2종류 조합 시 10자리 이상, 3종류 이상 조합 시 8자리 이상의 패스워드를 설정해야 하고 공공기관은 9자리 이상을 설정해야 한다는 가이드라인도 있습니다. 저는 보안 솔루션을 다루는 회사에 근무하기 때문에 아래와 같이 설정합니다.

  • 숫자, 대문자(영문), 소문자(영문), 특수문자가 각 1개 이상 포함하여 9자리 이상의 패스워드를 사용한다.

3. 조치방안

  • CentOS 7.x 의 경우 /etc/security/pwquality.conf 파일을 수정하여 패스워드 복잡성을 설정합니다.
  • CentOS 6.X 에서는 /etc/pam.d/system-auth 파일을 수정하지만 CentOS 7.x 에서는 /etc/security/pwquality.conf  파일을 수정합니다.
  • pwquality.conf 파일 안에 주석으로 사용할 수 있는 옵션들과 이에 대한 설명이 자세하게 나와있습니다.
  • 최소 암호길이 9자리(minlen), 적어도 1개의 소문자(lcredit), 대문자(ucredit), 숫자(dcredit), 특수문자 사용(ocredit)한 설정은 아래와 같습니다.
  • /etc/security/pwquality.conf 설정은 아래 슬라이더 화면과 같이 설정해 주시면 됩니다.

 

01
[ pwquality.conf 설정 파일 수정 화면 ]

주의사항

  • 파일 수정 시  minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 이런 식으로 붙여서 쓰면 설정이 적용되지 않습니다.

4. 스크립트 예시

스크립트는 아래와 같이 작성 가능합니다.

#!/bin/bash

sed -i '/minlen=/d' /etc/security/pwquality.conf
sed -i '/lcredit=-1/d' /etc/security/pwquality.conf
sed -i '/ucredit=-1/d' /etc/security/pwquality.conf
sed -i '/dcredit=-1/d' /etc/security/pwquality.conf
sed -i '/ocredit=-1/d' /etc/security/pwquality.conf

cat >> /etc/security/pwquality.conf <<EOF
minlen=9
lcredit=-1
ucredit=-1
dcredit=-1
ocredit=-1
EOF

5. 취약점 관련 문서 참고 항목

  • U-02 [KISA] 패스워드 복잡성 설정
  • 보안기능 확인서 - 공통 보안요구사항 V3.0 R1 > 1.3 패스워드 등 민감정보 생성 및 안전성 검증
반응형

'Linux' 카테고리의 다른 글

[RHEL9] 시간 동기화  (0) 2022.10.12
[RHEL9] 네트워크 설정  (0) 2022.10.11
패스워드 파일 보호  (0) 2022.10.08
계정 잠금 임계값 설정  (0) 2022.10.07
root 계정 원격 접속 제한  (0) 2022.10.05