본문 바로가기

리눅스

[리눅스][보안취약점] 패스워드 복잡성 설정

728x90

[보안취약점] 패스워드 복잡성 설정

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

판단 기준 : 패스워드 최소 길이 8자리 이상, 영문, 숫자,특수문자 최소 입력 기능이 설정된 경우

패스워드 관리 방법

1. 영문, 숫자, 특수문자를 조합하여 계정명과 상이한 8자 이상의 패스워드 설정

* 다음 각 목의 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성

가. 영문 대문자(26개)

나. 영문 소문자(26개)

다. 숫자(10개)

라. 특수문자(32개)

2. 시스템마다 상이한 패스워드 사용

3. 패스워드를 기록해 놓을 경우 변형하여 기록

점검 및 조치 방법

* 각 변수에 대한 설명 / 각 항목에서 -1 값은 반드시 해당하는 문자를 포함시켜야 함.

권장 값 기능 설명
lcredit = -1 최소 소문자 요구 최소 소문자 1자 이상 요구
ucredit = -1 최소 대문자 요구 최소 대문자 1자 이상 요구
dcredit = -1 최소 숫자 요구 최소 숫자 1자 이상 요구
ocredit = -1 최소 특수문자 요구 최소 특수문자 1자 이상 요구
minlen = 8 최소 패스워드 길이 설정 최소 8자리 이상 설정
difok=N 기존 패스워드와 비교 기본값 10(10%)

system-auth 설정

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

vim /etc/pam.d/system-auth
###기존 설정
#password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=

###설정 편집
password    requisite     pam_pwquality.so try_first_pass enforce_for_root retry=3 authtok_type=
password    requisite     pam_cracklib.so try_first_pass restry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok

- retry=3 : 패스워드 입력 실패 시 재시도 횟수
- minlen=8 : 최소 8자리 이상
- lcredit=-1 : 소문자 최소 1자 이상

- ucredit=-1 : 대문자 최소 1자 이상
- dcredit=-1 : 숫자 최소 1자 이상
- ocredit=-1 : 특수문자 최소 1자 이상

728x90

pwquality.conf 파일

$ cat /etc/security/pwquality.conf
# Configuration for systemwide password quality limits
# Defaults:
#
# Number of characters in the new password that must not be present in the
# old password.
# difok = 5
#
# Minimum acceptable size for the new password (plus one if
# credits are not disabled which is the default). (See pam_cracklib manual.)
# Cannot be set to lower value than 6.
# minlen = 9
#
# The maximum credit for having digits in the new password. If less than 0
# it is the minimum number of digits in the new password.
# dcredit = 1
#
# The maximum credit for having uppercase characters in the new password.
# If less than 0 it is the minimum number of uppercase characters in the new
# password.
# ucredit = 1
#
# The maximum credit for having lowercase characters in the new password.
# If less than 0 it is the minimum number of lowercase characters in the new
# password.
# lcredit = 1
#
# The maximum credit for having other characters in the new password.
# If less than 0 it is the minimum number of other characters in the new
# password.
# ocredit = 1
#
# The minimum number of required classes of characters for the new
# password (digits, uppercase, lowercase, others).
# minclass = 0
#
# The maximum number of allowed consecutive same characters in the new password.
# The check is disabled if the value is 0.
# maxrepeat = 0
#
# The maximum number of allowed consecutive characters of the same class in the
# new password.
# The check is disabled if the value is 0.
# maxclassrepeat = 0
#
# Whether to check for the words from the passwd entry GECOS string of the user.
# The check is enabled if the value is not 0.
# gecoscheck = 0
#
# Path to the cracklib dictionaries. Default is to use the cracklib default.
# dictpath =

authconfig 명령

authconfig --passminlen=9 --passminclass=3 --passmaxrepeat=2 -passmaxclassrepeat=2 --enablerequpper --enablereqother --update

--passminlen : 최소 길이
--passminclass : 사용해야 하는 다른 유형의 문자의 최소 수
--passmaxrepeat : 문자가 연속적으로 반복될 수 있는 횟수
--passmaxclassrepeat : 동일한 유형의 문자(예: 숫자)를 한 행에서 사용할 수 있는 횟수
--enablerequpper : 대문자
--enablereqlower : 소문자
--enablereqdigit : 숫자
--enablereqother : 특수문자

변경 내용 확인

/etc/security/pwquality.conf에서 확인

$ cat /etc/security/pwquality.conf
...
# Path to the cracklib dictionaries. Default is to use the cracklib default.
# dictpath =
minlen = 8
minclass = 3
maxrepeat = 0
maxclassrepeat = 0
lcredit = 0
ucredit = -1
dcredit = -1
ocredit = -1

주요정보통신기반시설_기술적_취약점_분석ㆍ평가_방법_상세가이드.pdf
18.66MB

 

- 참고사이트

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system-level_authentication_guide/authconfig-pwd

https://www.krcert.or.kr/data/guideView.do?bulletin_writing_sequence=35988 

 

728x90