본문 바로가기
Linux

[Linux] 보안 취약점 점검 가이드 - 계정관리

by 오송나라 2024. 4. 16.
728x90
SMALL
안녕하세요. 오송입니다.

 

오늘은 간단하게 Linux 보안 취약점 중 계정관리 부분의 조치사항 조치방법에 대해 알아보겠습니다.

 

천천히 따라오시면서 모르는 부분이 있으시면, 댓글 달아주시면 됩니다.


1. 계정 관리

1.1 root 계정 원격 접속 제한

  • 각종 공격(무작위 대입 공격, 사전 대입 공격 등)을 통해 root 원격 접속 차단이 적용되지 않은 시스템의 root 계정 정보를 비인가자가 획득할 경우 시스템 계정 정보 유출, 파일 및 디렉터리 변조 등의 행위 침해사고가 발생할 수 있다.
진단기준
양호 원격 터미널 서비스를 사용하지 않거나, 사용 시 root 직접 접속을 차단 한 경우
취약 원격 터미널 서비스 사용 시 root 직접 접속을 허용한 경우

1.1.1 진단방법

# Telnet
/etc/securetty 파일에 pts/0 ~ pts/x 관련 설정이 존재하는지 확인
cat /etc/securetty

## tty(teminal-teletype) -> 서버와 연결된 모니터, 키보드 등을 통해 사용자가 콘솔로 직접 로그인함
## pts(pseudo-terminal, 가상터미널) : Telnet, SSH, 터미널 등을 이용하여 접속함

# SSH
/etc/ssh/sshd_config 파일에서 Root 로그인 설정 확인
cat /etc/ssh/sshd_config | grep PemitRootLogin

1.1.2 조치방법

# Telnet
/etc/securetty 파일에서 pts/0 ~ pts/x 설정 제거 또는 주석 처리

# SSH
vi 편집기를 이용해 /etc/ssh/sshd_config 파일 오픈 후
vi /etc/ssh/sshd_config
PermitRootLogin 찾아서 no로 변경

1.2 패스워드 복잡성 설정

  • 패스워드 복잡성 설정이 되어 있지 않은 사용자 계정 패스워드 존재 시 비인가자가 각종 공격(무작위 대입 공격, ㅅ ㅏ전 대입 공격 등)을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 획득한 사용자 계정 정보를 통해 해당 사용자 계정의 시스템에 접근할 수 있는 위험이 존재한다.
진단기준
양호 영문, 숫자, 특수문자를 조합하여 2종류 조합 시 10자리 이상, 3종류 이상 조합 시 8자리 이상의 패스워드가 설정된 경우(공공기관 9자리 이상)
취약 영문, 숫자, 특수문자를 조합하지 않거나 2종류 조합 시 10자리 미만, 3종류 이상 조합 시 8자리 미만의 패스워드가 설정된 경우(공공기관 9자리 미만)

1.2.1 진단방법

# Debian 계열
/etc/pam.d/common-password 파일 또는 /etc/security/pwquality.conf 파일 설정 내용 확인

# EHEL 계열
/etc/pam.d/system-auth 파일 또는 /etc/security/pwquality.conf 파일 설정 내용 확인

1.2.2 조치 방법

# Debian 계열
/etc/pam.d/common-password 또는 /etc/security/pwquality.conf 파일 편집

*********************************
password requisite
pam_pwquality.so enforce_for_root
retry=3 minlen=8 dcredit=-1
ucredit=-1 lcredit=-1 ocredit=-1
*********************************

# RHEL 계열
/etc/pam.d/system-auth 또는 /etc/security/pwquality.conf 파일 편집

*********************************
password requisite
pam_pwquality.so try_first_pass
local_users_only enforce_for_root
retry=3 authtok_type= minlen=8
dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
*********************************

1.2.3 추가 내용

