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(50%) |
system-auth 설정
password requisite pam_pwquality.so try_first_pass retry=3 minlen=8 lcredit=1 ucredit=-1 dcredit=1 ocredit=1
- try_first_pass: 사용자가 처음 입력한 비밀번호를 먼저 시도합니다.
- retry=3: 비밀번호 입력 실패 시 세 번까지 재시도합니다.
- minlen=8: 비밀번호 최소 길이를 8자로 설정합니다.
- lcredit=1: 비밀번호에 소문자(알파벳 소문자)를 최소 1개 이상 포함해야 합니다.
- ucredit=-1: 대문자(알파벳 대문자)를 비밀번호에 포함할 필요는 없습니다.
- dcredit=1: 숫자(숫자)를 비밀번호에 최소 1개 이상 포함해야 합니다.
- ocredit=1: 특수 문자를 비밀번호에 최소 1개 이상 포함해야 합니다.
728x90
system-auth 설정 파일을 편집하여 설정
vim /etc/pam.d/system-auth
###기존 설정
#password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow
password required pam_deny.so
###설정 편집
password requisite pam_pwquality.so try_first_pass retry=3 minlen=8 lcredit=1 ucredit=-1 dcredit=1 ocredit=1
authconfig 명령어로 설정
authconfig 명령어가 없다면 authconfig 패키지를 설치합니다.
yum install -y authconfig
sudo authconfig --passminlen=8 --passminclass=3 --passmaxrepeat=2 --passmaxclassrepeat=2 --enablereqlower --enablereqdigit --enablereqother --update
- --passminlen=8: 패스워드의 최소 길이를 8로 설정합니다.
- --passminclass=3: 패스워드에 포함되어야 하는 최소 문자 클래스 수를 3으로 설정합니다. 문자 클래스는 대문자, 소문자, 숫자, 특수문자 등을 의미합니다.
- --passmaxrepeat=2: 패스워드에서 연속으로 반복 가능한 문자 또는 숫자의 최대 횟수를 2로 설정합니다.
- --passmaxclassrepeat=2: 패스워드에서 연속으로 반복 가능한 문자 클래스의 최대 횟수를 2로 설정합니다.
- --enablereqlower: 패스워드에 소문자가 필요함을 나타냅니다.
- --enablereqdigit: 패스워드에 숫자가 필요함을 나타냅니다.
- --enablereqother: 패스워드에 특수문자 등 다른 문자가 필요함을 나타냅니다.
- --update: 변경된 설정을 시스템에 적용합니다.
sudo authconfig --passminlen=8 --passcomplexity=digits+lower+others --passtries=3 --update
- --passminlen=8: 패스워드의 최소 길이를 8로 설정합니다.
- --passcomplexity=digits+lower+upper+others: 숫자, 소문자, 대문자, 특수문자가 각각 최소 1개 이상 포함되어야 함을 나타냅니다. --passtries=3: 패스워드 입력 실패 횟수에 대한 재시도 횟수를 3으로 설정합니다.
- --update: 변경된 설정을 시스템에 적용합니다.
변경된 내용 확인
cat /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 = 2
maxclassrepeat = 2
lcredit = -1
ucredit = 0
dcredit = -1
ocredit = -1
- 참고사이트
https://www.krcert.or.kr/data/guideView.do?bulletin_writing_sequence=35988
728x90
'리눅스' 카테고리의 다른 글
[리눅스] httpstat 웹 사이트 성능 확인 도구 (0) | 2022.03.23 |
---|---|
chage 명령어 (0) | 2022.03.23 |
[draft] 파일 브라우징과 HTTP 파일 업로드를 구성하는 방법 (0) | 2022.03.23 |
Simple HTTP File Upload Server (0) | 2022.03.22 |
[리눅스] openssl, keytool 명령을 사용하여 키 저장소 작성 (0) | 2022.03.18 |