본문 바로가기

Learning/└◆리눅스 서버 보안

리눅스 서버 보안 04_주요정보통신기반시설_패스워드

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 사이트를 참고하여 강력한 암호 클랙 시간 점검


[실습] 관리자 암호 복구 실습

_암호_복구_과정.hwp



[실습] GRUB 암호 설정

GRUB암호설정.hwp



(정리) 보안 정책 

패스워드(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로의 전환이 필요함.