lcredit=-1 (최소 소문자 요구)
ucredit=-1 (최소 대문자 요구)
dcredit=-1 (최소 숫자 요구)
ocredit=-1 (최소 특수문자 요구)
minlen=8 (최소 8자리 이상)
enforce_for_root (root 계정의 경우에도 정책 적용)

1.3 계정 잠금 임계값 설정

  • 로그인 실패 임계값이 설정ㄷ외어 있지 않을 경우 반복되는 로그인 시도에 대한 차단이 이루어지지 않아 각종 공격(무작위 대입 공격, 사전 대입 공격, 추측 공격 등)에 취약하여 비인가자에게 사용자 계정 패스워드를 유출 당할 수 있다.
진단 기준
양호 계정 잠금 임계값이 5이하의 값으로 설정되어 있는 경우
취약 계정 잠금 임계값이 설정되어 있지 않거나, 5 이하의 값으로 설정되어 있지 않은 경우

1.3.1 진단방법

# Debian 계열
/etc/pam.d/common-auth 파일에서 임계값 설정 확인

# RHEL 계열
/etc/pam.d/password-auth 파일에서 임계값 설정 확인

1.3.2 조치방법

# Debian 계열
/etc/pam.d/common-auth 파일 내 설정 값을 변경

*********************************
auth required pam_tall2.so deny=5 no_magic_root (첫 번째 단락 2번째 줄)
*********************************

# RHEL 계열
/etc/pam.d/system-auth 파일 내 설정 값을 변경
*********************************
auth required pam_tall2.so deny=5 no_magic_root (첫 번째 단락 2번째 줄)
*********************************

/etc/pam.d/password-auth 파일 내 설정 값을 변경
*********************************
account required pam_tall2.so deny=5 no_magic_root (두 번째 단락 2번째 줄)
*********************************

1.3.3 추가 내용

  • RHEL 계열 경우 /etc/pam.d/system-auth 파일은 Console 접근, password-auth 파일은 SSH 접근 시 영향 받으므로 2가지 파일 모두 설정 해야함.

1.4 패스워드 최대 사용 기간 설정

  • 패스워드 최대 사용기간을 설정하지 않은 경우 비인가자의 각종 공격(무작위 대입 공격, 사전 대업 공격 등)을 시도할 수 있는 기간 제한이 없으므로 공격자 입장에서는 장기적인 공격을 시행할 수 있어 시행한 기간에 비례하여 사용자 패스워드가 유출될 수 있는 확률이 증가한다.
진단 기준
양호 패스워드의 최대 사용기간이 90일 이내로 설정되어 있는 경우
취약 패스워드의최대 사용기간이 없거나, 90일 이내로 설정되어 있지 않은 경우

1.4.1 진단방법

/etc/login.defs 파일에서 패스워드 최대 사용 기간의 설정 값 확인
cat /etc/login.defs | grep PASS_MAX_DAYS

1.4.2 조치방법

# User 생섯 지 적용
vi /etc/login.defs
*************************************
PASS_MAX_DAYS	90
*************************************

# 현재 User 최대 사용기간 적용
change -M 90 <계정명>

1.5 패스워드 파일 보호

  • 비인가자에 의해 사용자 계정 패스워드가 평문으로 저장된 파일이 유출될 경우 시스템 사용자 계정 패스워드가 노출될 수 있다.
진단 기준
양호 쉐도우 패스워드를 사용하거나, 패스워드를 암호화하여 저장하는 경우
취약 쉐도우 패스워드를 사용하지 않고, 패스워드를 암호화하여 저장하지 않는 경우

1.5.1 진단방법

/etc/shadow 파일 존재 확인
ls -l /etc/shadow

/etc/passwd 파일 내 두 번째 필드가 "x" 표시가 되어 있는지 확인
cat /etc/passwd

1.5.2 조치방법

# 쉐도우 패스워드정책 적용 방법
pwconv

# 일반 패스워드 정책 적용 방법
pwunconv

 


※ 참고문서

https://ssv.skill.or.kr/cloud-security/linux-security-vulnerability

728x90
LIST