점검 필요성
- 비인가자가 각종 공격을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 획득한 사용자 계정 정보를 통해 해당 사용자 계정의 시스템에 접근할 수 있는 위험이 존재
- 비인가자의 공격(무작위 대입 공격, 사전 대입 공격 등)에 대비가 되어 있는지 확인하기 위함
점검
- 영문, 숫자, 특수문자를 조합하여 2종류 조합 시 10자리 이상, 3종류 이상 조합 시 8자리 이상의 패스워드가 설정 확인 (공공기관 9자리 이상)
1. SOLARIS
# /etc/default/passwd
HISTORY=10 이전 10개의 암호를 기억함
MINDIFF=4 이전 암호와 4자 이상 차이 요구
MINALPHA=1 최소 1자 이상 문자 요구
MINNONALPHA=1 숫자 또는 특수문자 1자 이상 요구
MINUPPER=1 최소 1자 이상 대문자 요구
MINLOWER=1 최소 1자 이상 소문자 요구
MAXREPEATS=0 0일 경우 문자 연속 사용이 불가
MINSPECIAL=1 최소 1자 이상 특수문자 요구
MINDIGIT=1 최소 1자 이상 숫자 요구
NAMECHECK=YES 아이디와 동일한 패스워드 사용 불가
2. LINUX - RHEL5
# /etc/pam.d/system-auth
lcredit=-1 소문자 최소 1자 이상 요구
ucredit=-1 최소 대문자 1자 이상 요구
dcredit=-1 최소 숫자 1자 이상 요구
ocredit=-1 최소 특수문자 1자 이상 요구
minlen=8 최소 8자리 이상 설정
difok=N 기존 패스워드와 비교
3. LINUX - RHEL7
# /etc/security/pwquality.conf
lcredit=-1 소문자 최소 1자 이상 요구
ucredit=-1 최소 대문자 1자 이상 요구
dcredit=-1 최소 숫자 1자 이상 요구
ocredit=-1 최소 특수문자 1자 이상 요구
minlen=8 최소 8자리 이상 설정
difok=N 기존 패스워드와 비교
4. AIX
# /etc/security/user
histexpire=26 동일한 패스워드 재사용 기간
histsize=10 이전 10개 패스워드 기억(사용불가)
maxrepeats=2 2개이상 동일문자 사용 금지
minalpha=2 2개 이상 알파벳 사용
minother=2 2개 이상 숫자, 특수문자 사용
mindiff=4 이전 패스워드와 4개까지 동일문자 사용
minlen=8 8자리 이상 패스워드 작성
5. HP-UX
# /etc/default/security
MIN_PASSWORD_LENGTH=8 최소 8자리 패스워드
PASSWORD_MIN_UPPER_CASE_CHARS=1 최소 1개의 대문자
PASSWORD_MIN_LOWER_CASE_CHARS=1 최소 1개의 소문자
PASSWORD_MIN_DIGIT_CHARS=1 최소 1개의 숫자
PASSWORD_MIN_SPECIAL_CHARS=1 최소 1개의 특수문자
Bash Shell Script 활용 (Linux)
일부 Code
#check file name
fname=" /etc/security/pwquality.conf"
checksum=0
#u02 info
cat << EOF
---------------------------------------------------------------------
[u-02 root 패스워드 복잡성 설정]
a. $fname file의 설정 확인
선택 1: (8자리 이상) 대문자, 소문자, 특수, 숫자 중 3종류 이상
선택 2: (10자리 이상) 대문자, 소문자, 특수, 숫자 중 2종류 이상
---------------------------------------------------------------------
EOF
echo -n "Password 복잡도 점검 선택 (1 or 2): "
read input
#선택 1
if [ $input -eq 1 ]; then
echo -e "\n<u-02 점검 결과>" >> $TL 2>&1
echo "선택 1: (8자리 이상) 대문자, 소문자, 특수, 숫자 중 3종류 이상" >> $TL 2>&1
comm="`grep minlen $fname | grep -e 8 -e 9 | grep -v '\#'`"
if [ "$comm" ]; then
((checksum+=5))
else
echo "[8자리 미만 미설정] minlen = 8" >> $TL 2>&1
fi
결과
https://www.kisa.or.kr/public/laws/laws3_View.jsp?cPage=1&mode=view&p_No=259&b_No=259&d_No=106&ST
'*Security > [ U ] 취약점 분석' 카테고리의 다른 글
[U - 04] 패스워드 파일 보호 (0) | 2022.02.11 |
---|---|
[U - 03a] 계정 잠금 임계값 설정 (가이드에 없는 내용) (0) | 2022.01.11 |
[U - 03] 계정 잠금 임계값 설정 (0) | 2021.12.31 |
[U - 01] root 계정 원격 접속 제한 (0) | 2021.12.19 |