취약점
첫째로, (1) 패스워드 복잡성 설정이 되어 있지 않은 사용자 계정 패스워드 존재 시
비인가자가 무작위 대입 또는 사전 대입 공격을 통해 패스워드를 획득할 수 있다.
둘 째,(2) 로그인 시도 임계값을 제한하지 않을 경우
무작위 대입 공격을 허용하게 되어 패스워드가 유출당할 수 있다.
따라서 시스템 정책에 관련 설정이 되어 있는지 점검하자!
보안조치 - (1) 패스워드 복잡성 설정
계정과 유사하지 않은 8자 이상의 영문, 숫자, 특수문자의 조합으로 암호 설정 및 패스워드 복잡성 옵션 설정
손볼 파일은 두 가지, /etc/pam.d/system-auth와 /etc/login.defs
각 각, 패스워드 정책과 패스워드 사용 기간 등을 설정할 수 있는 설정 파일이다.
■ 복잡성 추가
[root@localhost ~]# vi /etc/pam.d/system-auth
...
password requisite pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
...
*retry=3 변경 도중 3번 틀리면 실패 처리
*llcredit(소문자), ucredit(대문자), dcredit(숫자), ocredit(특수문자)
*-1은 최소 하나를 사용해야 한다는 의미
*결과적으로 전체 길이는 8이고 대소문자, 숫자, 특수문자를 적어도 하나씩은 포함해야 하는 정책
■ 패스워드 최대/최소 사용 기간을 지정
[root@localhost ~]# vi /etc/login.defs
# Password aging controls:
...
PASS_MAX_DAYS 60
PASS_MIN_DAYS 1
PASS_MIN_LEN 5
PASS_WARN_AGE 7
...
*최대 사용 기간은 60일, 최소 사용 기간은 1일, 만료 전 알림은 D-7
결과
설정 전

설정 후


암호 복잡도 정책에 의해 쉽사리 패스워드가 변경되지 않고
계정을 추가 생성 시 사용 기간도 최소 1일, 최대 60일로 잘 적용되고 있음을 알 수 있다!
보안조치 - (2) 계정 잠금 임계값 설정
로그인 시도 횟수를 제한해보자
수정해야 할 파일은 /etc/pam.d/system-auth
■ 로그인 시도 횟수를 설정
다음 설정 2가지를 추가 및 수정하자!
[root@localhost ~]# vi /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run
...
auth required pam_tally2.so deny=5 unlock_time=120 no_magic_root
...
...
account required pam_tally2.so
...
*unlock_time=120 : 5회 초과로 잠겼을 경우, 120초 이후에 잠금 해제
*no_magic_root : 루트 계정에게는 마법(?)이 효력 없음
결과
재시도 5번이 발생하면 즉, 6번째에서 잠김이 발생!

마무리
아무리 강력한 패스워드를 설정한다 한들, 무차별 대입 공격에 뚫릴 수 있다.
따라서 패스워드 정책도 까다롭게! 대입공격 차단도 철저하게!
참조
'리눅스 > 계정관리' 카테고리의 다른 글
[CentOS 7] root 계정 su 제한 (0) | 2020.12.30 |
---|---|
[CentOS 7] UID,GID와 관련한 보안 (0) | 2020.12.30 |
[CentOS 7] 패스워드 파일 보호 (0) | 2020.12.30 |
[CentOS 7] root 계정 원격 접속 제한 (0) | 2020.12.25 |
개요 (0) | 2020.12.25 |