1.2 패스워드 복잡성 설정 ■ 점검 분류 항목: 계정 관리 ■ 세부 점검 항목: 패스워드 복잡성 설정 ■ 대상: 리눅스 ■ 위험도: 상 ■ 관련 코드: U-02 (1) 취약점 개요 ● 사용자 계정 및 일반 계정 모두 해당 암호를 유추하기 쉽게 설정할 경우 비인가자의 시스템 접근을 허용하게 하는 위험이 존재함 여러 문자를 혼합한 8자리 이상의 암호를 사용하게 하여 패스워드 복잡성을 높이면 비인가자에 의해 발생하는 침입 공격 발생률을 낮출 수 있음. (2) 판단기준 ● 양호: 영문 숫자 특수문자가 혼합된 자리 이상의 패스워드가 설정된 경우 ● 취약: 영문 숫자 특수문자 혼합되지 않은 자 미만의 패스워드가 설정된 경우 (3) 조치방법 ● 계정과 유사하지 않은 자 이상의 영문 숫자 특수문자의 조합으로 암호 설정 (4) 보안 설정 방법 <부적절한 패스워드 유형> ● 사전에 나오는 단어나 이들의 조합 ● 길이가 너무 짧거나 공백(NULL)인 패스워드 ● 키보드 자판의 일련의 나열 (예) abcd, qwert, etc ● 사용자 계정 정보에서 유추 가능한 단어들 (예) 지역명 부서명 계정명 사용자 이름의 이니셜 <패스워드 관리 방법> ● 영문, 숫자, 특수문자를 조합하여 계정명과 상이한 8자 이상의 패스워드 설정 ※ 다음 각 목의 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는, 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성 가. 영문 대문자(26개) 나. 영문 소문자(26개) 다. 숫자(10개) 라. 특수문자(32개) ● 시스템마다 상이한 패스워드 사용 ● 패스워드를 기록해 놓을 경우 변형하여 기록 ● 가급적 자주 패스워드를 변경할 것 (5) 조치시 영향 패스워드 변경 시 Web, Was, DB연동 구간에서 문제가 발생할 수 있으므로 연동 구간에 미칠 수 있는 영향을 고려하여 적용 필요 |
(고객에게 설명) Brute Force Attack, Directionary Attack
- 패스워드가 복잡하게 구성되지 않으면, 쉽게 로컬/원격에서 패스워드 크랙툴에 의해 공격 당한다. 따라서 복잡한 암호를 사용할 수 있도록 유도한다. 문자(대문자/소문자), 숫자, 특수 문자, 공백 문자를 섞어서 사용하도록 한다. => Brute Force Attack, Directionary Attack
- http://lastbit.com/pswcalc.asp 사이트를 참고하여 강력한 암호 클랙 시간 점검
[실습] 관리자 암호 복구 실습
[실습] GRUB 암호 설정
(정리) 보안 정책
패스워드(password) 관리 정책에 대한 경우
- 복잡한 암호를 사용해야 한다.(문자(대문자/소문자), 숫자, 특수문자, 공백문자)
- 암호의 최소 길이는 8글자 이상으로 한다.
- 관리자의 정책
(ㄱ) 암호를 정기적으로 변경하도록 유도(/etc/login.defs, chage CMD)
(ㄴ) 암호를 사용자가 변경할수 없도록 설정(# chmod u-s /usr/bin/passwd)
# ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 23K Aug 11 2010 /usr/bin/passwd* (4755)
# chmod u-s /usr/bin/passwd
# ls -l /usr/bin/passwd
# telnet localhost
user01 사용자로 로그인
$ passwd
-> 자신의 암호를 변경할 수 있는가?
$ exit
# passwd user01
-> 관리자가 user01 사용자의 암호 변경이 가능한가?
# chmod 4755 /usr/bin/passwd
# ls -l /usr/bin/passwd
1.3 계정 잠금 임계값 설정
■ 점검 분류 항목: 계정 관리
■ 세부 점검 항목: 계정 잠금 임계값 설정
■ 대상: 리눅스
■ 위험도: 상
■ 관련 코드: U-03
(1) 취약점 개요
● 침입자에 의한 패스워드 *무작위 대입 공격(Brute Force Attack)이나 패스워드 추측 공격(Password Guessing) 발생 시 암호입력 실패 횟수를 적정하게 제한함으로써 자동공격을 차단하고 공격 시간을 지체시켜 패스워드 유출 위험을 줄일 수 있음.
● 무작위 대입 공격(Brute Force Attack): 컴퓨터로 암호를 해독하기 위해 가능한 모든 키를 하나하나 추론해 보는 시도를 말함.
(2) 판단기준
● 양호: 계정 잠금 임계값이 5 이하의 값으로 설정되어 있는 경우
● 취약: 계정 잠금 임계값이 설정되어 있지 않거나, 5 이하의 값으로 설정되지 않은 경우
(3) 조치방법
● 계정 잠금 임계값을 5 이하로 설정
(4) 보안 설정 방법
# cat /etc/pam.d/system-auth
auth required /lib/security/pam_tally.so deny=5 unlock_time=120 no_magic_root
account required /lib/security/pam_tally.so no_magic_root reset
no_magic_root : root 사용자에게 패스워드 잠금 설정을 적용하지 않음
deny=5 : 5회 입력 실패시 패스워드 잠금
unlock_time : 계정 잠김 후 마지막 계정 실패 시간부터 설정된 시간이 지나면 자동 계정
잠김 해제(단위 : 초)
reset : 접속 시도 성공 시 실패한 횟수 초기화
(5) 조치시 영향
Trusted Mode로 전환 시 파일시스템 구조가 변경되어 운영 중인 서비스에 문제가 발생할 수 있으므로 충분한 테스트를 거친 후 Trusted Mode로의 전환이 필요함.
'Learning > └◆리눅스 서버 보안' 카테고리의 다른 글
01_/etc/pam.d/system-auth 보안설정 [pam.d 이해] (0) | 2017.02.19 |
---|---|
01_패스워드 최소 길이 설정_Password Aging (0) | 2017.02.17 |
리눅스 서버 보안 03_주요정보통신기반시설_계정관리 (0) | 2017.02.16 |
리눅스 서버 보안 02_ 리눅스 서버 점검 가이드 예제 (0) | 2017.02.16 |